オンプレのssl証明書更新時にACMへ自動でインポートする

前回、オンプレで発行したssl証明書をACMへインポートしてCloud Frontでも使用できるようにしました。
Let’s encryptoの証明書は三ヶ月しか期限がないので、更新時にいちいち手動でインポートし直さなくてもいいように、オンプレ側の更新と同時にACMの証明書を更新できるように設定していきます。
今回も証明書はLet’s encrypto前提で、パスもデフォルトの想定で記事を書いていますので、参考にされる場合は適宜読み替えをお願いします。

AWS CLIをインストールする

まずはoriginのwebサイトが居るオンプレ側にAWS CLIをインストールします。python 2.6.5以上でCLIは動作します。
(pipのインストールやIAMでのユーザ作成は完了済みの前提)

証明書インポート用のスクリプトを作成する

証明書インポートと同時にhttpdの再起動もしてしまいます。証明書のインポートとは関係ありませんが、オンプレ側で証明書を更新した際にはhttpdの再起動も必要になるため、ついでの処置です。

作成したら、rootで実行可能なようにパーミッションを付けておきましょう。
このシェルを実行すれば、インポート済みの証明書のインポート日が更新されるので、一度実行して確認しておきましょう。

ssl証明書の自動更新時に、シェルをフックする

作成したシェルをssh証明書自動更新時に実行されるようにhookオプションを設定します。
ssl証明書の取得の記事で紹介したシェルスクリプトを改造し、証明書インポート用に作成したスクリプトが呼ばれるようにします。

これで完成です。意外と簡単でしたね。AWSのCLIが優秀なお陰です。

ここまでの作業でCloud Frontでオンプレのwordpressをキャッシュする作業は完了しました。恐らくCloud Front設定でまだ改善すべきところはあると思いますが、それはまた気づいた時にやっていこうと思います。
まあまあ手間はかかりますが、頑張ってコールドスタンバイサーバを用意するよりは、安くてパフォーマンス向上も見込める手段だと思います。当然Cloud Frontはキャッシュ用であって対障害用ではないので、キャッシュに載っていない場合は障害時にどうしようもありませんが、個人ブログ等100%に近い信頼性が必要でない場合はお勧めの手段になります。

その場合は、障害復旧後の書き戻し手段は用意しておきましょう。
オンラインバックアップサービスのtorocca!はDBの書き戻しもできるため、バックアップ機能が無いレンタルサービスを使用している場合にお勧めです。



シェアする

  • このエントリーをはてなブックマークに追加

フォローする