目次
BeeXの榊原です。本記事はBeeX Advent Calendar 2023 の15日目の内容です。
![og_img](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Fadvent_calendar%2Fogp%2Fcalendar-ogp-background-c24e7570f8dc39b6f4e1323cbd83d11f.jpg?ixlib=rb-4.0.0&w=1200&mark-x=142&mark-y=128&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzRkZGRkZGJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dD1CZWVYJTIwQWR2ZW50JTIwQ2FsZW5kYXIlMjAyMDIzJnc9OTE2JnM9MTEyMTYyMDhlNDc0NmEzZGI3ZjBlNDFmN2IwNDg3M2I&blend-mode=normal&blend-x=142&blend-y=491&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzRkZGRkZGJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dD0lRTYlQTAlQUElRTUlQkMlOEYlRTQlQkMlOUElRTclQTQlQkVCZWVYJnc9OTE2JnM9ZWVlZWQ3OTJhMmE2MGVkOGY0MGIyMjAwMTEzMGYyYzE&s=166282ebbc96254212a9215940ca81f5)
前回はSSL証明書をAWS ACMで作成したので、今回はそれをALBに紐づけてHTTPSで接続できるようにします。前回記事は下からどうぞ。
![og_img](/media/00rJZdJY2qBUdraPTANDGEyIVQgXK5hwPwoiwdRt.png)
構築する構成
➀証明書取得まで(別記事)
➁証明書を紐づけて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に接続できるという設定も可能です。もしご興味があればこちらを参考に設定してみてください。ここまでお読みいただきありがとうございました。