IBM Cloud Load Balancer 用の Terraform の設定
IBM Cloud® 上の Terraform は、 IBM Cloud サービスの予測可能で一貫性のあるプロビジョニングを可能にするため、Infrastructure as Code (IaC) の原則に従って複雑な多層クラウド環境を迅速に構築できます。 IBM Cloud CLI または API や SDK を使用する場合と同様、HashiCorp 構成言語 (HCL) を使用して、ロード・バランサー・インスタンスのプロビジョニング、更新、および削除を自動化できます。
管理対象の Terraform on IBM Cloud® ソリューションをお探しですか? IBM Cloud® Schematics をお試しください。 Schematicsでは、使い慣れた Terraform スクリプト言語を使用できますが、Terraform コマンド・ラインおよび IBM Cloud® プロバイダー・プラグインのセットアップと保守について心配する必要はありません。 Schematics には、 IBM Cloud® カタログから簡単にインストールできる事前定義の Terraform テンプレートも用意されています。
IBM Cloud Load Balancer 用の Terraform のインストールと他のリソースの構成
-
Terraform on IBM Cloud® 入門チュートリアルに従って、Terraform CLI をインストールして Terraform 用の IBM Cloud® Provider プラグインを構成します。 このプラグインは、IBM Cloud Load Balancer サービス・インスタンスとリソースをプロビジョン、更新、または削除するために使用される IBM Cloud® API を抽象化します。
-
main.tf
という名前の Terraform 構成ファイルを作成します。 このファイルでは、HashiCorp 構成言語 (HCL) を使用して、ロード・バランサーを作成し、そのインスタンスの ID およびアクセス管理 (IAM) でユーザーにアクセス・ポリシーを割り当てるための構成を追加します。 詳しくは、 Terraform の資料を参照してください。以下の例のロード・バランサー・インスタンスの名前は
test_lb_local_service
であり、ポート80
で使用可能です。 ローカル・ロード・バランサー・サービス・グループの ID はibm_lb_service_group.test_service_group.service_group_id
であり、ロード・バランサー・サービス・グループの重みづけは1
です。詳しくは、 ibm_lb_service の使用例を参照してください。
resource "ibm_lb_service" "test_lb_local_service" { port = 80 enabled = true service_group_id = ibm_lb_service_group.test_service_group.service_group_id weight = 1 health_check_type = "DNS" ip_address_id = ibm_compute_vm_instance.test_server.ip_address_id }
-
Terraform CLI を初期設定します。
terraform init
-
Terraform 実行プランを作成します。 Terraform 実行プランは、自分のアカウントにロード・バランサーを作成するために実行する必要のあるすべてのアクションを要約したものです。
terraform plan
-
IBM Cloud で、ロード・バランサー・インスタンスおよび IAM アクセス・ポリシーを作成します。
terraform apply
-
IBM Cloud リソース・リストから、作成したロード・バランサー・インスタンスを選択し、インスタンス ID をメモします。