ACM、Route53、ALBの連携

ACMでSSL認証書を発給され、Route53とALBのリスナールールを利用してリクエストを処理できるWEBサーバを構築してみようと思います。
2021.07.20

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

こんにちは、クラスメソッドコリアのヌヌです。 今回はACM、Route53、ALBの連携についてお話しします。

はじめに

構築順番は下の通りです。

  1. ALBの作成 ー> 今回の主題
  2. ACM、Route53、ALBの連携 ー> 今回の主題
  3. ALB高級リクエストルーティング機能利用

準備

  • 2台のEC2(異なるAZの)とALB
  • Route53に登録するドメイン ー> 今回の主題

使用技術スタック

  • ACM
  • Route53
  • ALB(Application Load Balanacer)
  • EC2

事前準備

ドメイン取得

ACMを利用しるためには、まずドメインが必要です。Amazon Route53でドメイン購入ができますが、他のドメインサービスを利用して無料ドメインを取得できる方法もあります。

色々な無料ドメインを取得できるところはありますが、私は「freenom」というところを利用しました。他の無料ドメインサービスを利用しても構いません。

ドメインをRoute53に登録

Amazon Route53は可用性と拡張性に優れたDNSサービスです。Route53を使って取得したドメインを登録し、AWSの色んなサービスと連携できます。

無料で取得したドメインを登録するため、Route53でホストゾーンを作成してみましょう。

(コンソール画面: Route53 → ホストゾーン -> ホストゾーン作成)

ドメインと説明を書き、タイプはパブリックホストゾーンでホストゾーンの作成を完了します。

生成できたホストゾーンの内容を見ると4つの値があるNSレコードが確認できます。(NSはNameServerの略)

その値を以前のドメインを取得したサイトの管理ページで登録することでACMを利用する準備は終わりました。

ACMで認証書リクエスト

ACMは AWS Certificate ManagerはAWSが提供しているSSL/TLS認証書を生成・管理・デプロイできるサービスです。この認証書がなければHTTPS接続ができないです。

SSL/TLS証書を発給するためにはかなりの手数・費用がかかります。しかし、ACMを利用したら無料で簡単に認証書の発給ができます。

注意点

CloudFrontなどのサービスを利用するためには、us-east-1リージョンで発給された認証書しか使えません。しかし、今回はCloudFrontを使わないのでEC2と同じリージョンで認証書をリクエストします。

認証書リクエスト

(コンソール画面: Certificate Manager → 認証書のリクエスト → パブリック認証書のリクエスト選択)

取得したドメインを入力します。「*.freeget.ml」はサブドメインのことを意味します。

次に認証方法は「DNSの検証」を選んでください。選択事項のタグは好きなようにします。

設定が終わったら確認とリクエストをします。

リクエストを検討中の画面でドメインが書いてあるところ(赤)を押すと、Route53でCNAMEレコードを追加するための情報が出ます。「Route53でのレコードの作成」ボタンをクリックすると自動的にレコードが作成できます。

証書の発給までは遅ければ30分ほどの時間が必要ですので待ってください。

 

ALB設定

リスナー追加

HTTPS接続ができるためにはALBにHTTPSリスナーの追加が必要です。

(コンソール画面: EC2 → ロードべランサー → リスナーの追加)

「プロトコル:ポート」はHTTPS:443を選択します。

「デフォルトアクション」は転送先を選択、作っておいたターゲットグループを選択します。ALBはHTTPSでくるトラフィックに対して、指定したターゲットグループにトラフィックを分散します。

「セキュリティーポリシー」は自動的に選ばれます。

SSL証書」ACMからの認証書を選択することでリスナーの追加は済みます。

Route53にALBのレコード追加

(コンソール画面: Route53 →ホストゾーン→ホスト選択→レコードを作成)

「レコードの名」にはトラフィックをルーテェイングするドメイン・サブドメインを入力します。

「レコードタイプ」はA-IPv4dでIPv4形式のIPアドレスを意味します。

「トラフィックのルーテェイング先」は「エイリアス」をチェックし、Application Load Balancerとリージョンを選択します。そしたらリージョンにあるロードバランサーが選べます。

確認

登録したドメインに接続してみるとロードバランサーがきちんと作動しているとこが分かります。

錠前をクリックしてみるとHTTPS続ができ、Amazonから発給された認証書の情報を確認できます。

最後に

ここまでお疲れ様でした。次の記事にはALB高級ルーティング機能利用してみます。