AWS Certificate Manager で証明書を準備する - Amazon API Gateway

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

AWS Certificate Manager で証明書を準備する

API のカスタムドメイン名を設定する前に、AWS Certificate Manager で SSL/TLS 証明書を準備する必要があります。次のステップでそのやり方を説明します。詳細については、「AWS Certificate Manager ユーザーガイド」を参照してください。

注記

API Gateway のエッジ最適化されたカスタムドメイン名を持つ ACM 証明書を使用するには、米国東部 (バージニア北部) (us-east-1) リージョンで証明書をリクエストまたはインポートする必要があります。API Gateway リージョン別カスタムドメイン名については、API と同じリージョンで証明書をリクエストまたはインポートする必要があります。証明書は、信頼された公的認証機関によって署名され、当該カスタムドメイン名を対象としている必要があります。

まず、インターネットドメインを登録します (例: example.com)。Amazon Route 53 または認定されているサードパーティーのドメインレジストラを使用できます。そのようなレジストラの一覧については、ICANN のウェブサイトの認定レジストラディレクトリを参照してください。

ドメイン名の SSL/TLS 証明書を ACM で作成またはインポートするには、次のいずれかを行います。

ACM により提供されたドメイン名の証明書をリクエストするには

  1. AWS Certificate Manager コンソールにサインインします。

  2. [証明書のリクエスト] を選択します。

  3. API のカスタムドメイン名 (例: api.example.com) を [ドメイン名] に入力します。

  4. 必要に応じて、[この証明書に別の名前を追加] を選択します。

  5. [Review and request] を選択します。

  6. [Confirm and request] を選択します。

  7. リクエストが有効であるためには、ACM が証明書を発行する前に、インターネットドメインの登録された所有者がリクエストに同意する必要があります。

ACM にドメイン名の証明書をインポートするには

  1. 証明機関からカスタムドメイン名の PEM エンコード SSL/TLS 証明書を取得します。このような CA のリストの一部については、「Mozilla Included CA List」を参照してください。

    1. 証明書のプライベートキーを生成し、OpenSSL ウェブサイトの OpenSSL ツールキットを使用して出力をファイルに保存します。

      openssl genrsa -out private-key-file 2048
      注記

      Amazon API Gateway は、Amazon CloudFront を活用して、カスタムドメイン名の証明書をサポートします。そのため、カスタムドメイン名の SSL/TLS 証明書の要件と制約は CloudFront によって指定されます。たとえば、パブリックキーの最大サイズは 2048 で、プライベートキーのサイズは 1024、2048、または 4096 とすることができます。パブリックキーのサイズは、使用している認証機関によって決まります。デフォルトの長さと異なるサイズのキーを返すよう認証機関に依頼します。詳細については、「オブジェクトへのセキュアなアクセス」および「署名付き URL と署名付き Cookie」を参照してください。

    2. OpenSSL を使用して、以前に作成されたプライベートキーで証明書署名リクエスト (CSR) を生成します。

      openssl req -new -sha256 -key private-key-file -out CSR-file
    3. CSR を認証機関に送信し、結果として生じる証明書を保存します。

    4. 認証機関から証明書チェーンをダウンロードします。

    注記

    別の方法でプライベートキーを取得し、キーが暗号化されている場合は、次のコマンドを使用してキーを復号してから、カスタムドメイン名を設定するためにキーを API Gateway に送信できます。

    openssl pkcs8 -topk8 -inform pem -in MyEncryptedKey.pem -outform pem -nocrypt -out MyDecryptedKey.pem
  2. 証明書を AWS Certificate Manager にアップロードします。

    1. AWS Certificate Manager コンソールにサインインします。

    2. [Import a certificate] を選択します。

    3. [証明書本文] に、証明機関からの PEM 形式のサーバー証明書の本文を入力するか貼り付けます。このような証明書の省略された例を次に示します。

      -----BEGIN CERTIFICATE----- EXAMPLECA+KgAwIBAgIQJ1XxJ8Pl++gOfQtj0IBoqDANBgkqhkiG9w0BAQUFADBB ... az8Cg1aicxLBQ7EaWIhhgEXAMPLE -----END CERTIFICATE-----
    4. [証明書のプライベートキー] に、PEM 形式の証明書のプライベートキーを入力するか貼り付けます。このようなキーの省略された例を次に示します。

      -----BEGIN RSA PRIVATE KEY----- EXAMPLEBAAKCAQEA2Qb3LDHD7StY7Wj6U2/opV6Xu37qUCCkeDWhwpZMYJ9/nETO ... 1qGvJ3u04vdnzaYN5WoyN5LFckrlA71+CszD1CGSqbVDWEXAMPLE -----END RSA PRIVATE KEY-----
    5. [証明書チェーン] に、PEM 形式の中間証明書を (必要に応じてルート証明書も) 空白行なしに連続して入力するか貼り付けます。ルート証明書を含める場合は、証明書チェーンの先頭は中間証明書で、末尾がルート証明書である必要があります。証明機関によって提供された中間証明書を使用します。信頼パスのチェーン内に存在しない中間証明書は含めないでください。次の例で省略された例を示します。

      -----BEGIN CERTIFICATE----- EXAMPLECA4ugAwIBAgIQWrYdrB5NogYUx1U9Pamy3DANBgkqhkiG9w0BAQUFADCB ... 8/ifBlIK3se2e4/hEfcEejX/arxbx1BJCHBvlEPNnsdw8EXAMPLE -----END CERTIFICATE-----

      別の例を示します。

      -----BEGIN CERTIFICATE----- Intermediate certificate 2 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Intermediate certificate 1 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Optional: Root certificate -----END CERTIFICATE-----
    6. [Review and import] を選択します。

証明書が正常に作成またはインポートされた後、証明書の ARN をメモします。カスタムドメイン名を設定する際に必要になります。