TerraformによるIaC構築

AWSの手動構築で手動構築したAWSインフラをTerraformでコード化します。コード化の方法は、手動構築した環境を一度削除してTerraformで再構築する方法と、importブロックを使って既存リソースをTerraformの管理下に取り込む方法のどちらでも構いません。最終的に、Terraformでインフラを管理できる状態を目指します。

  • AWSインフラをTerraformコードで管理できる状態にする
  • 変数・モジュール・リモートバックエンドを活用した実務的な構成にする
  • terraform apply で環境が再現できる状態を実現する

1. 必須要件

AWS構成図の作成で作成したAWS構成図に含まれるすべてのリソースを、Terraformでコード化してください。以下の要件をすべて満たすこと。

1.1 Terraformの設計・運用

  • 変数(variables.tf)を活用し、環境名・インスタンスタイプ・CIDRブロックなどをハードコードしないこと
  • モジュールを最低1つ使用すること(例:ネットワークモジュール、ECSモジュールなど)
  • tfstateファイルをS3バックエンドで管理すること
  • terraform plan でエラーが発生しないこと

1.2 動作確認

  • terraform apply で環境が正しく構築されること
  • カスタムドメインにHTTPSでアクセスし、APIのレスポンスが正常に返ることを確認すること

2. 提出物

  • GitHubリポジトリのURL
  • mainブランチに最新のコードがマージされている状態にすること
  • README.mdに以下を記載すること
    • Terraformプロジェクトのディレクトリ構成
    • 使用しているモジュールの説明
    • terraform apply の実行手順
    • 環境の削除手順(terraform destroy

3. コード化の進め方

手動構築と同様に、段階的に進めることをおすすめします。一般的には、以下のような順番で進めるとスムーズです。実際にコード化するリソースは、AWS構成図の作成で作成したAWS構成図に従ってください。

  1. プロジェクトの初期設定providerbackend(S3)、variables.tf を作成する
  2. ネットワーク … ネットワーク関連のリソースをまとめてコード化する
  3. データベース … データベースをコード化し、Privateサブネットへの配置とセキュリティグループを設定する
  4. コンテナレジストリ … イメージの保管先をコード化する
  5. コンテナ実行環境 … タスク定義・サービスをコード化し、データベースやレジストリとの連携を設定する
  6. ロードバランサ … ターゲットグループ・リスナーをコード化し、コンテナサービスと紐づける
  7. ドメイン・証明書 … カスタムドメインとSSL証明書をコード化する
  8. スケーリング … オートスケーリングポリシーをコード化する

各ステップで terraform planterraform apply を実行し、リソースが正しく作成されることを確認してから次に進みましょう。

4. 参考講座

5. 目安期間

4週間

ポートフォリオ制作のフィードバックはスタンダードプラン以上でご利用いただけます。

プランのアップグレード