tamako8782 / MyTodoWebApplication_practice_on_AWS

0 stars 0 forks source link

Route53をterraformで実装してみる #2

Open tamako8782 opened 1 day ago

tamako8782 commented 1 day ago

基本的なホストゾーン追加→aレコード登録→webアクセスに使用できる までの手順

1. Terraformのセットアップ

まず、Terraformの設定ファイルを作成します。通常は、main.tfというファイルに設定を書きますが、用途によって複数のファイルに分けても構いません。

2. プロバイダーの設定

AWSを利用するために、TerraformのAWSプロバイダーを設定します。main.tfに以下の内容を追加します。

provider "aws" {
  region  = "us-east-1"  # 使用するリージョンを指定
  profile = "default"    # AWS CLIで設定したプロファイルを指定(任意)
}

3. Route 53 ホストゾーンの作成

自分のドメイン(例えばexample.com)をRoute 53に登録するために、ホストゾーンを作成します。

resource "aws_route53_zone" "example" {
  name = "example.com"
}

このコードは、example.comという名前のパブリックホストゾーンを作成します。

4. Aレコードの設定

次に、このホストゾーンに対してAレコードを設定します。このAレコードは、例えばEC2インスタンスやALBなどにドメイン名を関連付けます。

resource "aws_route53_record" "www" {
  zone_id = aws_route53_zone.example.zone_id
  name    = "www.example.com"
  type    = "A"
  ttl     = 300
  records = ["<EC2のパブリックIPアドレス>"]  # ここに割り当てたいIPを入力
}

5. Terraformの実行

設定が完了したら、Terraformを実行してリソースを作成します。以下のコマンドを順に実行します。

  1. 初期化(プロバイダなどの設定を準備)

    terraform init
  2. 実行計画の作成(変更内容の確認)

    terraform plan
  3. 適用(設定の実行)

    terraform apply

terraform applyを実行すると、ホストゾーンとAレコードがAWSに作成されます。

6. ドメインのネームサーバー設定

ホストゾーンを作成した後、AWSから4つのネームサーバー(NS)レコードが提供されます。これらをドメインのレジストラ(Name.comなど)に設定します。これにより、example.comにアクセスしたときにRoute 53がDNSを管理するようになります。

まとめ

これで独自ドメインをAWS Route 53にホストゾーンとして登録し、Aレコードを使ってアクセスできるようになります。何か追加の質問があれば教えてください。