Tech Sketch Bucket of Technical Chips by TIS Inc.

AWS Tips -- AWS SDK for RubyでELBに設定したSSLサーバ証明書を更新する --

Pocket

この記事はeXcale Developer's Blogから移転されたものです。

eXcale 開発チームの平井です。

AWSでは、ELBのSSL Terminationの設定をして、SSLサーバ証明書を導入することでHTTPSのアクセスを扱うことが簡単にできます。
その設定方法は、公式ドキュメントで紹介されています。

ご存知の通りSSLサーバ証明書には期限があり、定期的に更新する必要があります。今回は、そのELBに設定したSSLサーバ証明書を更新するお話です。


AWSでは、アップロード済みの既存のサーバ証明書の更新はどうやらできないようで、こちらの公式ドキュメントにあるように、更新する際は以下の手順を踏む必要があります。

  • 新しいSSLサーバ証明書をAWS(IAM)にアップロード
  • ELBのListenersの設定を新しい証明書を使うように変更

ここでは、AWS SDK for Rubyを用いて、既にSSL設定がされているELBのSSLサーバ証明書を更新する方法をご紹介します。

新しいSSLサーバ証明書をAWS(IAM)にアップロード

新しいSSLサーバ証明書をアップロードするコードは以下となります。AWSのaccess keyや新しく設定するサーバ証明書の情報は適宜変更してください。
ここでは、証明書の名前をsample-certificateとしています。


ELBのListenersの設定を新しい証明書を使うように変更

既にSSLサーバ証明書が設定されているELBに、新しい証明書を設定するコードは次のようになります。
ここでは、sample-elbという名前のELBに対して、先ほど作成したsample-certificateの証明を設定しています。


サーバ証明書の削除

さて、更新ができたら古いサーバ証明書は不要なので削除します。
削除は、AWS Management Consoleからはできないらしく、コマンドラインインターフェイス(CLI)などで実施する必要があります。
ここでは、これまでと同様にAWS SDK for Rubyを使った方法をご紹介します。
以下は、sample-certificate-oldという名前の証明書を削除しています。

サーバ証明書の一覧は以下のコードで確認することができます。過去に作成した証明書の名前が分からないときや、今回作成した証明書ができているかを確認する時に参考にしてみてください。


最後に

いかがでしょうか、証明書の更新を忘れてしまうとその証明書は信頼性のない証明書となってしまうため忘れずに更新しましょう。

エンジニア採用中!私たちと一緒に働いてみませんか?