目次
BeeXの榊原です。本記事はBeeX Advent Calendar 2023 の15日目の内容です。
前回はSSL証明書をAWS ACMで作成したので、今回はそれをALBに紐づけてHTTPSで接続できるようにします。前回記事は下からどうぞ。
構築する構成
➀証明書取得まで(別記事)
➁証明書を紐づけてALBにHTTPS接続するところまで(本記事)
➂AzureADとCognitoで認証を付けるところまで(別記事)
構築手順
EC2で接続先Webサーバの構築
お好きなLinuxサーバを立てます。自分はAmazon Linux 2で立てました。
サーバを立てたらTeraTerm等でOSに入り、以下のコマンドを入力します。
$ sudo yum update -y
$ sudo yum install httpd -y
$ cd /var/www/html
$ sudo vi index.html
# index.htmlは以下を記載して保存
<html><h1>任意の値</h1></html>
$ sudo service httpd restart
ターゲットグループの作成と設定
AWSコンソールのEC2にいき、サイドバーの「ターゲットグループ」、「ターゲットグループの作成」を押下します。
下のように設定します。
・ターゲットタイプはインスタンス
・ターゲットグループ名は任意
・プロトコル:ポートはALB→EC2はHTTP
・VPCはEC2があるサブネットを選択
・ヘルスチェックプロトコルHTTP
・ヘルスチェックパスは/index.html
ターゲットに作成したインスタンスを選択します。
以上でターゲットグループの設定は完了です。
ALBの作成
AWSコンソールのEC2からALBを作成します。設定は画像をご参照ください。
セキュリティグループについては、安全のため自宅のIPからしか接続できないように設定しています。
以上を設定したら、画像を取り忘れましたが「ロードバランサーの作成」を押下します。ALBの作成が完了したらターゲットグループに戻ってヘルスチェックが通っているか確認しましょう。HealthyになっていればOKです。
レコードの登録
仕上げにドメイン名でALBにアクセスできるようRoute53のホストゾーンを設定します。
・レコードタイプはAレコード
・エイリアスを有効
・トラフィックのルーティング先に作成したALBを指定
ここまで設定出来たら「レコードを作成」を押下します。
下記のようにAレコードのルーティング先にALBのDNS名が登録されていればOKです。
実際にドメイン名でALBに接続する
ブラウザで自身のドメイン名にアクセスしてみましょう。
検索画面に「https\://自身のドメイン名」と入力します。
無事にロードバランサ先のEC2に接続できました。
証明書の内容も見てみましょう。問題なさそうです。
最後に
今回はALBに証明書を紐づけてHTTPS接続する手順について書きました。これ以降Azure ADとCognitoで認証されたユーザーのみEC2に接続できるという設定も可能です。もしご興味があればこちらを参考に設定してみてください。ここまでお読みいただきありがとうございました。