UM@の日常

Rails~https化~AWS+EC2+Certificate Manager+お名前ドットコム

大変久しぶりの投稿にはなりますが、
今回スクールで作った自作ポートフォリオhttps化しました。
色々と記事を参考にしすぎたことから、整理がついていなかったので、
ブログにまとめて、記録したいと思います。

今回、特に参考にさせていただいた記事は以下の2つになります。

AWS×お名前.comで作成したサイトをSSL化【具体例あり】

AWSでWebサイトをHTTPS化 その1:ELB(+ACM発行証明書)→EC2編 | ナレコムAWSレシピ


事前準備
AWSでEC2インスタンスを作成済み(これについても後ほど記事にまとめたいと思います)
ドメイン取得済み(今回はお名前ドットコムです)
・EIPを紐づけている(必須ではありません)

1.ネームサーバーの変更とSSL証明書の取得

まず初めに(順番前後しても問題はないのですが)、僕はお名前ドットコムのページからネームサーバー名の変更を行いました。
手順としては、

1. Root53にてHostedZone作成(サブドメイン作成)
2. お名前ドットコムの管理者ページからネームサーバーの変更を行う

上記の2点になります。

では初めに、AWSのトップページからroute53を選択し(サービスをクリックすれば確認できるはず)、ダッシュボードの【ホストゾーン】を選択したうえで、
ホストゾーンの作成を選択します。

f:id:UMAweb1:20191225125545p:plain


次に、お名前ドットコムで作成したドメイン名を入力し、【作成】を選択します。
なお、タイプは変更せず「パブリックホストゾーン」のまま、コメントは未記入のままでも特に問題はなかったです。

f:id:UMAweb1:20191225130233p:plain


次に作成したホストゾーンのネームサーバーを、
後ほどお名前ドットコムのネットサーバ変更のためコピーします。
f:id:UMAweb1:20191228173127p:plain


続いて、お名前ドットコムのネームサーバーを変更する前に、
SSL証明書を取得します。
今回はCertificate Managerにて証明書を発行します。
サービスから「Certificate Manager」を選択してください。
f:id:UMAweb1:20191228181046p:plain



開いたページより、証明書のリクエストをクリックします。
f:id:UMAweb1:20191228181350p:plain


次のページでも同じく証明書のリクエストをクリックしてください。
f:id:UMAweb1:20191228181517p:plain


ここでは、お名前ドットコムで作成したドメイン名を入力します。
必須ではないようですが、
「この証明書に別の名前を追加」を押して、「*.ドメイン名」とすることで、
ワイルドカード証明書を作成できます。
必要事項を記入したら【次へ】をクリックします。
f:id:UMAweb1:20191228214835p:plain



次に出てくるページでは【DNSの検証】をボタンクリックした状態で、
確定を押してください。
f:id:UMAweb1:20191228221259p:plain



入力した内容が確認できるので、問題なければ【確定とリクエスト】を押してください。
f:id:UMAweb1:20191228223136p:plain



次に【続行】をクリックした後、、、
f:id:UMAweb1:20191228233048p:plain



表示されるドメイン名をクリックします。
(その際、ワイルドカード証明書分ではなく、ドメイン名のみのものです)
f:id:UMAweb1:20191228235236p:plain


ドメイン名をクリックすることで表示される
「値」をコピーしてください。
※この値もお名前ドットコムのページで利用することになります。
※文字列は隠しています
f:id:UMAweb1:20191229082533p:plain


次にAWSのページからお名前ドットコムの設定です。
ユーザーページにログイン出来たら、
ドメイン設定をクリックしたのち、
ネームサーバーの変更ページへ移動します。
f:id:UMAweb1:20191228174518p:plain


続いて、ドメイン名のチェックボタンをクリックし、
初めにコピーしておいた、ネームサーバーをそれぞれ記入してください。
※記入の順番については参考にさせていただいた記事の順番にしております。
f:id:UMAweb1:20191229002733p:plain



次にCNAME設定をお名前.comに設定します。
再度ドメイン設定のページに移り、次はDNS設定をクリックしてください。
f:id:UMAweb1:20191229010505p:plain



続いて対象のドメイン名を選択して【次へ】をクリックしてください。f:id:UMAweb1:20191229010945p:plain



