質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.33%

  • AWS(Amazon Web Services)

    2169questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

  • SSL

    528questions

    SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

  • HTTPS

    278questions

    HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

  • ロードバランサー

    33questions

    ロードバランサー【負荷分散装置】は、複数のサーバへアクセス要求を分散する装置です。 要求を分散することで各サーバが快適な応答速度を保つことを目的としており、 アクセスの多い大規模サイト等は、この装置により 複数のサーバに負荷を分散する事で安定な運用が可能です。

AWSを使用した常時SSL化で、独自ドメインを使用している場合はRoute53を使用しなければならないのでしょうか?

解決済

回答 3

投稿

  • 評価
  • クリップ 1
  • VIEW 1,467

Samson818

score 82

前提・実現したいこと

AWS&独自ドメインを使用したウェブページの常時SSL化

発生している問題・エラーメッセージ

http://tech.librastudio.co.jp/index.php/2016/09/23/post-1016/
このページに倣ってロードバランサーや証明書の取得など完了、
人にお願いしてAレコードを切り替えてもらって、
サイトが表示されたが、常時SSLが出来ていない。

ロードバランサーなどの設定に問題があるのか、
Route53を使用していないからダメなのか?
問題の切り分けが出来ていない。

ドメインの管理者ではないので、
Route53でドメインを管理する事になるとしたら、
決定打をいただいてから、管理者に頼みたいのです。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

checkベストアンサー

+1

参考になさっているところはELBが常時SSL化するために必要だということではなく、ELBがSSLの受付を行いELB-EC2間の通信がHTTP通信でも問題ないという内容だと思います。(すいませんざっくりしか見ていません。)

アクセスしてHTTPSでアクセスしてサイトが表示され以後はHTTPになってしまうということであれば、サイト自体が常時SSL化の対応がされていないのではないのでしょうか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/22 17:36

    回答ありがとうございます!

    httpsでアクセスすると「保護されていません」と赤文字で表示されます。
    他の画面に遷移しても同じですが、
    他の画面ではhttpsのsを削除してアクセスする事が可能です。

    ずっとAWSを調べていましたが、サイトの方をチェックしてみます。
    目先が変わりました!ありがとうございます。

    キャンセル

  • 2017/03/22 17:47

    それですとサイトかちょっと判別できないので私も同じような環境を構築していますので実際に対応した内容をあげてみますね。
    ELB
    ・ELB作成(作成時にSSL証明書を設定する)
    ・ELBのポートははHTTPS(443)、インスタンスへのポートはHTTP(80)
    ・ヘルスチェックなどは環境に合わせて
    ・お好きなインスタンスを紐づける
    ドメイン
    ・DNS名をドメイン管理者に依頼してCNAMEでドメインと関連付ける
    EC2
    ・HTTPを開放してください(ELBからのアクセス以外必要ないならプライベートIPに絞るとか?それ以外は必要に応じてサーバ管理次第です)
    サイト
    ・アプリケーション側でHTTPにリダイレクトやリンクなどしていないか確認

    HTTPSでアクセスはしているので証明書の設定が間違っているような気もします。

    キャンセル

  • 2017/03/22 17:59

    記事の内容見ましたがELBがSSLの受付を行いELB-EC2間の通信がHTTP通信でも問題ないという内容ではなかったですね。申し訳ありません。

    キャンセル

  • 2017/03/22 18:09

    ちなみに私の構築はVPC内なのでVPC前提でお話をしてしまっていました。
    ポート関連は環境によりです。説明が適当ではなかったです。

    キャンセル

  • 2017/03/22 18:48

    こちらのサイトでテストしたところ
    Common names -> MISMATCH
    Trusted No NOT TRUSTED
    と出てしまいました。。。

    問題がひとかはわかりませんが証明書にも問題があるのでしょうか・・・
    普通に取得したつもりなのに・・・

    キャンセル

  • 2017/03/22 18:48

    https://www.ssllabs.com

    ↑こちらのサイトです。

    キャンセル

  • 2017/03/22 19:31

    iPhoneのサファリでアクセスしたところ、やはり証明書が信頼されていないと出てまいりました・・・
    少し問題の的が絞れて参りました。

    キャンセル

  • 2017/03/22 19:39

    http://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/classic/using-domain-names-with-elb.html#configure-dns-failover
    ドキュメントはまだまだカスタムドメイン登録していない場合にはRoute53でカスタムドメイン名を作れるよってだけですよね。(もともとの質問の回答ですね)

    >Common names -> MISMATCH
    ドメインが証明書ドメインと違うということなのでそこを証明書関係を重点に確認ですかね。

    他に確認するとしたらドキュメントに
    `ドメインネームシステム (DNS) 名を受け取ります`
    とありますが
    `ロードバランサーにクエリをルーティングするために CNAME レコードを作成`
    これがしっかり設定されていて独自ドメインでアクセスするとELBへアクセスが来てそれがインスタンスにルーティングされているか。
    そのうえで、ELBがHTTPSで受け付けてインスタンスにHTTPSでルーティングしていないか(インスタンスへもHTTPSであればインスタンス側にも証明書の設置が必要だと思います。ここの証明書が違うのか?と少し思ってみたり)

    いい回答出せなくて申し訳ありません。。

    キャンセル

  • 2017/03/22 20:48

    親身にありがとうございます。

    今のところ、証明書が取得したものではなく、
    AWS立ち上げ時に内部で作成したものが表示されていることがわかりました。
    (その時の担当者、唯一AWSわかる人間が辞めてしまっているというのが大きいです・・・)

    どこでその設定がされているのかを突き止め、
    証明書のリプレイスをする調査を進めております。

    キャンセル

  • 2017/03/22 22:11

    私もALBを検証していましてつい気になりまして、、
    解決を願っています!

    キャンセル

