Route53 シリーズ 1. Amazon Route53を調べて、使用してみた。

2021.08.25

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、イムチェジョンです。
今回のブログではAmazon Route53について調べて実際にやってみようと思います。
内容が少し多いので、4つのブログに分けて作成いたします。

[ Route53 シリーズ ]
1. Route53を調べて、使用してみた。
2. Route53のヘルスチェックをやってみた
3. Route53ルーティングポリシー(1)- Simple / Weighted / Latency
4. Route53ルーティングポリシー(2)- Failover / Geolocation / Geoproximity / Multivalue answer

アジェンダ

  1. Route53とは?
  2. Route53を実際に使用してみた
  3. まとめ

1. Route53とは?

  • 高可用性と拡張性に優れたクラウドDNS(Domain Name System )ウェブサービス
  • Route53では、www.example.comのようなアドレスを192.0.2.1といったコンピュータ間の接続に使用する数字IPアドレスに変換する
  • IPv6にも完全に互換できる

2. Route53を実際に使用してみた

Route53とEC2

まず、EC2インスタンスを構築してインスタンスのパブリックIPをRoute53ドメインのレコードに追加してみましょう。そのため、EC2インスタンスを構築します。

EC2インスタンス構築は以下の設定で作成します。
AMI:Amazon Linux 2 AMI
インスタンスタイプ:t2.micro
セキュリティグループ:HTTP 80 マイIP
Tag:Name -> route-seuol
キーペア : 既存キーペア及び新しいキーペアの中で選択
リージョン:ap-northeast-2 (Seoul)

作成したEC2のパブリックIPに接続してみましょう。

EC2インスタンスのIPとAZを確認できます。

その後、Route53で管理するドメインのレコードにパブリックIPを追加します。今回は無料のドメインを使って進めます。
まず、新しいレコードを作成しましょう。

以下の設定で作成しました。
レコード名:ec2test.routetest.ml
レコードタイプ:A
値:13.125.230.107
他の設定はデフォルトにします。

作成をすると、レコードが追加されています。

レコード名でインターネット接続してみると、上で接続したパブリックIPと同じ結果が表示されます。

ターミナルでdig (レコード名)コマンドを実行し、ドメインの詳しく設定を確認してみましょう。

$ dig ec2test.routetest.ml
; <<>> DiG 9.10.6 <<>> ec2test.routetest.ml
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54934
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ec2test.routetest.ml.  IN  A

;; ANSWER SECTION:
ec2test.routetest.ml.  300  IN  A  13.125.230.107

;; Query time: 204 msec
;; SERVER: 1.214.68.2#53(1.214.68.2)
;; WHEN: Wed Aug 11 16:29:42 JST 2021
;; MSG SIZE  rcvd: 65

ここでANSWER SECTIONの部分を確認します。 レコード名とレコードタイプ、つながっているIP情報を確認できます。

;; ANSWER SECTION:
ec2test.routetest.ml.  300  IN  A  13.125.230.107

Route53とロードバランサー

次はロードバランサーをレコードに追加してみます。
まずはロードバランサーを作成します。

ロードバランサーの設定は以下のようにしました。
ロードバランサー名:route-elb
AZ:全部選択
セキュリティグループ:HTTP 80 マイIP
ターゲットグループ名:route-target
上で作成したEC2インスタンス(route-seuol)をターゲットグループに追加

追加でEC2インスタンス(route-seuol)のセキュリティグループのインバウンドにHTTP 80 (route-elbのセキュリティグループ)を追加し、インスタンスのヘルスチェックを確認します。

ロードバランサーのDNS名で接続をしてみると、成功的に結果が表示されます。

ロードバランサーの作成が終わったので、Route53のレコードにロードバランサーのDNS名を追加します。
以下の設定でレコードを追加します。
レコード名:loadbalancer.routetest.ml
レコードタイプ:CNAME
値:route-elb-*********.ap-northeast-2.elb.amazonaws.com
他の設定はデフォルトにします。

作成した新しいレコードが追加されました。

作成したレコードに接続してみると、上のロードバランサーで接続した時と同じ結果が表示されます。

ターミナルでドメインの情報を確認してみましょう。
レコードタイプをCNAME、値にロードバランサーのDNS名が入っているのを確認できます。

$ dig loadbalancer.routetest.ml
(省略)
;; ANSWER SECTION:
loadbalancer.routetest.ml. 300  IN  CNAME  route-elb-*********.ap-northeast-2.elb.amazonaws.com.
route-elb-*********.ap-northeast-2.elb.amazonaws.com. 60 IN A 52.79.103.127
route-elb-*********.ap-northeast-2.elb.amazonaws.com. 60 IN A 3.35.88.42
(省略)

3. まとめ

今回のブログではRoute53について調べて、実際にやってみました。
次のブログではRoute53のヘルスチェック機能をやってみましょう。