AWSでHTTPS接続できないときに行うトラブルシューティングのご紹介


はじめに
本稿ではAWSでEC2インスタンスを設定しウェブサイトをホストしている状態を前提とします。ウェブサイトとして設定しているEC2インスタンスのユーザーにHTTPS(ポート443)での接続をしようしたところ接続できない状態のトラブルシューティングをご紹介します。
基本的に設定しておくべきこと
HTTPS接続するにはEC2側のポート設定が必須となります。HTTPSで接続できない問題のトラブルシューティングの対処方法として、HTTPS接続するためのEC2の基本的な設定方法を説明します。
AWSポータルからセキュリティグループのルールを確認する
AWSにおいてセキュリティグループはインスタンスのファイアウォールとして機能し転送されるもしくはするデータに対して制限をかけます。
セキュリティグループはインスタンスごとに設定できるため、今回の対象としているHTTPS接続できないウェブサイトのEC2のセキュリティグループおよびそのルールの設定状況を再確認します。
セキュリティグループの状況はAWSポータルサイトからAmazon EC2コンソールを開き、ナビゲーションペインからセキュリティグループから確認できます。
HTTPS接続できないEC2に割り当てているセキュリティグループを選択し、下段のペインに表示されるインバウンドルールの部分を確認します。
インバウンドルールとは転送されてくるデータについてポートごとの利用許可または拒否することを示します。拒否設定に含まれているポートは接続できない状態になります。HTTPSポート443の状態が許可されているか確認します。
セキュリティグループのルールを更新する
セキュリティグループのルールを更新してHTTPSで接続できるようにします。設定にはタイプ、プロトコル、ポート範囲、送信元、許可/拒否の5つが設定できます。
HTTPSの接続許可を行う場合はそれぞれのレコードを次のように設定します。タイプはHTTPS(443)、プロトコルTCP(6),ポート範囲は443、送信元は0.0.0.0/0とします。最後に許可/拒否をALLOWとして設定を完了します。
なお、AWSのポータルサイトからの設定ではタイプをHTTPSとすると自動的にポート範囲を443として入力されます。
これは他通信プロトコルタイプでも同様で、ポート番号を調査することなくトラフィック制限をかけたいプロトコルタイプの名前を指定することで制限することができます。
セキュリティグループの詳細な設定をする
ここで前節で設定した内容について詳細を説明します。タイプをHTTP(80)、ポート範囲を80とするとHTTPSではなくHTTTPの接続についての設定となります。HTTPSと併せてどちらも許可したい場合は80,443どちらも許可します。
送信元0.0.0.0/0はすべてのIPアドレスを示します。ウェブサイトへのアクセス元が誰でもよい場合はこの設定にし、特定のIPを記述しておくと他のIPから接続できない状態に設定できます。
また、逆に特定のIPのみを説即できない状態にするには許可/拒否のレコード部分DENY(拒否)に設定し、送信元の設定を拒否対象のIPに設定します。
より強固なセキュリティ設定にする
前節の設定でインバウンドルールの変更によりHTTPSの接続を許可するように設定しました。セキュリティ状態の改善のため利用を想定していないポートが接続できない状態に設定します。
方法として、インバウンドルールに明示的に全てのポートを通信拒否するレコードを最も優先度が低い状態で設定します。
AWSのコンソール上ではインバウンドルール、アウトバウンドルールそれぞれでルール表が表示されます。その表の最下段が優先度が最も低いルールとなります。
最下段にタイプをALL TrafficとしてDENY設定のレコードを登録すると、上段ルールに設定した条件以外を接続できない状態に設定できます。
証明書エラーメッセージが表示されて接続できない場合の対処方法
ウェブサイト側のサーバー証明書に問題がある場合は証明書エラーメッセージが表示されます。HTTPS接続を試みた際に表示されるメッセージ例について、それに対する状況と対処方法を説明します。
証明書とは?
HTTPS接続ではCA(認証機関)で署名されたサーバー証明書が必要になります。証明書のパブリックキーや有効期間情報を読み取ることで対象のウェブサイトへの接続が安全であることを確認します。
AWSではAWS Certificate Manager(ACM)によりSSL/TLS証明書を発行し利用できます。通常は証明書のリクエストから発行まで時間がかかるのですが、証明対象もACMもAWSの内部リソースのため発行時間が短縮されかつ無料である利点があります。
どういった状況か?
エラーメッセージによって証明書の状態と対処方法が特定できます。ブラウザによってメッセージ文が異なりますが以下のようなメッセージ主旨とそれに対する状況を説明します。
証明書はサーバーの名前に対して有効ではありません
接続対象のサーバーのドメイン名と証明書のドメイン名が一致しないことを示しています。ブラウザの機能から証明書の詳細を確認することができますので、証明書のドメイン名を確認してみます。
*印のワイルドカードで記述されている場合、その有効範囲に注意します。例を示すと、*.xxx.comと記述している場合、yyy.xxx.comやzzz.xxx.comは保護範囲となりますが、aaa.yyy.xxx.comのように2つ以上のサブドメインレベルは保護範囲対象外となります。
複数のドメイン名を証明書に追加する等、サブドメインとワイルドカードの保護範囲に注意して設定します。
証明書の有効期限が切れています
日付が無効になっている場合や文字通り有効期限が切れていることを示します。
AWSのサービスとしてACM発行の証明書を使用することを前提として説明します。ACMでは自動的に証明書を更新します。そのため、証明書の有効期限が切れているメッセージが表示される場合、新しい証明書をインポートし忘れが原因となっています。
DNSレコードを確認しAWSリソースが正しく設定されているか確認し修正します。
ウェブサイトの SSL/TLS 証明書が信頼されていない
認証機関や証明書フォーマットやブラウザが古い可能性があります。
前述の通りACMでは自動更新を前提としているため認証機関や証明書フォーマットは最新であることを前提として、他のアクセスをリクエストした側による問題のトラブルシューティングを行います。
ACMで発行した証明書の場合は最新のブラウザ、OS、モバイルデバイスに幅広く対応しているため、アクセスできないブラウザとは別のメジャーなブラウザを利用すること、ブラウザを更新すること、別のデバイスでのアクセスを試みます。
接続が完全に保護されていない
一部のコンテンツのみ証明書が有効である可能性があります。例を示すとウェブページとの初段アクセスではHTTPSでの接続となっていて、他の部分がHTTPでの接続する構成となっている場合、このエラーメッセージが表示されるケースとなります。
上記ケースの場合、ウェブサイトのページを見直して、全てのページでHTTPS接続を行うように更新することで解決します。
HTTPS接続のトラブルシューティングはできましたか?
AWSで設定したウェブサイトへのHTTPS接続できない問題について基本的な解決方法をご紹介しました。まずはポートの通信許可状態を確認してみましょう。その際、利用予定のないポートまで通信許可しないようにセキュリティの設定にご注意ください。
また、証明書の状態次第ではブラウザ側で安全でない接続としてアクセスを遮断されることがあります。AWSにおいてはACMによって証明書が最新の状態に保たれるため、オンプレミスに比べて証明書の不備は少なくなる傾向にあります。
AWS管理者側では特に有効なドメインの範囲やDNSに注意しましょう。
この記事の監修者・著者

- AWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
-
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。
・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
最新の投稿
- 2024-12-27営業インタビュー情報共有の活性化の中心に。SP企画部の新たな取り組み
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ

- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。