VPC mit Terraform bereitstellen

Hier erfahren Sie, wie Sie mit Infrastructure Manager eine Virtual Private Cloud (VPC) bereitstellen.

In dieser Kurzanleitung wird eine Terraform-Konfiguration verwendet, die in einem öffentlichen GitHub-Repository gespeichert ist. Die Konfiguration definiert die bereitzustellende VPC.

Hinweise

  1. Sign in to your Google Account.

    If you don't already have one, sign up for a new account.

  2. Install the Google Cloud CLI.

  3. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  4. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  5. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Infrastructure Manager API:

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable config.googleapis.com
  8. Set up authentication:

    1. Ensure that you have the Create Service Accounts IAM role (roles/iam.serviceAccountCreator). Learn how to grant roles.
    2. Create the service account:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Replace SERVICE_ACCOUNT_NAME with a name for the service account.

    3. Grant the roles/config.agent IAM role to the service account:

      gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/config.agent

      Replace the following:

      • SERVICE_ACCOUNT_NAME: the name of the service account
      • PROJECT_ID: the project ID where you created the service account
  9. Install the Google Cloud CLI.

  10. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  11. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  12. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  13. Verify that billing is enabled for your Google Cloud project.

  14. Enable the Infrastructure Manager API:

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable config.googleapis.com
  15. Set up authentication:

    1. Ensure that you have the Create Service Accounts IAM role (roles/iam.serviceAccountCreator). Learn how to grant roles.
    2. Create the service account:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Replace SERVICE_ACCOUNT_NAME with a name for the service account.

    3. Grant the roles/config.agent IAM role to the service account:

      gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/config.agent

      Replace the following:

      • SERVICE_ACCOUNT_NAME: the name of the service account
      • PROJECT_ID: the project ID where you created the service account
  16. Berechtigungen für Ressourcen in der Konfiguration erteilen

    Sie haben die zum Ausführen von Infra Manager erforderlichen Berechtigungen erteilt. Sie müssen aber auch Berechtigungen erteilen, die für die Ressourcen spezifisch sind, die in der Konfiguration beschrieben sind, die Sie bereitstellen.

    Erteilen Sie Berechtigungen für die VPC, die die in der Terraform-Konfiguration definierte Ressource ist.

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
        --role=roles/compute.networkAdmin
    

    Ersetzen Sie Folgendes:

    • SERVICE_ACCOUNT_NAME ist der Name des Dienstkontos.
    • PROJECT_ID: Ihre Projekt-ID.

    Vorschau der Bereitstellung ansehen

    Bevor Sie eine Bereitstellung erstellen, können Sie eine Vorschau der Bereitstellung erstellen. Mithilfe dieser Vorschau können Sie die Ressourcen überprüfen, die bereitgestellt werden sollen.

    Im folgenden Befehl sind vier Werte angegeben, für die kein Standardwert festgelegt ist. Diese Werte sind: Ihre Projekt-ID, der Name des Dienstkontos, der Standort us-central1 und der Name quickstart-vpc für das Netzwerk, das Sie erstellen.

    Verwenden Sie den folgenden Befehl, um eine Vorschau zu erstellen:

        gcloud infra-manager previews create projects/PROJECT_ID/locations/us-central1/previews/quickstart-preview \
            --service-account projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
            --git-source-repo=https://github.com/terraform-google-modules/terraform-google-network \
            --git-source-directory=modules/vpc \
            --git-source-ref=main \
            --input-values=project_id=PROJECT_ID,network_name=quickstart-vpc
    

    Nachdem Sie eine Vorschau erstellt haben, können Sie die Vorschauergebnisse überprüfen. In diesem Schnellstart wird dieser Schritt übersprungen. Weitere Informationen finden Sie unter Vorschauergebnisse exportieren und ansehen.

    Deployment erstellen

    Erstellen Sie ein Deployment mit Infrastructure Manager. Das bedeutet, dass Infra Manager die Ressourcen bereitstellt, die in der Terraform-Konfiguration definiert sind.

    Die Konfiguration für diese Kurzanleitung hat vier Werte, die keinen Standardwert haben. Mit dem folgenden Befehl werden diese Werte hinzugefügt: Ihre Projekt-ID, der Name des Dienstkontos, der Standort us-central1 und der Name quickstart-vpc für das Netzwerk, das Sie erstellen.

    gcloud infra-manager deployments apply projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment \
        --service-account=projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
        --git-source-repo=https://github.com/terraform-google-modules/terraform-google-network \
        --git-source-directory=modules/vpc \
        --git-source-ref=main \
        --input-values=project_id=PROJECT_ID,network_name=quickstart-vpc
    

    Nach der Bereitstellung sehen Sie Folgendes:

    Creating the deployment...done
    

    Die VPC wurde jetzt wie in der Konfiguration beschrieben erstellt und konfiguriert.

    Build-Ergebnisse in Cloud Build ansehen

    Wenn Sie den Cloud Build-Job aufrufen möchten, mit dem Infra Manager die Bereitstellung erstellt hat, öffnen Sie in der Google Cloud Console die Seite Build-Verlauf:

    Zur Seite "Build-Verlauf"

    Status der Bereitstellung ansehen

    Nachdem die Bereitstellung abgeschlossen ist, können Sie die Beschreibung aufrufen, um Informationen dazu zu sehen, einschließlich des Status.

    Beschreibung der Bereitstellung ansehen:

    gcloud infra-manager deployments describe projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment
    

    Die Ausgabe enthält Details zum Deployment, einschließlich des Zeitstempels des Deployments, des Namens der letzten Version und des Status.

    Für den Bundesstaat wird ACTIVE angezeigt.

    Details zur bereitgestellten VPC ansehen

    Details zur bereitgestellten VPC ansehen:

    gcloud infra-manager resources list --revision=projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment/revisions/REVISION_ID
    

    Ersetzen Sie REVISION_ID durch die ID der letzten Überarbeitung. Diese ID ist r-0, sofern Sie die App nicht mehrmals bereitgestellt haben. Die ID der letzten Revision finden Sie in der Deployment-Beschreibung im vorherigen Abschnitt.

    VPC in der Konsole ansehen

    VPC in der Konsole ansehen:

    Zur Seite VPC-Netzwerke

    Sie sehen die VPC mit dem Namen quickstart-vpc. Dies ist die VPC, die von Infra Manager bereitgestellt wurde.

    Bereinigen

    Damit Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden, müssen Sie Ressourcen löschen, die Sie nicht mehr benötigen.

    VPC löschen

    Löschen Sie die VPC und die Metadaten zur Bereitstellung:

    gcloud infra-manager deployments delete projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment
    

    Optional: Projekt löschen

    Wenn Sie die Lösung in einem neuen Google Cloud -Projekt bereitgestellt haben und das Projekt nicht mehr benötigen, löschen Sie es mit den folgenden Schritten:

    1. Wechseln Sie in der Google Cloud -Console zur Seite Ressourcen verwalten.

      Zu „Ressourcen verwalten“

    2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie auf Löschen.
    3. Geben Sie an der Eingabeaufforderung die Projekt-ID ein und klicken Sie auf Beenden.

    Nächste Schritte