Certificate Managerを試す、、、ためのメール受信の設定
ケース
AWS Certificate Managerを使用して、SSL/TLS証明書を取得して、HTTPS接続を確立したい。
ドメインは、(お名前.comとかで)適当に取得しておいたものを使う。
問題
AWS Certificate Managerは、証明書の発行のときに、検証Eメールを送信する。自分(もしくは関係者)が、証明書の発行を承認する必要があるから。そりゃ当然なわけ。
送信先は、ヘルプにかかれている。2種類あって、WHOISに書かれたメールアドレスと、登録しようとしているドメインに適当なアカウント名をくっつけたメールアドレス。
Email is sent to the following three registered contact addresses in WHOIS:
- Domain registrant
- Technical contact
- Administrative contact
Email is also sent to the following five common system administration addresses where your_domain is the domain name that you entered when you initially requested the certificate.
- administrator@your_domain
- hostmaster@your_domain
- postmaster@your_domain
- webmaster@your_domain
- admin@your_domain
で、エンタープライズな人たちなら特に問題じゃないわけだけど。。。
その検証Eメールを受信できる状態じゃないと、前へ進めない。
お名前.comなんかでドメインを取得すると、whoisへの情報登録を代行してくれる。
代行してくれた登録情報は、お名前.comの会社の情報になるので、whoisの情報には、自分個人の情報は含まれていない、ということ。
個人利用にはありがたい代行サービスなんだけど、今回だけは、それが微妙。
目的
ということで、
AWS Certificate Managerが送信する送信先をつくります。
やり方
同じくAWSのサービスの、SESを使って、メールを受信する。
例として、example.jp
というドメインを持っていて、そのサブドメインapp.example.jp
のSSL/TLS証明書を発行する。ために、admin@app.example.jp
を受信できるようにする。
SESはこの記事を書いている時点(2016/11/08)では、まだ日本に提供されていないっぽいので、リージョンは適当に選んで使う。
事前準備:Route 53 の設定
もしDNSを設定していない状態であれば、Route 53にexample.jp
を登録する。
とりあえずHosted Zoneにexample.jp
を登録するだけでOK。
(ということで、Route 53を使う前提で書きます。)
ドメインの登録
- 左ペインのDomainsを選ぶ。
- Verify a New Domainボタンを押す。
- Domainを入力する。
- 今回のケースで登録するドメインは、
app.example.jp
- 今回のケースで登録するドメインは、
- DNSの設定について書かれている画面に切り替わる。
- Use Route 53で先に進む。
- Domain Verification Record(TXTレコード) と Email Receiving Reocrd(MXレコード)どちらも登録したいので、両方チェックを入れて、Create Record Sets。
- 少し待つと、ドメインのステータスが
verified
に変わる。
受信設定
- 左ペインのRule Setsを選ぶ。(Email Receivingの下)
- View Active Rule Setボタンを押す。
- Create Ruleボタンを押す。
- Recepientは空のままNext Step。(今回の場合は。本当は絞ったほうが良いはず。)
- Add actionで、S3を選ぶ。
- S3のバケットとかは適当に。新しく作るなり、
- prefixは、必要に応じて。
app.example.jp/
みたいにアカウント名を入れておくと便利そう。 - 今回の場合は暗号化は不要。(本当は暗号化したほうが良いはず。)
- Next Stepで先に進む。
- Rule nameは適当に。
- 他、デフォルトのままで、Next Step。
- Create Rule。
テスト
- 左ペインのDomainsを選ぶ。(戻る)
- 登録したドメイン(例:
app.example.jp
)を選ぶ。 - Send a Test Emailを押す。
- メールの内容を適当に入力して、送信。
- Toアドレスを
admin@app.example.jp
みたいにしておくと、Certificate Managerが送信先に指定するメールアドレスみたくなる。
- Toアドレスを
- S3をチェック。
- Ruleで設定したバケット、prefixの場所にメールがあるか?
- メールの内容が先ほど適当に入力したメールの内容に一致するか?
後は
Certificate Managerであれこれするだけ。