3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

terraformAdvent Calendar 2024

Day 6

MS Copilot にTerraformコードを書かせてみる

Posted at

フリーランスエンジニアのと申します。
現在は、株式会社ギブリー様でお仕事を頂いております。
ここ、4年程は、Kubernetes を活用したプロジェクトに携わらせて頂いております。

Copilot でTerrfaormコード生成

  1. 構成図をアップロードしてTerraformコードを書いてもらいます。
    tf_0.PNG

tf_1.png

Copilot へのプロンプト

添付の構成のTerraformコードをバージョン1.9.5、AzureRM バージョン4.10.0で書いて

tf_2.png

  1. モジュール化するようにプロンプトします。
このTerraformコードをモジュール化して

tf_3.png
tf_4.png

  1. 構成を文章で伝えてTerraformコードを書いてもらいます。
    Copilot へのプロンプト
フロントにApplication Gateway、バックエンドにAzure Kubernetes Cluster、データb-エスにAzure PostgreSQL Flexble Server構成のTerraformコードをバージョン1.9.5、AzureRM 4.10.0で書いて

tf_5.png
uploading...0

試してみた雑感

  • 構成図より、構成を文章で伝えたほうが良い場合もある。
     ⇒今回はApplication GatewayをLoadBalnacer、AKSをVMと認識していた。
  • 変数の設定などレビューをしっかり行う必要がある
  • トークン数が多くなる構成の場合は、最大トークン数を指定して指示する必要がありそう。
     ⇒最近は、出力トークン数も大幅に増えてはいるが。
  • AzureRM 4.0 からサブスクリプションIDを指定する必要があるので注意
terraform {
  required_version = ">= 1.9.5"
  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
      version = "4.10.0"
    }
  }
}

provider "azurerm" {
  features {}
  subscription_id = "00000000-xxxx-xxxx-xxxx-xxxxxxxxxxxx"  #追記
}
  • パスワードなどの取り扱いに注意が必要
  • 初回、terraform init 実行時には、リソースプロバイダーの登録が行われるので強い権限が必要です。
  • 今回は for_each を使うような箇所はなかったので、for_each を使うようなものも試せればと思います。
3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?