IAMにインポートしたSSL証明書の更新

1月 22, 2020ACM,AWS,ELB,IAM_Policy関連

概要

はじめに

  • 今回は、ELBのHTTPS接続のために使用しているサーバー証明書の有効期限切れ対応です。ここで説明するケースは、ACMで発行した証明書ではなく、IAMにインポートしている証明書が間もなく期限切れとなる場合を想定して記事を書いております。
  • あらかじめ、外部プロバイダーから新しい証明書を取得してください。CSR(証明書発行要求)の作り方は、下記記事を参照。
 

AWSでサーバー証明書を使用するには

  • ウェブサイト、ウェブアプリケーションへHTTPS 接続を有効にするために、SSL/TLS サーバー証明書が必要です。AWS Certificate Manager(ACM)がサポートされているリージョンでは、ACMを使用して、サーバー証明書を管理することが推奨されています。
  • ACMがサポートされていないリージョンにおいてHTTPS 接続を有効にする必要がある場合にのみ、IAMを証明書マネージャーとして使用します。IAM はプライベートキーを暗号化し、保存します。なお、IAMは、外部プロバイダーで発行された証明書をインポートできますが、ACMで発行された証明書をインポートすることはできません。
 

IAMに証明書をインポートするケース

  • 前述の通り、ACMがサポートされていないリージョンのみ、IAMに証明書をインポートして使用します。今回は、ACMがサポートされていないリージョンであったため、ELBの証明書管理に、IAM を使用しております。
  • ACMがサポートされているリージョンは下記のドキュメントを参照ください。
 

IAMにインポートしている証明書を更新する方法

新しい証明書をインポートする

  • EC2のコンソールからLoad Balancersを選択します。対象のLoad BalancerのListnersタブを開きます。SSL CertificateのView/edit certificatesを選択します。
     
  • 更新対象の証明書を確認します。Expire Dataより間もなく期限切れとなることが分かります。
 
  • 上部の"+"を選択、次に"Import certificate"をクリックします。
  • Import to に"IAM" を選択し、証明書の名前、プライベートキー、サーバー証明書、中間証明書を貼り付け、Importを押します。
   
  • インポートができたら、Addを押します。 
 

デフォルトの証明書を切替える

  • デフォルトの証明書を今回追加した証明書に切り替えます。対象Load BalancerのListnersタブから対象リスナーにチェックを入れ、Editを選択します。
 
  • Default SSL certificateを先ほど追加した証明書に変更し、Update を選択します。
 

期限切れの証明書を削除する

  • 既存の古い証明書をlistnerから削除します。対象Load BalancerのListnersタブからSSL CertificateのView/edit certificatesを選択します。
  • 上部の"-“を選択します。既存の古い証明書をチェックし、Removeを選択します。
  • listnerから既存の古い証明書が削除されたことを確認します。
 

動作確認

  • 必要に応じて、opensslコマンドやALB アクセスログを確認して、新しい証明書でアクセスがされていることを確認します。