+1

まずは、サーバ証明書のCommon Nameとブラウザに入力するドメイン名が一致しているかどうかをご確認ください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

とりあえず、ロードバランシングを使う時のDNS設定に関しては
AレコードにロードバランシングのDNS名を設定するのではなく、
ELBは内部的にランダムでIPアドレスが変更されますので、CNAMEで設定してください。


ロードバランシングの証明書更新について

httpsでアクセスすると「保護されていません」と赤文字で表示されます。

ここからSSL接続は出来ているが、証明書が正しく設定できていないと推測します。
故に、ロードバランシングに設定したセキュリティグループは問題ないと思われます。

通信構成はこうですかね。(括弧はポート番号)
PC(443)⇒(443)ELB(80)⇒(80)EC2

ロードバランシングの証明書更新については、自分で取得した証明書をロードバランシングにアップロードする感じと思ってください。
具体的には証明書のBASE64文字列を入れることになりますが。

更新方法は、ALBないしELB画面の下部ペインに出てくるセキュリティタブで更新できると思います。
Verisignなどの証明書機関で発行した秘密鍵と証明書、中間CA証明書を用意してください。
入力後はアップロードしたタイミングで、その証明書が正しいか判断されます。

サイファー(セキュリティポリシー)に関しては、最新の日付のものにすれば良いかと思います。
もしアプリでSSL通信する場合は、ここがネックになることがありますが、今回は対象外でしょう。

詳細について知りたければ、"ELB 証明書 更新" でググれば出てくると思います。
⇒ただしALBがリリースされた去年の10月ぐらいのタイミングで画面が修正されていますので、画像が若干異なる場合があります。


Route53について

外部DNS使っても、EC2でDNSたてても、Route53を使っても特に違いはありません。
Route53は、AWSが提供しているサーバレスのDNSサーバと思ってください。
非常に安価で管理しやすくルータではないため再起動など必要としない上に、
ネームとIPとの紐付けの伝播も早いです。
個人的には使うことをお勧めしておきます。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

同じタグがついた質問を見る

  • AWS(Amazon Web Services)

    2169questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

  • SSL

    528questions

    SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

  • HTTPS

    278questions

    HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

  • ロードバランサー

    33questions

    ロードバランサー【負荷分散装置】は、複数のサーバへアクセス要求を分散する装置です。 要求を分散することで各サーバが快適な応答速度を保つことを目的としており、 アクセスの多い大規模サイト等は、この装置により 複数のサーバに負荷を分散する事で安定な運用が可能です。