IBM Cloud Docs
Terraform を使用した Schematics の構成

Terraform を使用した Schematics の構成

IBM Cloud®の Terraformは、Infrastructure as Code IaCの原則に従って、複雑な多層クラウド環境を迅速に構築するために IBM Cloudの予測可能かつ一貫したプロビジョニングを可能にします。 同様に、Terraform を使用して、 IBM Cloud Schematics ワークスペースおよびアクション・インスタンスのプロビジョニング、更新、および削除を自動化できます。

IBM Cloud ソリューションでマネージド型 Terraform をお探しですか。 IBM Cloud Schematics をお試しください。 Schematicsと、使い慣れたTerraform言語を使用できますが、Terraformコマンドラインや IBM Cloud プロバイダプラグインの設定やメンテナンスについて心配する必要Schematicsでは IBM Cloudからインストールできる、あらかじめ定義済みのTerraformテンプレートも提供しています。

始める前に、IBM Cloud Schematics ワークスペースを作成してそれを使用するために必要なアクセス権限を持っていることを確認してください。

例 - Terraformを使用して Schematicsを作成する

Terraform を使用して Schematics ワークスペースを作成するには、以下の手順を実行します。

  1. IBM Cloud 入門チュートリアルの Terraform に従って Terraform CLI をインストールし、IBM Cloud Provider Plug-in for Terraform を構成します。 プラグインは IBM Cloud を抽象化します APIsSchematics リソースのプロビジョニング、更新、または削除に使用されます。

  2. main.tfterraform.tfvars、および versions.tf という名前の Terraform 構成ファイルを作成します。

    Terraform のサンプル Git URL https://github.com/IBM-Cloud/terraform-provider-ibm/tree/master/examples/ibm-api-gatewayを使用できます。 この例では、サービス・インスタンスを使用して任意の IBM Cloud サービスのために API をセットアップします。 サービスへのアクセスに使用する API エンドポイントを指定し、サブスクリプション・キーを定義して API を安全に取り込むことができます。

    us 以外の地域で作成されたワークスペースがある場合は、API エンドポイントをその地域に設定する必要があります。 例えば、指定されたリージョンが eu の場合、環境変数で API エンドポイントを IBMCLOUD_SCHEMATICS_API_ENDPOINT=https://eu.schematics.cloud.ibm.com に指定する必要があります。 Schematicsの場所と使用するエンドポイントに関する詳細は 、「私の情報はどこに保存されていますか?」 を参照してください。

    次に、お客様の地域の default リソースグループに Schematics tf-testwks-apigwy を作成します。 このワークスペースは、Terraform バージョン terraform_v1.5 を必要とする任意の Terraform テンプレートを指しています。

    versions.tf

    ワークスペースの作成に必要なプロバイダー・バージョンを指定する versions.tf ファイルのサンプル。

      terraform {
      required_version = ">=1.0.0, <2.0"
        required_providers {
          ibm = {
            source = "IBM-Cloud/ibm"
          }
        }
      }
    

    terraform.tfvars

    資格情報などの機密情報を保管する terraform.tfvars ファイルのサンプル。 詳しくは、terraform.tfvars ファイルからの資格情報の参照を参照してください。 API キーを作成するには、API キーの作成を参照してください。

    schematics_workspace_name="tf-testwks-apigwy"
    schematics_workspace_description="Sample workspace created with terraform with URL"
    schematics_workspace_type="terraform_v1.5"
    schematics_workspace_location="us-south"
    schematics_workspace_resource_group="default"
    ibmcloud_api_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    

    main.tf

    以下のサンプル main.tf ファイルを確認します。 このファイルは、Git URL を使用して terraform.tfvars ファイルから変数を呼び出し、IBM Cloud API キーを使用して Schematics ワークスペースを作成します。

    variable "schematics_workspace_name" {}
    variable "schematics_workspace_description" {}
    variable "schematics_workspace_type" {}
    variable "schematics_workspace_location" {}
    variable "schematics_workspace_resource_group" {}
    variable "ibmcloud_api_key" {}
    
    resource "ibm_schematics_workspace" "schematics_workspace_instance" {
    name = var.schematics_workspace_name
    description = var.schematics_workspace_description
    location = var.schematics_workspace_location
    resource_group = var.schematics_workspace_resource_group
    tags = ["sample"]
    template_env_settings = [
        { env1 = "val1" },
        { env2 = "val2" }
    ]
    template_type= var.schematics_workspace_type
    template_git_url = "https://github.com/IBM-Cloud/terraform-provider-ibm/tree/master/examples/ibm-api-gateway"
    }
    
    provider "ibm" {
    region           = "us-south"
    ibmcloud_api_key = var.ibmcloud_api_key
    }
    
    

    次の表は、Terraform を使用してサービス・インスタンスを作成して初期化するときにサポートされるパラメーターのリストです。 ワークスペースを作成するための詳細なパラメータに関する詳細については、 ibm_schematics_workspaceリソースをご覧ください。

    Terraform を使用した Schematics ワークスペースの作成でサポートされるパラメーター。
    パラメーター 説明
    description ワークスペースの説明。
    location Schematics ワークスペースを作成して Schematics アクションを実行するロケーション。
    resource_group ワークスペースをプロビジョンするリソース・グループの ID。
    name ワークスペースの名前。 名前は最大 128 文字の長さで、英数字、スペース、ダッシュ、およびアンダースコアーを含めることができます。 独自の Terraform テンプレート用のワークスペースを作成する場合は、Terraform テンプレートでセットアップするマイクロサービス・コンポーネントと、リソースをデプロイする IBM Cloud 環境を名前に含めることを検討してください。
    tags ワークスペースに関連付けられたタグのリスト。
    template_env_settings Terraform アクションの実行中に適用する環境変数のリスト。
    template_git_url リソースをプロビジョンするための構成の詳細がある Git リポジトリーの URL。
    template_type Schematics ワークスペースで適用する Terraform バージョンを指定します。
  3. Terraform CLI を初期設定します。

    terraform init
    

    Terraform の環境変数パスが設定されていない場合、command not found: terraform エラーが表示されます。 Terraform インストール済みディレクトリーへのパスを設定して、エラーを修正してください。

  4. Terraform 実行プランを作成します。 Terraform 実行プランは、アカウントで Schematics ワークスペースを作成するために実行する必要があるすべてのアクションを要約したものです。

    terraform plan
    
  5. Schematics 内に IBM Cloud ワークスペース・インスタンスと IAM アクセス・ポリシーを作成します。

    terraform apply
    

    terraform apply コマンドエラーのトラブルシューティングに関する詳細については、 Schematics 適用が失敗する根本原因の特定を参照してください

  6. Schematics ダッシュボードで、tf-testwks-apigwy ワークスペースが作成されたことを確認します。 そして、リソースは IBM Cloud Schematicsから提供されます。

  7. アクセス・ポリシーが正常に割り当てられていることを確認します。 詳細については、割り当てられたアクセス権限をコンソールで確認を参照してください。

次のステップ

Terraform on Schematics を使用して最初の IBM Cloud ワークスペースを正常に作成したので、以下のタスクから選択できます。

  • IBM Cloudで Terraformテンプレートを実行するための IBM Cloud Schematicsの作成方法について学びます。
  • IBM Cloud で Ansible playbooks を実行するには、 IBM Cloud Schematics アクション ・リソースをチェックアウトします。
  • IBM Cloud SchematicsされているTerraformリソースやデータソースの他のサポート対象について調べたり、例で使用されているTerraformリソースで使用できる他の引数や属性を確認したりすることができます。