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 웹 사이트에서 Accredited Registrar Directory를 참조하십시오.

도메인 이름에 대한 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 및 서명된 쿠키 생성 단원을 참조하십시오.

    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을 기록해 둡니다. 사용자 지정 도메인 이름을 설정할 때 필요합니다.