4 ポイント 投稿者 ironlung 2023-11-06 | まだコメントはありません。 | WhatsAppで共有
  • クラウドでインフラを構築する際は、コスト削減、デプロイ速度の向上、一貫性、安定性、再利用性を考慮し、Webコンソールで構築するよりもIaCツールを活用して構築するのがよい
  • オープンソースであり、IaCツールの中で最も多く使われているのがTerraform
  • Terraformのコードを効率的かつ効果的に書くには、Terraformで提供される機能を適切に使うことが重要
  • Terraformの反復処理
    • 一般的な宣言型言語には反復処理がないが、Terraformではさまざまな関数がサポートされており、反復処理を使うことができる
    • 代表的に使われる反復処理: count, for_each
      • countパラメータ: リソースとモジュールを反復
      • for_each式: リソース、リソース内のインラインブロック、モジュールを反復
    • 各反復処理の使い方
      • count: 作成しようとするリソースがほぼ同一で変更されないときに活用すると、素早く簡潔に作成できる
      • for_each: 固有の名前やデータを持つリソース、再作成されてはならないリソースに活用すると、安全に作成・変更できる
  • Count
    • countパラメータは整数を受け付け、リソース全体やモジュールを反復して作成する
    • countで構成すると、count.indexを活用してcountで生成したインデックスにアクセスできる
    • Countの制約事項
      • countはリソース全体を反復するが、リソース内にあるインラインブロックは反復しない
      • countで生成したリソースの途中の値を削除すると、その後ろのすべての値が削除された後に新しく生成される。最終結果は同じでも、再作成されてはならないリソースであれば問題が生じる可能性がある
  • For_each
    • for_each式はlist、set、mapを反復し、リソース全体、リソース内のインラインブロック、モジュールを反復して作成する
    • for_eachで構成すると、each.keyeach.valueを使って該当するキーと値にアクセスできる
    • リソースにfor_eachを使う場合、リストはサポートされない
    • collectionには反復するset、mapを定義し、Configでeach.valueを使ってCollectionに定義されたキーと値を取得できる

まだコメントはありません。

まだコメントはありません。