以前使っていたサーバーが、以前に3日ほど通信障害で、
アボンしたこともあり、年末に切れる契約を見越して、
mixhostという、サーバーに夏頃に切り替えました。
無事、移行も済んだところで、
ある日、メールが届かなくなりました!
普段だと、もっと届くはずなのにと思って、
別のアドレスから送ってみると、「送信エラー」が返ってきます。
1時間の送信量がオーバーしていて、rejectされている様子。
早速、サポートにメールを入れたところ、
対応に2,3日との自動応答・・・
Gmailへの転送(フォーワード)にしていたのを、
POP3で受け、サポートから、連絡が来るのを待ったところ、
制約がかかっていたということで、解除されました。
「無料期間からの移行時に、解除できてなかった」と言っていますが、
無料期間後、数ヶ月転送出来ていました。
明確な回答もなく、自分で制御できないのも不安すぎるので、
mixhostを捨てて、AWSに移行することにしました。
さて、本題です。
1年前、AWSを使いはじめました。
最低限の機能しか、使っていませんが、
一般的には、1サーバー・1ドメインが普通だと思います。
1サーバー・複ドメインでも、もちろん運用出来ますが、
SSL化すると問題が発生します。
解決策としては、
- お金で解決
- 技術的に何とかする
です。
***
冗長性のために、サーバー2台。上にロードバランサーを置いて運用しています。
AWSのELB(エラスティック・ロードバランサー)には、
1つのSSL証明書しか、割当が出来ません。
お金のある人は、ロードバランサーを複数契約してもらえば、
苦労することなく、SSL化が可能なんですが、
ひと月$20もするので、SSLを付けて1つのELBで運用できる方法を探しました。
※AWSに聞いても、出来るかも。という解答で、答えはくれませんでした。今思えば、教えたくなかったのかも?!
Cloudfront(CDN)は、無制限でSSLを付けることが出来ます。
なので、CloudfrontのOriginをELBに指定し、SSLを割り当て運用するのですが、
ドメイントップで、Cloudfrontを作っても、Route53で割当が出来ませんでした。(1年前)
サブドメイン(wwwなど)を付けると、割当が出来たので、
当時は、ケツの余裕がなかったので、wwwを付けて運用してきたのですが、
今回の移行に当たり、見た目「www」邪魔なので、
試しに、もう1度、
トップドメインでCloudfrontで証明書を作り、
Route53で割当を試みたところ、あっさり割当完了!
以前は、AliasにCloudfrontの名前が出てこなかったのですが、
出来て当然のことなので、
きっと、去年の私は、何か間違っていたのかもしれません。
Cloudfrontに割り当て出来るSSLの上限は、10 x 10個
去年、ものすごく時間をかけて、
1つのELBにSSLを割り当てる方法を試行錯誤したのですが、
Certificate Managerの仕様に、わりと悩まされます。
というのも、1つずつSSLの証明を発行していたところ、
10個でエラーが表示されるようになりました。
回避するには、「この証明に別の名前を追加」で、追加していきます。
30個ほど、まとめて登録しようとしたら、エラーに。
10+1個でエラーだったので、追加できるのは 9個が上限みたいです。(計10個)
しかし、不要になったドメイン証明書を個別に消すことは出来ないので、
作り直すしかありません。
しかし、11個目の証明書を作ろうとすると、余裕が無いためエラーになるので、
1つは予備として、9個(実質90個)が上限となります。
証明書を発行したら、Cloudfrontで証明書の入替え。
去年は、1つ1つDisable >> Deleteし、再作成。
Route53も再割り当てと、ものすごく面倒なことをしていましたが、
対象のCloudfrontのGeneralから、SSLを切り替えるだけでOKです。
今回、ワイルドカード証明書の発行ができることを知りました。
省略出来るのならと、
*.shoroji.com (*.shoroji.net)などと作っていったのですが、
ネイキッドドメイン(wwwなし)の場合、該当しないため、
shoroji.com (shoroji.net)の証明書も、必要となります(計4つになる)
過去に、wwwを付けて運用してきたので、
wwwなしのネイキッドで動かすためには、2つの証明書が必要になります。
www.shoroji.com リダイレクト shoroji.comで、1年ぐらいかけて、移行する必要がありそうです。
ワイルドカード指定の場合でも、ネイキッドも含めてくれたら良かったのに。
S3を使ったリダイレクト
WordPressだと、サイトURLをhttp://shoroji.comに書き換えれば、
勝手にやってくれますが、
S3を使ってすることが出来るようです。
S3のバケットに、www.shoroji.comを作成し、
プロパティより、Static website hostingで設定
あとは、Cloudfrontから、www.shoroji.com のエイリアスを、上記S3のバケットに割り当てるだけ。
参 >> ネイキッド・ドメインのリダイレクトをRoute53 + S3で実現する
***
初めからすべて完璧にはできません。動かないときは、イラッとしますが、
いろいろ試行錯誤を重ねていくことで、
少しづつ、理解が深まっていくのは、良いですね。