質問: AWSのSSL化(https化)について質問です。 やりたいこと ------ AWSで構築されているWebサイトをhttps化したい ### 発生している問題 1httpsで表示しようとすると、SSL証明書が無効のため警告が出る 2www.をつけると、 IP アドレスが見つからないと表示される 3httpsで警告を無視して表示した場合、画像などがすべて表示されなくなる 4httpで表示されているときも、「新着」などのCMSで値を取得しているであろうところが表示されていない ### これまでに試したこと 最初、データを頂いたときはお名前ドットコムネームサーバーで接続されていましたので、それをSSL化するためにACMをつかって証明書を発行し、https化することに成功しました。 しかし、しばらくすると「DNS_PROBE_FINISHED_NXDOMAIN」というエラーが出てサイトにアクセスできなくなっていしまい、これはまずいと思い別の方法を試してみることにしました。 次に行ったのは、AWSのRoute53にお名前ドットコムのドメインを紐付けて、SSL化する方法です。 Route53でえたNSのDNS情報をお名前ドットコムの方に記述し、 インスタンスと紐付けたElastic IPをタイプAのレコードに追加、 先程得たACMの証明書を有効化?するために必要だったタイプCNAMEのレコードも追加しました。 また、Elastic IPのセキュリティグループは タイプ/プロトコル/ポート範囲/ソース/説明 - オプションの順で、下記のようになっています。 HTTP TCP 80 0.0.0.0/0 - HTTP TCP 80 ::/0 - SSH TCP 22 0.0.0.0/0 - HTTPS TCP 443 0.0.0.0/0 - これらを行い、なんとかhttpで既存のサイトを表示することができましたが、証明書は発行しているはずなのに、httpsでアクセスすると、証明書の有効期限が切れていると言われます。 また、httpで表示しても一部コンテンツが取得できていなかったりと、諸々の問題があります。 Route53を使ってサイトを表示していますが、https化するのに、そもそもドメインをAWSで管理せずともお名前ドットコム上で可能だったかもしれません。 今からでも、Route53を使わずにhttpsを進めたほうが早い場合は、そちらを教えていただきたいです。そのほうが、表示が抜けるなどの問題も起こらないのではないかとお思います。 どなたかお力お貸しいただけると嬉しいです。 よろしくおねがいします。 ### 補足情報(FW/ツールのバージョンなど) サーバー:AWS ドメイン:お名前ドットコム
回答: そもそもまだhttps化できてるとは言わないです。 別途質問されてる内容を見ると、まだ作成した証明書を使ってアクセスできてないですしね。 > > 2www.をつけると、 IP アドレスが見つからないと表示される > > > これはDNSにwwwをサブドメインとしたレコードを登録していないからでしょう。 先日の質問でも感じましたが、DNSの役割をもう少し学んでみてください。 > > ACMをつかって証明書を発行し、https化することに成功しました。 > > > 念の為お伝えしますが、証明書を発行しただけではhttpsになりません。 ACMで発行した証明書はダウンロード等することはできず、AWSのサービスと組み合わせる必要があります。 ALBを使っているのならALBでHTTPSを待ち受ける設定をして、そこに証明書をセットしてください。 別途質問ではまだ設定中のようですが...。 > > また、Elastic IPのセキュリティグループは > > > インスタンスに設定しているセキュリティグループを差していますか?(EIPに紐付けるものではないので) 22番ポートが空いているということは恐らくそうだと思いますが、先日の質問でRoute53に登録したレコードはALBのレコードですよね? ということはインスタンスに直接アクセスさせるわけではないのでインスタンスのセキュリティグループではなくELBのセキュリティグループを見る必要があります。 ALBに証明書をセットしておけば、インターネットから(※)ALBまでの経路が暗号化されます。 ※Internet-facingなALBである前提としています。 ALBはインターネットからのリクエストを受けて、ターゲットグループのインスタンスにリクエストを転送します。(デフォルトなら80番ポート。設定は変更可能) 配下のインスタンスについてはHTTPSでアクセスできる必要はなく、HTTPでアクセスできれば十分です。 不要なポートは閉じておいたほうが賢明です。 この質問の前提として、**ALB側で証明書の設定が終わっていないので、まだ何かを確認する段階にありません**。 もしEC2インスタンスにHTTPSでアクセスしようとして失敗しているという話なのであれば、設定をしていないので正しい挙動です。 そして前述の通り、ALBでHTTPS化の設定をするのであれば配下のインスタンスでそれを行う必要はありません。 ※追記 全体的にネットワークに対する理解不足を感じるので、そのへんを学んでみてください。 古いサイトですがこちらとか(本も出てるのでそちらでもいいかも) 3分間ネットワーキング 古くからの名著として有名なこちらとか マスタリングTCP/IP 入門編(第6版) あとは基本情報技術者試験レベルやCCNAレベルのネットワークの勉強とかをしてみるといいかもしれません。