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 ワークスペースを作成するには、以下の手順を実行します。
-
IBM Cloud 入門チュートリアルの Terraform に従って Terraform CLI をインストールし、IBM Cloud Provider Plug-in for Terraform を構成します。 プラグインは IBM Cloud を抽象化します
APIs
Schematics リソースのプロビジョニング、更新、または削除に使用されます。 -
main.tf
、terraform.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
リソースグループに Schematicstf-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 バージョンを指定します。 -
Terraform CLI を初期設定します。
terraform init
Terraform の環境変数パスが設定されていない場合、
command not found: terraform
エラーが表示されます。 Terraform インストール済みディレクトリーへのパスを設定して、エラーを修正してください。 -
Terraform 実行プランを作成します。 Terraform 実行プランは、アカウントで Schematics ワークスペースを作成するために実行する必要があるすべてのアクションを要約したものです。
terraform plan
-
Schematics 内に IBM Cloud ワークスペース・インスタンスと IAM アクセス・ポリシーを作成します。
terraform apply
terraform apply
コマンドエラーのトラブルシューティングに関する詳細については、 Schematics 適用が失敗する根本原因の特定を参照してください。 -
Schematics ダッシュボードで、
tf-testwks-apigwy
ワークスペースが作成されたことを確認します。 そして、リソースは IBM Cloud Schematicsから提供されます。 -
アクセス・ポリシーが正常に割り当てられていることを確認します。 詳細については、割り当てられたアクセス権限をコンソールで確認を参照してください。
次のステップ
Terraform on Schematics を使用して最初の IBM Cloud ワークスペースを正常に作成したので、以下のタスクから選択できます。
- IBM Cloudで Terraformテンプレートを実行するための IBM Cloud Schematicsの作成方法について学びます。
- IBM Cloud で
Ansible playbooks
を実行するには、 IBM Cloud Schematics アクション ・リソースをチェックアウトします。 - IBM Cloud SchematicsされているTerraformリソースやデータソースの他のサポート対象について調べたり、例で使用されているTerraformリソースで使用できる他の引数や属性を確認したりすることができます。