Open2

terraform

bz0bz0

terraformで利用する認証情報の設定

$ aws configure --profile terra

terraformの初期設定

$ terraform init

定義内容のチェック

$ terraform plan

フォーマットを揃える
(-recursiveでサブディレクトリまでフォーマットを揃える)

$ terraform fmt -recursive
  • variable:変数の定義
  • type.name.attributeの形式で書くと他のリソース値を参照できる
    • 同じディレクトリの場合
    • 異なるディレクトリの場合はoutputに指定する
  • Module:設定の使い回しや共通化を図る
  • 組み込み関数
    • 外部ファイルの読み込み
  • リソース設定
    • resource "<リースの種類>" "<リソース名>"
  • ファイル分割とモジュール化、コンポーネント分割
    • 同じディレクトリに置いておけばtfファイルを全て自動的に読込
    • Module間の受け渡し:output
  • terraform設計・運用
    • バージョンの固定
      • terraform
      • プロバイダ
      • 「terraform -v」でバージョン確認
    • リソース削除抑制
      • prevent_destroy = true
    • コードフォーマット
      • terraform fmt
      • サブディレクトリ配下:terraform fmt -recursive
    • バリデーション
      • 変数に値がセットされてない・構文エラーに対応
      • terraform validate
bz0bz0

Route53設定
https://blog.linkode.co.jp/entry/2020/10/19/090000#Route-53-の設定

ルートドメインのホストゾーンはTerraformで作成しない

https://dev.classmethod.jp/articles/re-introduction-2020-route-53-hosted-zone/