APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

Route53+CloudFront+ALBをHTTPS接続する

目次

はじめに

こんにちは、株式会社エーピーコミュニケーションズ、クラウド事業部の松尾です。
本記事では構築済みのWebサイトをHTTPS化します。ついでにドメインでのアクセスも実装してみましょう。


ゴール

本記事でお伝えすることは次の内容です。

  • CloudFront~ALBのHTTPS接続方法
  • ALBのHTTPS設定
  • Route53でのドメイン取得方法
  • Route53のホストゾーン登録
  • ACMでの証明書取得と設定方法


検証プラン

以下の構成でHTTPアクセスでALBのドメイン宛てに表示できるWordpress環境を構築済みです。

Before

Route53とCloudFront経由でHTTPS接続できる構成をゴールとします。

After

具体的には以下の流れで実装していきます。

  1. CloudFront経由でのHTTPS接続
  2. Route53経由でのHTTPS接続


やってみる


1. 事前確認

まず、ALBドメインへHTTP接続してWordpressサイトが表示できることを確認しておきましょう。

「matsuo Entertaiment」サイトがHTTPで表示できています

2.ドメイン取得

今回はRoute53でドメインを取得します。(他ブログでは無料で取得できるサイトも紹介されていましたが現在は使えないところが多数でした) 2024年5月時点で最安だった「.click」ドメインにしていきます。

apclp.clickで登録

3.ACMで証明書を発行

今回の構成ではALBまでHTTPS化していくので証明書はCloudFrontとALBの2か所で必要です。
ALBドメインはALB作成時に生成されたものがありますが、これは証明書が登録されていないドメインなので、このままではHTTPS化できません。そのため、ALBドメインを新規に作り、証明書を登録していきます。

ALB作成時に生成されるこのDNS名は証明書が登録されていない

つまり、ACMで「CloudFront用ドメインに対する証明書」と、「ALB用ドメインに対する証明書」の2つを発行していきます。

一点注意ですが、CloudFrontの証明書は米国東部(バージニア北部)である必要があります。

Route53に登録したドメインは「apclp.click」なのでそのまま「apclp.click」でも良いですが、「www.apclp.click」でもアクセスできるように完全修飾ドメイン名を「*.apclp.click」としておきます。
検証方法はRoute53で登録済なので「DNS検証」を選択。

CloudFront用ACMは米国東部リージョンで

次はALB用のACMを発行します。
東京リージョンで「alb.apclp.click」ドメインの証明書を作成します。

ALB用ACMは東京リージョンで

証明書のステータスが「発行済」に遷移したらOKです。

4. CloudFront経由でのHTTPS接続

Cloudfrontのディストリビューションを作成します。
オリジナルドメインはALBのACMで登録したドメイン名を設定。 プロトコルは一旦HTTPとHTTPS両方を許可しておきます。

ALBのACMで登録したドメイン名

「代替ドメイン」には「*.apclp.click」を設定。CloudForntの初期ドメイン名(https://XXXXXXXXXXXXX.cloudfront.net)以外でアクセスできるようにしましたが無くても良いです。


ディストリビューションステータスが「有効」になればOKです。

続いて、ALBのドメイン名「alb.apclp.click」をRoute53のホストゾーンへ登録します。

エイリアスは有効

一度CloudFornt経由のHTTPアクセスを確認してみます。

表示できました!

ちなみにこの時点でHTTPSアクセスもできます。が、Wordpress側をHTTPS対応させていないので表示レイアウトが崩れています。 今回は本題ではないのでこのままいきます

HTTPSもアクセスできるがレイアウトが崩れている(気にしない)


5. Route53経由でのHTTPS接続

次はRoute53のホストゾーンにCloudForntディストリビューションを登録していきます。


登録出来たら「apclp.click」宛てに通信してみましょう。

相変わらずレイアウトは崩れていますが接続出来ました!


まとめ

無事にドメイン宛てにWebサイトに接続することが出来ました。自動生成の味気ない文字列から意図したドメイン名でアクセスできて見た目が少し美しくなりました!
ドメイン取得含めてAWSで完結できるのは分かりやすくて良いです。また、HTTPS化すると証明書の期限管理が手間になりますがACMだとダッシュボード上で一元的に期限状態が分かるので実際の運用でも使えると思います。 CloudFront用に米国東部リージョンで作成するのは手間でした。
Route53のホストゾーンへの設定の仕方は私の知識が無く調べながらとなりました。ドメイン周りを具体的に設定することで少しは理解が進んだかなと思っています。


おわりに

私達クラウド事業部はAWSなどのクラウド技術を活用したSI/SESのご支援をしております。

www.ap-com.co.jp

また、一緒に働いていただける仲間も募集中です! ご興味持っていただけましたらぜひお声がけください。

www.ap-com.co.jp