【Terraform】Route53を使用してALBにアクセスする

Terraform

 

Terraformを使ってRoute53にホストゾーンとレコードを作成してみます。

今回はALBをレコードに設定してアクセスできるようにします。

 

前提

 

  • ドメインを取得済み
    ⇒私の場合はお名前.comで取得しました
  • ALB+EC2をTerraformで構築済み(=本記事ではRoute53とお名前.comが対象)
    ALB+EC2の構築も知りたい方は下記の記事をご参考ください

 

ゴール

 

  • digコマンド
    1. NSレコードを引くと、AWSのNSが返ってくる
    2. Aレコードを引くと、ALBのIPアドレスが返ってくる
  • ドメインにブラウザからアクセスすると
    ALBのターゲットグループに設定されたEC2にインストールされたNginxの画面が表示される

 

Terraform

 

ここで使っているexample.comというドメインは例として挙げているだけなので
各々取得したドメインを使用してください

 

ホストゾーンの作成

 

aws_route53_zoneを使用してホストゾーンを作成します。

設定するのはホストゾーン名のみです

 

Aliasレコードを作成

 

aws_route53_recordAliasレコードを作成し、ALBにアクセスできるようにします

各パラメータについて表にまとめました

 

プロパティ 説明
zone_id レコードを作成するホストゾーンのID
name レコード名。今回は”example.com”を指定。
サブドメインなどでもいい。
type レコードタイプ。Aliasレコードを使用したいので”A”を指定。
alias Aliasレコードを使用したいときにこのブロックが必要
 name レコードに設定したいリソースのDNS名。
今回はaws_lb.alb.dns_nameを参照している
 zone_id レコードに設定したいリソースのホストゾーンID。
今回はaws_lb.alb.zone_idを参照している
 evaluate_target_health 指定したリソースが応答できるかどうかをRoute53に判断させるかどうか。
ALBの場合はターゲットグループに1つ以上の正常なターゲットが含まれていればDNSクエリに応答できると判断される。
参考はこちら

 

 

完成したコード

 

 

terraform plan & apply

 

 

5分ほど時間かかりました

 

NSレコードの変更(お名前ドットコム版)

 

ホストゾーンを作成しただけではネームサーバーがAWSに向いていません

ドメインを取得したレジストラにてNSレコードを変更してAWSに向くようにします

 

私はお名前.comを使用しているので、それを例にして設定していきます

 

(AWS)ホストゾーンに作成されたNSレコードを確認する

 

Route53で作成したホストゾーンを見てみましょう!

ホストゾーンと同じ名前のNSレコードとSOAレコードが1つずつ作成されます。

このうち、NSレコードに設定されている4つの値が必要なので、メモしておきます。

 

 

(お名前.com)NSレコードを変更する

 

お名前.comの管理画面にログインして、設定したいドメインをクリックします

 

 

ネームサーバーの変更」をクリック

 

 

ほかのネームサーバーを利用」を選択し

対象のドメイン名横のチェックボックスにチェックを入れて、

 

 

Route53に表示されていたNSレコードの4つの値を入力します

末尾の . (ドット) を含めると変更できないので、それを削除した値を入力します

 

 

入力した情報を確認し、あっていれば変更します

 

 

これで変更できました!

 

設定が反映されるまでに最大72時間かかるようなので、ご注意ください

 

動作確認

dig

 

digでNSレコードをひいてAWSのネームサーバが表示されればOK!

 

また、Aレコードを引くとAliasレコードとして登録したALBのIPが返ってきます

 

ブラウザ

 

WEBブラウザでexample.comへアクセスし、EC2のNginxの画面が表示されればOK!

※ALBにアクセスしたときと同じ画面が表示されればOKです。

 

 

参考

 

Terraform Registry
Values specific for geolocation alias records - Amazon Route 53
When you create geolocation alias records, you specify the following values.

コメント

タイトルとURLをコピーしました