Open2
terraform
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
- バージョンの固定
Route53設定
ルートドメインのホストゾーンはTerraformで作成しない
- Route53の「登録済みドメイン」をTerraformで管理することはできない
- Terraformでルートドメインを定義した場合、定義したルートドメインに割り当てられるNSコード(ネームサーバ)のIPと、登録済みドメインのネームサーバが一致しなくなるので証明書のDNS認証などができなくなる
https://budougumi0617.github.io/2020/11/07/define_https_subdomain_by_terraform/#ルートドメインのホストゾーンはterraformで作成しないこと