Terraform für CIS einrichten

Terraform auf IBM Cloud® ermöglicht die vorhersehbare und konsistente Erstellung von IBM Cloud-Diensten, sodass Sie komplexe, mehrschichtige Cloud-Umgebungen nach den Prinzipien von Infrastructure as Code ( IaC ) schnell aufbauen können. Ähnlich wie bei der Verwendung der IBM Cloud-CLI oder der APIs und SDKs können Sie die Erstellung, Aktualisierung und Löschung Ihrer IBM Cloud Internet Services-Instanzen mithilfe der HashiCorp Configuration Language (HCL) automatisieren.

Suchen Sie eine verwaltete Lösung für Terraform on IBM Cloud®? Probieren Sie IBM Cloud® Schematics aus. Mit Schematics können Sie die Ihnen vertraute Skriptsprache Terraform nutzen, ohne sich um die Einrichtung und Wartung der Terraform-Befehlszeile und des IBM Cloud®-Provider-Plug-ins kümmern zu müssen. Schematics bietet zudem vordefinierte Terraform-Vorlagen, die Sie aus dem IBM Cloud®-Katalog installieren können.

Terraform installieren und Ressourcen für IBM Cloud Internet Services konfigurieren

Bevor Sie eine Autorisierung mit Terraform erstellen, müssen Sie die folgenden Voraussetzungen erfüllen:

  • Vergewissern Sie sich, dass Sie die erforderlichen Zugriffsrechte haben, um IBM Cloud Internet Services zu erstellen und damit zu arbeiten.
  • Installieren Sie die Terraform-CLI und konfigurieren Sie das IBM Cloud-Provider-Plugin für Terraform. Weitere Informationen finden Sie unter Erste Schritte mit Terraform auf IBM Cloud. Das Plug-in abstrahiert die IBM Cloud-APIs, die zur Ausführung dieser Aufgabe verwendet werden.
  • Erstellen Sie eine Terraform-Konfigurationsdatei mit dem Namen main.tf. Verwenden Sie diese Datei, um die Autorisierung zwischen den Services zu definieren, indem Sie Terraform-Code in HashiCorp Configuration Language (HCL) schreiben. Weitere Informationen finden Sie in der Terraform-Dokumentation.
  1. Suchen Sie in Ihrer Terraform-Konfigurationsdatei den Terraform-Code, mit dem Sie die CIS-Instanz erstellt haben.

  2. Erstellen Sie eine CIS Instanz, indem Sie das ibm_resource_instance Ressourcenargument in Ihrer main.tf Datei verwenden. Die CIS-Instanz im folgenden Beispiel trägt den Namen und test wurde mit dem Standard-Tarif erstellt. resource_group_id ist data.ibm_resource_group.group.id, und die Eigenschaft 'location' ist auf globalgesetzt.

    data "ibm_resource_group" "group" {
      name = "test"
    }
    resource "ibm_cis" "cis_instance" {
      name              = "test"
      plan              = "standard-next"
      resource_group_id = data.ibm_resource_group.group.id
      tags              = ["tag1", "tag2"]
      location          = "global"
      //User can increase timeouts
      timeouts {
        create = "15m"
        update = "15m"
        delete = "15m"
      }
    }
    

    Wenn Sie die resource_group_id nicht angeben, wird die Instanz CIS in der Standard-Ressourcengruppe erstellt. Die Website API_KEY muss über Berechtigungen für diese Gruppe verfügen.

    Wenn Sie von einem Plan zu einem anderen migrieren, wird die Änderung als Modifikation einer bestehenden Ressource betrachtet. Es wird nicht als Erstellung oder Löschung von Ressourcen betrachtet.

  3. Nachdem Sie Ihre Konfigurationsdatei erstellt haben, initialisieren Sie die Terraform-CLI. Weitere Informationen finden Sie unter Initialisieren des Arbeitsverzeichnisses.

    terraform init
    
  4. Stellen Sie die Ressourcen aus der Datei main.tf bereit. Weitere Informationen finden Sie unter Terraform-Workflow für die Bereitstellung von Infrastruktur.

    1. Führen Sie terraform plan aus, um einen Terraform-Ausführungsplan für die Vorschau der vorgeschlagenen Aktionen zu generieren.
       terraform plan
    
    1. Führen Sie terraform apply aus, um die Ressourcen zu erstellen, die im Plan definiert sind.
       terraform apply
    
  5. Wählen Sie aus der Ressourcenliste IBM Cloud die von Ihnen erstellte Instanz CIS aus und notieren Sie sich die Instanz-ID.

  6. Überprüfen Sie, ob die Zugriffsrichtlinie erfolgreich zugeordnet wurde. Weitere Informationen finden Sie unter Zugewiesene Zugriffsberechtigungen in der Konsole überprüfen.

Weitere Schritte

Nachdem Sie nun Ihre erste CIS-Service-Instanz mit Terraform auf IBM Cloud erfolgreich erstellt haben, können Sie die Terraform-Registry unter CISCloud Internet Services (CIS) aufrufen, um weitere Aufgaben mit Terraform durchzuführen.