DNSレコード設定を利用する」の【設定する】を押しましょう。
f:id:UMAweb1:20191229011145p:plain



画面中段にある「A/AAAA/CNAME/MX/NS/TXT/SRV/DS/CAAレコード」を以下のように入力して、「追加」を押しましょう。
VALUE」には、前述でコピーした「値」を貼り付けてください。
僕は「ホスト名」に、【値】をコピーした際に一緒にあった【名前】を記載しましたが、
必ずしも必要というわけではなさそうです。
参考にさせていただいた方は、wwwをつけてたので、ワイルドカード証明書も発行していたら違うのかもしれません。

f:id:UMAweb1:20191229011515p:plain



同ページのチェックも忘れずにしておく
f:id:UMAweb1:20191229080607p:plain



これでお名前ドットコムでの作業は終了です。
f:id:UMAweb1:20191229081654p:plain


発行が完了しているかどうかの判断ですが、
AWSのCertificate Managerより
証明書が【発行済み】となっていれば問題ありません。
※発行済みに代わるまで時間がかかる場合もあるようです。
f:id:UMAweb1:20191229082236p:plain


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


EC2ページの左側のナビバーの【ロードバランサー】といった表記があるので、
それをクリックすると以下のページに遷移します。
そこで「ロードバランサーの作成」を選択してください。
f:id:UMAweb1:20191229084648p:plain


次のページでは一番左側の作成を選択してください。
f:id:UMAweb1:20191229084837p:plain



次に名前を記入します。
特に名前の指定はないようです。
僕はドメイン名を記入しました。
f:id:UMAweb1:20191229095344p:plain



ページ中部にある、リスナーの追加をクリックした後、
HTTPSを設定します。
※ここで間違えて、追加するんじゃなくHTTPをHTTPSに変えただけにしてしまっても、後から追加できるので大丈夫でした。
f:id:UMAweb1:20191229095618p:plain



続いてページ下部にある、アベイラビリティーゾーンで、チェックボックスを上から2つ選択して、「次の手順:セキュリティ設定の構成」を押しましょう。
f:id:UMAweb1:20191229095938p:plain



先ほど作成しておいた、SSL証明書が選択されているのを確認し、
「次の手順:セキュリティ設定の構成」をクリックします。
f:id:UMAweb1:20191229102119p:plain




「新しいセキュリティグループを作成する」を選んで、「HTTP」「HTTPS」のタイプを選んで、「次の手順:ルーティングの設定」を押してください。
f:id:UMAweb1:20191229102823p:plain



ここでも名前を付けるのですが、これも特に指定はありません。
なので今回もドメイン名を僕は記入しました。
f:id:UMAweb1:20191229103708p:plain



次に、事前に作成したインスタンスをチェックし、登録済みに追加をクリックします。
f:id:UMAweb1:20191229103803p:plain



すると登録済みターゲットに、先ほど選択したインスタンスが追加されるので、
追加されたインスタンスをチェックし、「次の手順:確認」をクリックします。
f:id:UMAweb1:20191229103908p:plain



これまで設定した内容が反映されています。
特に問題なければ作成を押してください。
ロードバランサーに作成した内容が反映されているはずです。
f:id:UMAweb1:20191229104041p:plain


3.Route53の設定

長くなりましたが最後の設定です!!
AWSのサービスから【Route53】を検索し選択してください。
そうすると以下のページに飛ぶと思うので、ホストゾーンをクリックします。
f:id:UMAweb1:20191229115520p:plain



次のページでは作成したドメイン名をクリックしてください。
f:id:UMAweb1:20191229115754p:plain



画面が切り替わったかと思います。
そこで、【レコードセットの作成】を押すと、右側にナビバーが表示されるので、【エイリアス】を【はい】に変更し、
エイリアス先を先ほど作成したロードバランサーとして選択し、作成をクリックします。
f:id:UMAweb1:20191229120155p:plain



これで手続きとしては完了です!!!
単純な理解にはなりますが、ドメイン名で検索したらhttpsにリダイレクトされる。
といった認識でいます。が、更に知識を得る必要がある内奥だと思いました、、、。
分からないまま使うの怖い、、、。

実際反映まで最大72時間ほどかかるみたいなので、ご注意ください。
(僕は2時間ほどで反映されたので個人差はありそうです)