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.
-
Suchen Sie in Ihrer Terraform-Konfigurationsdatei den Terraform-Code, mit dem Sie die CIS-Instanz erstellt haben.
-
Erstellen Sie eine CIS Instanz, indem Sie das
ibm_resource_instanceRessourcenargument in Ihrermain.tfDatei verwenden. Die CIS-Instanz im folgenden Beispiel trägt den Namen undtestwurde mit dem Standard-Tarif erstellt.resource_group_idistdata.ibm_resource_group.group.id, und die Eigenschaft 'location' ist aufglobalgesetzt.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_idnicht angeben, wird die Instanz CIS in der Standard-Ressourcengruppe erstellt. Die WebsiteAPI_KEYmuss ü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.
-
Nachdem Sie Ihre Konfigurationsdatei erstellt haben, initialisieren Sie die Terraform-CLI. Weitere Informationen finden Sie unter Initialisieren des Arbeitsverzeichnisses.
terraform init -
Stellen Sie die Ressourcen aus der Datei
main.tfbereit. Weitere Informationen finden Sie unter Terraform-Workflow für die Bereitstellung von Infrastruktur.- Führen Sie
terraform planaus, um einen Terraform-Ausführungsplan für die Vorschau der vorgeschlagenen Aktionen zu generieren.
terraform plan- Führen Sie
terraform applyaus, um die Ressourcen zu erstellen, die im Plan definiert sind.
terraform apply - Führen Sie
-
Wählen Sie aus der Ressourcenliste IBM Cloud die von Ihnen erstellte Instanz CIS aus und notieren Sie sich die Instanz-ID.
-
Ü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.