まえふり
前回、AWSとドメインの契約からサブドメインを設定してサイトへアクセスできるまでをまとめてお話ししました。
今回は、以下の記事でAWSだと無料でSSLの対応ができることを知ったので挑戦してみました!!
・ [AWS Certificate Manager]東京でも無料でSSL証明書が使用可能になりました!
・ AWSで使用できる無料SSLサーバー証明書~AWS Certificate Managerについて
・ AWS環境ならSSL証明書が無料!? AWS Certificate Managerについて ~番外編 SESでのメール受信~
AWSでの無料SSLができる構成図
引用: http://docs.aws.amazon.com/ja_jp/acm/latest/userguide/gs-elb.html
AWSで無料SSLが対応ができる理由
先にネタバレすると100%無料ではありません。ここでいう『無料SSL』は、SSL証明書の発行が無料でできるということのようです。
では、なぜ100%無料ではないのか。それは、SSLを適応させるEC2とELB(Elastic Load Balancing)などを扱うことで、料金が発生するからです。
Elastic Load Balancingは、従量課金制になっており、使用した分のみ料金が発生する仕組みになっています。
ちなみに公式では、『SSL/TLS 証明書は無料です。お支払いいただくのは、アプリケーションを実行するために作成した AWS リソースの料金のみです。』と書かれています。
ACM: Amazon Certificate Manager
ではまず、サイトをHTTPSにするために必要であるSSL証明書をを、ACMを扱って発行します。手順は、(だいたい)以下のようになります。
状態が発行済みと変わったら正常に設定された証拠です。
これで、SSLの発行(ACM側の設定)が完了しました。
次に、BLE側の設定になります。
ELB: Elastic Load Balancing load balancer
AWSでは、ELBと呼んでいますが一般的でいうロードバランサーになります。
私もELBを扱うまでロードバランサーがどういうものかは負荷を分散させる何かまでは知っていたものの、実際に触ってみてどのようなしくみになっているのかは知りませんでした。これを機に調べるようになり、勉強になりました。
手順は、(だいたい)以下のようになります。
これでBLE側の設定が完了。
全ての設定を終えて
AWSで無料でSSL対応を行うための準備が整いました。
httpsでドメインにアクセス(ドキドキ)。
『503 Service Temporarily Unavailable』だと...www
アクセスは一応ができているってことは、ACMでちゃんとSSL証明書を発行できている...って考えて。
あとは、 ELBとEC2との繋ぎがうまくいっていないのかなぁ...?w
ってことを、2,3回やり直しながら考えれるようになって、一箇所、未設定っぽいところを見つけました。
ELBの設定画面で、『インスタンスの登録と登録解除』を開いて見てみると、項目は出ているものの、ちゃんとチェックされていないで紐付けされていなかった感じで...たぶんこれだよな?w
↓ 改めてhttps://ドメインをアクセスしてみると...
キタ━━━━(゚∀゚)━━━━!!!!!!!!!
これで、無事にACMとELBの設定で、EC2のサーバーにSSL対応が完了です!笑
まとめ
ここまでで、全てAWSでSSLを対応させたサーバーができました!
初めてサーバーの契約してHTTPSまで対応できた瞬間は、ホント感動です笑
まぁでも、HTTPS接続までたどり着くところまで、(土日とかでやっていたので)約3週間以上かかってしまいました笑汗
てことで、これにて初めてサーバーを契約して、サーバーを作ってHTTP通信ができるようにして、SSL証明書を発行してサーバーへのアクセスをHTTPS通信できるところまでをざっとお話しいたしました!
次回以降は、作ったサーバーを使ってサーバーサイドの開発とすでに世に出ているWebAPIを使ってアレコレやってみたお話しをしていきますー。
次回移行のお話し
【初心者だよ その1】 アプリ開発者が初めてAWSを触ってみた
【初心者だよ その2】 AWSで無料SSLをやってみた ← いまここ