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

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

新規登録して質問してみよう
ただいま回答率
85.48%
HTTPS

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

SSL

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

ロードバランサー

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

AWS(Amazon Web Services)

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

Q&A

解決済

3回答

3426閲覧

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

Samson818

総合スコア162

HTTPS

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

SSL

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

ロードバランサー

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

AWS(Amazon Web Services)

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

0グッド

1クリップ

投稿2017/03/22 07:19

###前提・実現したいこと
AWS&独自ドメインを使用したウェブページの常時SSL化

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

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

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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

とりあえず、ロードバランシングを使う時の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との紐付けの伝播も早いです。
個人的には使うことをお勧めしておきます。

投稿2017/03/24 08:00

編集2017/03/24 08:09
lazhuward

総合スコア1294

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

投稿2017/03/22 11:40

kongou-ae

総合スコア432

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

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

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

投稿2017/03/22 08:29

no-bu

総合スコア75

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Samson818

2017/03/22 08:36

回答ありがとうございます! httpsでアクセスすると「保護されていません」と赤文字で表示されます。 他の画面に遷移しても同じですが、 他の画面ではhttpsのsを削除してアクセスする事が可能です。 ずっとAWSを調べていましたが、サイトの方をチェックしてみます。 目先が変わりました!ありがとうございます。
no-bu

2017/03/22 08:47

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

2017/03/22 08:59

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

2017/03/22 09:09

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

2017/03/22 09:48

こちらのサイトでテストしたところ Common names -> MISMATCH Trusted No NOT TRUSTED と出てしまいました。。。 問題がひとかはわかりませんが証明書にも問題があるのでしょうか・・・ 普通に取得したつもりなのに・・・
Samson818

2017/03/22 10:31

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

2017/03/22 10: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であればインスタンス側にも証明書の設置が必要だと思います。ここの証明書が違うのか?と少し思ってみたり) いい回答出せなくて申し訳ありません。。
Samson818

2017/03/22 11:48

親身にありがとうございます。 今のところ、証明書が取得したものではなく、 AWS立ち上げ時に内部で作成したものが表示されていることがわかりました。 (その時の担当者、唯一AWSわかる人間が辞めてしまっているというのが大きいです・・・) どこでその設定がされているのかを突き止め、 証明書のリプレイスをする調査を進めております。
no-bu

2017/03/22 13:11

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問