LoginSignup
2
0

More than 3 years have passed since last update.

ACMのSSL証明書に切り替えてみた

Last updated at Posted at 2021-01-22

やりたいこと

やりたいことは、AWSベースで作成したウェブサイトのSSL証明書をまとめて管理したいため、ACM(AWS Certificate Manager)で取得したSSL証明書を利用すること。

ACMのSSL証明書をそのままでウェブサイトにインストールができないため、ALB(Application Load Balancer)も導入する。

構成イメージ

Untitled Diagram.png

Route53はhttpsのリクエスト受け取って、ALBに送信する。
ALBに設定しているリスナーのルールに従って対象のインスタンスに送信する。

ACMのSSL証明書をALBに登録するので、基本はHTTPS:443のリクエスト受信する想定です。ただ、80番のリクエストにも対応しておきたいため、ALBのHTTP:80のリスナーにHTTPS:443にリダイレクトするようにしている。
やり方の参考:https://aws.amazon.com/jp/premiumsupport/knowledge-center/elb-redirect-http-to-https-using-alb/

事前準備

①対象ウェブサイトはRoute53で管理しているドメインで立ち上げたもの。
②SSL証明書をACMから取得しておく。

ALBの設定

SSL証明書の登録

HTTPS:443のリソナーに取得したSSL②をインポートする。
参考:https://aws.amazon.com/jp/premiumsupport/knowledge-center/associate-acm-certificate-alb-nlb/

ターゲットグループの作成

今回作成したのはTarget typeがInstanceになっているもの。

参考:https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/application/create-target-group.html

リスナーにルールの追加

HTTPS:443のルールを編集し、IF−THENのルールを追加する。
例えば、example.comのリクエストが来たら、exampleターゲットに転送。

IF ホストがexample.com

THEN 
転送先
example: 1 (100%)

Route53の設定

ここの目的はALBとRoute53連携できるように設定する。

レコードの編集&追加

ALBの画面には当該DNS名の情報はあり、あとで確認するため、先にコピしておく。

Route53画面にある当該ホストゾーンの詳細から、Aレコードを編集&追加する。
(元々インスタンスIPに関連するAレコードがありまして、それをALBに変更すれば良いですが、テスト&確認しながら行いたいため、そのAレコードのルーティングポリシーを加重に変更してから、新規でALBのAレコード(ルーティングポリシーも加重にする)を追加する形にした。重みの調整でALBに行くか、本来の固定IPに行くかのコントロールできるのは自分の狙い。)

ALBのAレコードを作成する時に、「ターゲットのヘルスを評価」という項目があり、ONにする場合、予想している動きになる可能性があります。その時に以下の資料を参考になれると思います。ちなみに、今回はOFFにした。
ヘルスチェックが設定されている場合に Amazon Route 53 がレコードを選択する方法
複雑な Amazon Route 53 構成におけるヘルスチェックの動作

レコードのテスト

Route53の画面には「レコードをテストする」機能があるので、自分の設定が正しいかを確認したい時に使えると思います。

最後: 確認する

  1. CloudWatch、ALBのターゲットのモニタニングでリクエストの集計を確認できます。
  2. 普通にサイトにアクセスして、対象インスタンスのaccess.logにはALBのIPからのアクセスが出てきましたら、それでRoute53とALB設定はOKだと思います。
  3. ブラウザーでサイトにアクセスして、URL欄の鍵マーク🔒からSSL証明書はAWS発行のSSL証明書になれば証明書の切り替えができたと思います。
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0