Skip to content

keeee21/terraform-app

Repository files navigation

AWS Infrastructure with Terraform

このリポジトリは、Terraformを使用してAWS上にインフラストラクチャを構築するための設定ファイルを含んでいます。 以下の図は、このTerraform設定で作成されるインフラストラクチャの概要を示しています。

                  +-------------------------------------+
                  |               Route 53              |
                  +-------------------------------------+
                                    |
                                    |
                      +------------------------------+
                      |           ALB (ACM)          |
                      +------------------------------+
                                    |
                                    |
                             +--------------+
                             |     VPC      |
                             +--------------+
                                    |
                                    |
                  +-----------------+-----------------+
                  |                                   |
        +--------------------+            +----------------------+
        |    Public Subnet   |            |   Private Subnet     |
        | (Availability Zone)|            | (Availability Zone)  |
        +--------------------+            +----------------------+
                  |                                  |
        +--------------------+                       |
        |    EC2 Instance    |                       |
        |   (Web Server)     |                       |
        +--------------------+                       |
                                         +----------------------+
                                         |     RDS Instance     |
                                         |   (Database Server)  |
                                         +----------------------+

ファイル構成

このリポジトリには、以下のファイルが含まれています。

  • main.tf: Terraformのバージョンとプロバイダーの設定を定義します。
  • network.tf: VPC、サブネット、ルートテーブル、インターネットゲートウェイなどのネットワークリソースを定義します。
  • security_group.tf: Webサーバーとデータベース用のセキュリティグループを定義します。
  • variables.tf: Terraformで使用される変数を定義します。
  • terraform.tfvars: 変数の値を設定するファイルです。

インフラストラクチャの概要

このTerraform設定は、以下のリソースを作成します。

  1. VPC

    • 指定されたCIDRブロックを持つVPCを作成します。
  2. サブネット

    • パブリックサブネットとプライベートサブネットを作成します。
    • パブリックサブネットにはインターネットからのアクセスが可能です。
    • プライベートサブネットはインターネットから直接アクセスできません。
  3. ルートテーブル

    • パブリックサブネットとプライベートサブネット用のルートテーブルを作成します。
    • パブリックサブネットのルートテーブルには、インターネットゲートウェイへのルートが含まれます。
  4. インターネットゲートウェイ

    • VPCにインターネットゲートウェイを作成し、パブリックサブネットへのインターネットアクセスを可能にします。
  5. セキュリティグループ

    • Webサーバー用のセキュリティグループを作成し、HTTP、HTTPS、SSHのインバウンドトラフィックを許可します。
    • データベース用のセキュリティグループを作成し、Webサーバーからのみ3306ポートへのアクセスを許可します。

変数

variables.tfファイルには、設定で使用される変数が定義されています。terraform.tfvarsファイルで、これらの変数に値を割り当てることができます。

主な変数は以下の通りです。

  • profile: AWSプロファイル名
  • region: AWSリージョン
  • project: プロジェクト名
  • environment: 環境名
  • vpc_cidr: VPCのCIDRブロック
  • public_subnets: パブリックサブネットのマッピング
  • private_subnets: プライベートサブネットのマッピング
  • availability_zones: アベイラビリティゾーンのマッピング

使い方

  1. このリポジトリをクローンします。
  2. terraform.tfvarsファイルを作成し、変数に適切な値を設定します。
  3. terraform initコマンドを実行して、Terraformを初期化します。
  4. terraform planコマンドを実行して、実行計画を確認します。
  5. terraform applyコマンドを実行して、インフラストラクチャを作成します。

Terraformを使用してAWS上にVPC、サブネット、セキュリティグループなどのリソースを作成し、Webサーバーとデータベースのインフラストラクチャを構築することができます ※NSについては、自分でRoute53に移管する必要がある

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages