かべぎわブログ

ブログです

ALBにACM/SSL証明書を関連付ける

概要

ALBにACM/SSL証明書を関連付けてみます。
画像のような感じです。
基本的なかたちですね。
f:id:kabegiwakun:20200119104941p:plain
ユーザからALBまではHTTPSで、ALBからEC2までの内部通信はHTTPです。

手順

1. ACMで証明書を取得する

以下ですこしやりました。

www.kabegiwablog.com

2. EC2インスタンスの作成と設定

ALBからのアクセスを受けるEC2インスタンスを設定してあげます。
セキュリティグループはALBからの通信を受けられるような設定のものをアタッチしてあげます。

3. ALBの作成と設定

以下のようなかんじの設定でALBを作成してあげます。

3.1. ロードバランサーの設定

名前: すきななまえ スキーマ: インターネット向け
IPアドレスタイプ: ipv4

リスナー: HTTPS

VPC: すきなVPC
アベイラビリティゾーン: すきなAZ

3.2. セキュリティ設定の構成

証明書タイプ: ACM から証明書を選択する
証明書の名前: 手順1 で取得した証明書の名前

3.3. セキュリティグループの設定

セキュリティグループ: インバウンドに任意の場所からHTTPSが許可されたものを選択

3.4. ルーティングの設定

ターゲットグループ: 新しいターゲットグループ
名前: すきななまえ
ターゲットの種類: インスタンス
プロトコル: HTTP
ポート: 80

ヘルスチェックのプロトコル: HTTP
ヘルスチェックのパス: /

3.5. ターゲットの登録

手順2で作成したインスタンスを登録済みに追加する。

4. EC2インスタンスの設定をする(Apache)

インスタンスにssh接続し、以下を実行してApacheの設定をしてあげます。

4.1. Apacheのインストール

sudo yum install -y httpd

4.2. ファイルの設置

sudo mkdir -p /var/www/html
sudo bash -c "echo 'wawawa' > /var/www/html/index.html"

4.3 Apacheの起動

sudo systemctl start httpd

5. ちょっとした確認

この時点でALBからインスタンスにアクセスできるかどうかを確認してみます。

5.1. ターゲットグループのステータスの確認

ターゲットグループのステータスがhealthyかどうかを確認します。

5.2. ALBのDNS名からブラウザでアクセス

ALBのDNS名からブラウザでアクセスして確認してみます。

https://ALBのドメイン名です。
証明書のドメインとALBのドメインが違うため、警告がでますが、無視してさきにすすみます。
wawawaと表示されればOKです。

6. Route53の設定

ALBのDNS名をコピーし、Route53にCNAMEとして追加してあげます。

ホストゾーン: ACM取得したドメイン

タイプ: Aレコード
エイリアス先: 作成したALB

7. 最終確認

ブラウザからドメイン名でアクセスします。
HTTPSで通信ができているはずです!!!

おわりに

べんりですね

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

  • 作者:山本 陽平
  • 出版社/メーカー: 技術評論社
  • 発売日: 2010/04/08
  • メディア: 単行本(ソフトカバー)