Terraformを使用した中規模インフラ

ソース: https://github.com/antonbabenko/terraform-best-practices/tree/master/examples/medium-terraform

この例は、中規模インフラストラクチャのためのTerraform構成を整理するコード例で、次の内容を使用しています。

  • 2つのAWSアカウント

  • 2つの独立した環境(プロダクションとステージング、共有は一切なし)。各環境は異なるAWSアカウント内に存在する

  • 各環境は、Terraform Registryから取得した既製のインフラモジュール(ALB)の異なるバージョンを使用

  • 各環境は、ローカルディレクトリから取得される内部モジュールmodules/networkの同じバージョンを使用

  • インフラが論理的に分離されているプロジェクトに最適(AWSアカウントが分かれている場合)

  • AWSアカウント間で共有されるリソースを変更する必要がない場合に適している(一つの環境=一つのAWSアカウント=一つの状態ファイル)

  • 環境間での変更のオーケストレーションが不要な場合に適している

  • 環境ごとにインフラリソースが異なり、一般化できない場合に適している(例:ある環境またはリージョンに存在しないリソースがある場合)

プロジェクトが成長するにつれ、これらの環境を互いに最新の状態に保つことが難しくなります。繰り返し行われるタスクには、既製または内部のインフラモジュールの使用を検討してください。

Last updated