過去にQiitaに投稿した内容のアーカイブです。
さようならFirefox Send。あなたは私のT4gインスタンスの中で永遠に生き続けます!! でEC2上にWebアプリケーションを構築しました。 欲が出て独自ドメイン化&SSL化をしてみました。
ドメインの取得
freenomで.tk、.ml、.ga、.cf、.gqドメインが無料で取得できます。
欲しい物を探してドメインを取得します。

Route53の設定(ホストゾーンの設定)
ホストゾーンを追加します。取得したドメイン名をパブリックホストゾーンとして登録します。

登録すると、NSレコードが作成されます。ここで4つのDNSサーバーのドメインが自動で指定されます。

ここで指定されたドメインをfreenomに設定します。
Services -> My Domains
Manage Domains
Management Tools -> Nameservers

これでRoute53でドメインが管理されます。反映までに結構時間がかかります。
ACM(AWS Certificate Manager)の設定
SSL証明書を発行します。 バージニア北部(us-east-1)リージョンを選択します。
証明書のリクエスト

ドメインは*.を先頭に付けてワイルドカード証明書としましょう

DNSの検証を選択します。

次々進み、検証のところで、Route 53でのレコードを作成ボタンを押します。

しばらくすると証明書が発行済となります。これもちょっと時間がかかります。

CloudFrontの設定
Create Distributionから作成を進めます。 WebのところのGet Startedを押します。
Origin Domain NameにEC2のパブリック IPv4 DNSを入力します。
Origin IDは自動で入力されますが、うまく入力されるときとされない時があります。。何度もOrigin Domain Nameを入れたり消したりしてるとそのうちうまっくいくと思います。

HTTP PortとHTTPS PortをEC2で起動しているWebアプリに合わせます。(今回はHTTPが1443ポート)
Viewer Protocol PolicyをRedirect HTTP to HTTPSに、Allowed HTTP MethodsをGET, HEAD, OPTIONS, PUT, POST, PATCH, DELETEに変更します。

Origin Request PolicyをManaged-AllViewerにします。

Alternate Domain Names(CNAMEs)に使用するドメイン名(moritalous.ga)を入力し、SSL CertificateをCustom SSL CertificateにしてACMで作成した証明書を選択します。

Route53の設定(サブドメインの設定)
サブドメインの設定を行います。
ホストゾーンの選択 -> レコードを作成
シンプルルーティングを選択します。

シンプルなレコードを定義を押します。

レコード名を入力し、値/トラフィックのルーティング先でCloudFrontディストリビューションへのエイリアスを選択し、作成済みのディストリビューションを選択します。

レコードを作成ボタンを押します。

設定は以上です。
動作確認
CloudFront発行のURL(HTTPS)
OK
CloudFront発行の証明書が使用されています。

CloudFront発行のURL(HTTP)
HTTPSにリダイレクトされ表示。OK
Route53発行のURL(HTTPS)
OK
こちらはACMで発行した証明書が使用されています。

Route53発行のURL(HTTP)
HTTPSにリダイレクトされ表示。OK
うまくいきました。