ソフトコミュ開発ブログ

SoftCommu は Javaアプリ、Androidアプリの開発を行うディベロッパーです。人材教育もやっています。企業の新人研修の講師からスカイプでのオンライン家庭教師まで!技術書の執筆や翻訳もしています。
2017.08.23 Wednesday
任意のレジストラで取得したドメインのSSL認証を AWS で無料で取得し、Elastic Beanstalk の WEBアプリを https で公開するまでの手順まとめ

以前にお名前ドットコムで取得したドメインの SSL認証を取得する方法を記事にしました。

 

http://softcommu-blog.com/?day=20170104

 

その記事では、SSL認証の本人確認用のメールをさくらのメールサーバーで受け取る方法を紹介しました。

この記事では AWS の SES というサービスを使ってメール受信して SSL認証を取得する手順をまとめています。

 

条件1 : AWS Elastic Beanstalk で WEBアプリが稼働している。

条件2 : お名前ドットコムなどの任意のレジストラでドメインを取得している。

 

上記の条件の場合、下記の手順で作業すると比較的スムースに https で WEBアプリを公開できます。

 

(1) AWS の S3の設定(メール受信用のS3バケットを作成。とりあえず、一時的に Everyoneからの書き込み権限をオンにしておくのが楽)

(2) AWS の Route 53 の設定。(お名前ドットコムなど任意のレジストラに Route 53 で指定された DNSを設定する)

(3) AWS の Route 53 の変更が浸透するまで待つ(数十分から数時間)

(4) AWS の SES の Domain 設定をする。

(5) AWS の SES の Domain 設定が pending verification から verified になるのを待つ(数分から数十分)

(6) AWS の SES の Rule Sets の設定をする。 Recipients で admin@example.com という感じのメールを指定し、(1) で作成した S3 のバケットに転送するようにする。

(7) AWS の Certificate Manager で 証明書のリクエストをする。(後述の「ハマりやすいポイント」を参照してください。) この段階で Amazon から admin@example.com などに認証用のメールが送信されます。

(8) 上記の (1)で作成した S3 バケット内に (7) で送信されたメールが保管されているので、そのメールの中身を参照し、ごちゃごちゃと書いてあるテキストの中から何とかして認証用の URL を探し出す(認証用のURLはメールの中身を approvals?code で検索すると良い)。

(9) 上記の (8) で取得した認証用の URL ブラウザで表示して、認証を完了させる。

(10) AWS の Elastic Beanstalk の該当WEBアプリのページの左側メニュー「設定」を開き、ロードバランサーの設定でポート 443番の https通信を受け付けるようにする。 (こちらを参照 → http://softcommu-blog.com/?day=20170104

 

上記各ステップの AWSのWEB画面での具体的設定方法については、下記のページが非常に参考になります。

 

http://dev.classmethod.jp/cloud/aws/acm-verifydomain-ses/

https://www.skyarch.net/blog/?p=8265

 

 

ハマりやすいポイント

 

AWS の Elastic Beasnstalk の WEBアプリのリージョンと

AWS の Certificate Manager のリージョンが一致していないと、

上記の(10)のステップで取得した SSL証明書が

設定画面内の SSL証明書ID (下図参照) の選択肢として出てこない!

 

 

なぜこの件でハマってしまう可能性があるのでしょうか?

それは、下記の理由によります。

 

AWS の SES は現在、下記のように3つのリージョンだけでしか使えません。

米国東部(バージニア北部)、米国西部(オレゴン)、EU(アイルランド)の3つです。

 

 

 

 

それで、もしアジアパシフィック(東京)リージョンなどで

Elastic Beanstalk の WEBアプリを稼働させている場合でも、

いったんリージョンを米国西部(オレゴン)などの別のリージョンに切り替えてから

SESの設定、つまり上記 (4) (5) (6) のステップの設定を行うことになるかと思います。

 

そうすると、当然、SESの設定をした直後のAWS の画面では、

米国西部(オレゴン)などのリージョンがセットされているわけですね。

 

その後、Certificate Manager の設定、つまり (7) のステップでのSSL認証を

申請する手続きを行うことになるわけですが、この手続きを始める前に、

自分が Elastic Beanstalk を稼働させているのと同じリージョン、

たとえばアジアパシフィック(東京)リージョンに切り替えておかないと、

SESの設定をしたときののリージョンのままの状態で

うっかりSSL認証の手続きをすすめてしまうことになりがちなわけです。

 

Elastic Beanstalk の WEBアプリのリージョンと

SSL認証を取得したリージョンは同じである必要がありますので、

Certificate Manager の設定をする際には、ご注意ください。

 

以上、任意のレジストラで取得したドメインのSSL認証を AWS で無料で取得し、Elastic Beanstalk の WEBアプリを公開するまでの手順まとめでした!

 

 

ソフトコミュでは、スカイプによる Java や Androidプログラムの

オンライン家庭教師を受け付けています。

料金は30分2,000円から。

ネット検索しながら何日も悩んだ問題が、たった30分で解決すると大好評です!

興味のある方はソフトコミュのホームページからご連絡ください!

 

 

 

 

| SoftCommu | AWS (Amazon Web Service) | 12:15 | comments(0) | - |
1234567
891011121314
15161718192021
22232425262728
293031    
<< October 2017 >>
+ 人気の記事
1位: ズバリ、ラムダ式 (Lambda)とは何か? それを使うと何がうれしいのか?

2位: Android エミュレータが起動しない場合の復旧手順

3位: Android Studio で "SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable" と表示される問題の原因と対応策

4位: Android 7.0 から Intent の getSerializableExtra() が使えなくなってしまいました!

5位: エミュレータの Google Play Services のバージョンが古いために Google Maps などを使用したアプリが動作しない場合の対応策

6位: Proguard を使用してリリース用APKを出力しようとした際にエラーになるケースの対応策

7位: OneDrive でオフィス文書が同期できなくなるケースの対応策

8位: Java で Firebase を使う方法のまとめ。

9位: Arduino の開発環境に ZIP形式のライブラリをインストールできない場合の対処方法

10位: Bitbucketから、指定した時点でのファイルをすべてまとめて zip でダウンロードする方法

11位: Android Studio で2台のパソコンを行き来しながら開発作業をする方法

12位: AWS (Amazon Web Service) で動作している WEBアプリを SSL対応(HTTPS対応)にする

13位: AWS (Amazon Web Service) の公式ドキュメントで 「HTTPS を終了する」とはどういう意味か?

14位: エクリプスでテキストエディタの背景色を黒っぽくしたらデバッグ中にどの行にいるのかわからなくなった場合の対応策

15位: 任意のレジストラで取得したドメインのSSL認証を AWS で無料で取得し、Elastic Beanstalk の WEBアプリを https で公開するまでの手順まとめ

16位: マイクロソフトの API仕様変更に伴う 「OneDrive API活用術」のサンプルコードの修正のお知らせ

+ ARCHIVES
+ CATEGORIES
+ MOBILE
qrcode
(C) 2016 SoftCommu All Rights Reserved.