概要

  • 今日は、ロードバランサーに使用するためのSSL証明書をACMにインポートしたところ、証明書が”使用不可”と表示されてしまった事例を紹介します。
  • ロードバランサーは、ALBとNLBで使用できるSSL証明書の条件が少し異なります。本記事に注意事項と条件をまとめておりますので、参照ください。

弱った! インポートした証明書が”使用不可”となる

  • ELB をHTTPSプロトコルで使用するために外部ベンダより取得したSSL証明書をインポートします。しかし、ELB 作成時の「デフォルトの証明書の選択」において、「証明書を ACM にアップロードする (推奨)」を選択し、SSL証明書のインポートを試みたところ、下記のエラーメッセージが表示されました。
    • リスナーの更新が失敗しました。 インポートされた証明書の設定に互換性がないため、リスナーの使用可能な証明書のリストには表示されません。別の証明書を選択またはアップロードして、やり直してください。
  • 次に、ACM(AWS Certificate Manager)のコンソールからインポートを試みたところ、SSL証明書はインポートできましたが、「更新資格」が”使用不可”となり、正しい状態ではないようです。

ELB用の証明書をインポートする時の条件

ACMに証明書をインポートする時の条件

  • 実はELB用のSSL/TLS証明書をインポートする時はいくつかの条件があり、今回その条件を満たしておりませんでした。先ず、ACMに証明書をインポートする時の条件を整理します。
  • ACM にSSL/TLS 証明書をインポートするには、証明書とそのプライベートキーを提供する必要があります。また、証明書が CA によって署名されている場合は、中間証明書チェーンも含める必要があります。
  • ACMがサポートするアルゴリズムは、下記となります。
    • 1024 ビット RSA (RSA_1024)
    • 2048 ビット RSA (RSA_2048)
    • 4096 ビット RSA (RSA_4096)
    • Elliptic Prime Curve 256 ビット (EC_prime256v1)
    • Elliptic Prime Curve 384 ビット (EC_secp384r1)
    • Elliptic Prime Curve 521 ビット (EC_secp521r1)
  • 今回は、EC_prime256v1であったため、上記ACMにインポートするアルゴリズムの条件は満たしておりました。

ELB用の証明書をACMにインポートする時の条件

  • 次に、前述の条件とは別に、ELBのHTTPSリスナーに使用する証明書をACMにインポートする時の条件があります。ACM では、4096 ビット RSA および EC のキーアルゴリズムを使用して証明書をインポートできますが、これらの証明書はロードバランサーに関連付けることはできません。
  • ELB用の証明書をACMにインポートする時は、下記のアルゴリズムのみサポートされます。
    • 1024 ビット RSA (RSA_1024)
    • 2048 ビット RSA (RSA_2048)

解決策

  • 4096 ビット RSA および EC のキーアルゴリズムの証明書は、ACMではなく、IAMにインポートしてELBに使用する必要があります。
  • また、2048 ビットより大きい RSA キーまたは EC キーを持つ証明書を Network Load Balancer にインストールすることはできません。

参考資料

  • ACMに証明書をインポートする条件の詳細は、下記ドキュメントを参照ください。
  • 以下は、ロードバランサーまたは CloudFront ディストリビューション用にインポートした証明書が見つからない時のナレッジです。
  • 以下は、Application Load Balancer 用の HTTPS リスナーに証明書を設定する際のドキュメントです。
  • 以下は、Network Load Balancer 用の HTTPS リスナーに証明書を設定する際のドキュメントです。
  • その他、ACMやIAM に証明書をインポート、更新する際の手順や注意事項を下記にまとめております。
前提条件今回は、ACM(AWS Certificate Manager)を使った証明書のインポートです。ACMで証明書を発行するのではなく、外部認証局から発行された証明書をインポートします。この後、API Gateway のカスタムドメイン化に使用するため、リージョンは東京ではなく、バー...
概要はじめに今回は、ELBのHTTPS接続のために使用しているサーバー証明書の有効期限切れ対応です。ここで説明するケースは、ACMで発行した証明書ではなく、IAMにインポートしている証明書が間もなく期限切れとなる場合を想定して記事を書いております。あらかじめ、...

元記事はこちら

ACMにインポートした証明書が”使用不可”となった時