Azure Spring Apps에 기존 사용자 지정 도메인 매핑

참고 항목

Azure Spring Apps는 Azure Spring Cloud 서비스의 새 이름입니다. 서비스에 새 이름이 지정되었지만, 자산을 업데이트하는 동안 스크린샷, 비디오, 다이어그램과 같은 일부 위치에서는 당분간 이전 이름이 표시됩니다.

이 문서는 다음에 적용됩니다. ✔️ Java ✔️ C#

이 문서의 적용 대상: ✔️ 표준 ✔️ Enterprise

DNS(Domain Name Service)는 네트워크를 통해 네트워크 노드 이름을 저장하는 기술입니다. 이 문서에서는 CNAME 레코드를 사용하여 www.contoso.com와 같은 도메인을 매핑합니다. 이 기술은 인증서를 사용하여 사용자 지정 도메인을 보호하며 SSL(Secure Sockets Layer)이라고도 하는 TLS(전송 계층 보안)를 적용하는 방법을 보여줍니다.

인증서는 웹 트래픽을 암호화합니다. 이러한 TLS/SSL 인증서는 Azure Key Vault에 저장할 수 있습니다.

필수 구성 요소

  • Azure 구독 구독이 없는 경우 시작하기 전에 체험 계정을 만드세요.
  • (선택 사항) Azure CLI 버전 2.45.0 이상. 다음 명령을 사용하여 Azure Spring Apps 확장을 설치합니다. az extension add --name spring
  • Azure Spring Apps에 배포된 애플리케이션(빠른 시작: Azure Portal을 사용하여 Azure Spring Apps에서 기존 애플리케이션 시작 참조 또는 기존 앱 사용) 기본 플랜을 사용하여 애플리케이션을 배포하는 경우 표준 플랜으로 업그레이드해야 합니다.
  • 도메인 공급자(예: GoDaddy)에 대한 DNS 레지스트리에 액세스할 수 있는 도메인 이름입니다.
  • 타사 공급자의 프라이빗 인증서(즉, 자체 서명된 인증서) 인증서는 도메인과 일치해야 합니다.
  • 배포된 Azure Key Vault 인스턴스입니다. 자세한 내용은 Azure Key Vault 정보를 참조하세요.

Azure Spring Apps 관리의 IP 주소는 아직 Azure Trusted Microsoft 서비스에 속하지 않습니다. 따라서 Azure Spring Apps가 프라이빗 엔드포인트 연결로 보호되는 Key Vault에서 인증서를 로드할 수 있도록 하려면 다음 IP 주소를 Azure Key Vault 방화벽에 추가해야 합니다.

  • 20.99.204.111
  • 20.201.9.97
  • 20.74.97.5
  • 52.235.25.35
  • 20.194.10.0
  • 20.59.204.46
  • 104.214.186.86
  • 52.153.221.222
  • 52.160.137.39
  • 20.39.142.56
  • 20.199.190.222
  • 20.79.64.6
  • 20.211.128.96
  • 52.149.104.144
  • 20.197.121.209
  • 40.119.175.77
  • 20.108.108.22
  • 102.133.143.38
  • 52.226.244.150
  • 20.84.171.169
  • 20.93.48.108
  • 20.75.4.46
  • 20.78.29.213
  • 20.106.86.34
  • 20.193.151.132

인증서 가져오기

PFX에서 인증서 파일 준비(선택 사항)

Azure Key Vault는 PEM 및 PFX 형식의 프라이빗 인증서 가져오기를 지원합니다. 인증서 공급자에서 가져온 PEM 파일이 Key Vault에 인증서 저장 섹션에서 작동하지 않는 경우 다음 단계에 따라 Azure Key Vault용 PFX를 생성합니다.

중간 인증서 병합

인증 기관에서 여러 인증서를 인증서 체인에 제공하면 인증서를 순서대로 병합해야 합니다.

이 작업을 수행하려면 텍스트 편집기에서 받은 각 인증서를 엽니다.

mergedcertificate.crt라는 병합된 인증서의 파일을 만듭니다. 텍스트 편집기에서 각 인증서의 내용을 이 파일에 복사합니다. 사용자 인증서의 순서는 사용자의 인증서로 시작하고 루트 인증서로 끝나는 인증서 체인의 순서에 따라야 합니다. 다음 예제와 유사합니다.

-----BEGIN CERTIFICATE-----
<your entire Base64 encoded SSL certificate>
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
<The entire Base64 encoded intermediate certificate 1>
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
<The entire Base64 encoded intermediate certificate 2>
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
<The entire Base64 encoded root certificate>
-----END CERTIFICATE-----

PFX로 인증서 내보내기

인증서 요청 생성에 사용된 프라이빗 키로 병합된 TLS/SSL 인증서를 내보냅니다.

OpenSSL을 사용하여 인증서 요청을 생성한 경우 프라이빗 키 파일을 만든 것입니다. 인증서를 PFX로 내보내려면 다음 명령을 실행합니다. 자리 표시자 <private-key-file><merged-certificate-file>을 사용자의 프라이빗 키 및 병합된 인증서 파일에 대한 경로로 바꿉니다.

openssl pkcs12 -export -out myserver.pfx -inkey <private-key-file> -in <merged-certificate-file>

메시지가 표시되면 내보내기 암호를 정의합니다. 나중에 TLS/SSL 인증서를 Azure Key Vault에 업로드할 때 이 암호를 사용합니다.

IIS 또는 Certreq.exe를 사용하여 인증서 요청을 생성한 경우 인증서를 로컬 컴퓨터에 설치한 다음 해당 인증서를 PFX로 내보냅니다.

Key Vault에 인증서 저장

인증서를 가져오는 절차를 수행하려면 PEM 또는 PFX로 인코딩된 파일이 디스크에 있어야 하며 프라이빗 키가 필요합니다.

다음 단계를 사용하여 키 자격 증명 모음에 인증서를 업로드합니다.

  1. 키 자격 증명 모음 인스턴스로 이동합니다.

  2. 탐색 창에서 인증서를 선택합니다.

  3. 상단 메뉴에서 생성/가져오기를 선택합니다.

  4. 인증서 만들기 페이지에서 인증서 만들기 메서드가져오기를 선택한 다음, 인증서 이름 값을 제공합니다.

  5. 인증서 파일 업로드에서 인증서 위치로 이동하여 선택합니다.

  6. 암호 아래에서 암호로 보호된 인증서 파일을 업로드하는 경우 여기에 해당 암호를 입력합니다. 그렇지 않으면 비워 둡니다. 인증서 파일을 성공적으로 가져오면 키 자격 증명 모음에서 해당 암호를 제거합니다.

  7. 만들기를 실행합니다.

    Azure Portal의 인증서 만들기 대화 상자 스크린샷

키 자격 증명 모음에 Azure Spring Apps 액세스 권한 부여

인증서를 가져오기 전에 키 자격 증명 모음에 Azure Spring Apps 액세스 권한을 부여해야 합니다.

다음 단계에 따라 Azure Portal을 사용하여 액세스 권한을 부여합니다.

  1. 키 자격 증명 모음 인스턴스로 이동합니다.
  2. 탐색 창에서 액세스 정책을 선택합니다.
  3. 위쪽 메뉴에서 만들기를 선택합니다.
  4. 정보를 입력하고 추가 단추를 선택한 다음, 액세스 정책을 만듭니다.
비밀 권한 인증서 권한 보안 주체 선택
가져오기, 목록 가져오기, 목록 Azure Spring Apps 도메인-관리

참고 항목

"Azure Spring Apps 도메인 관리"를 찾을 수 없는 경우 "Azure Spring Cloud 도메인 관리"를 검색합니다.

비밀 권한 및 인증서 권한에 대한 가져오기 및 나열 옵션이 강조 표시된 Azure Portal 액세스 정책 추가 페이지의 스크린샷

보안 주체 선택 드롭다운에서 Azure Spring Apps 도메인 관리가 선택되어 있는 Azure Portal 액세스 정책 만들기 페이지의 스크린샷

Azure Spring Apps로 인증서 가져오기

  1. Azure Spring Apps 인스턴스로 이동합니다.

  2. 탐색 창에서 TLS/SSL 설정을 선택합니다.

  3. Key Vault 인증서 가져오기를 선택합니다.

    키 자격 증명 모음 인증서 가져오기 단추가 강조 표시된 TLS/SSL 설정 페이지를 보여 주는 Azure Portal의 스크린샷.

  4. Azure에서 인증서 선택 페이지의 드롭다운 옵션에서 구독, 키 자격 증명 모음인증서를 선택한 다음, 선택을 선택합니다.

    Azure에서 인증서 선택 페이지를 보여 주는 Azure Portal의 스크린샷

  5. 열린 인증서 이름 설정 페이지에서 인증서 이름을 입력하고 필요한 경우 자동 동기화 사용을 선택한 다음, 적용을 선택합니다. 자세한 내용은 자동 동기화 인증서 섹션을 참조하세요.

    Azure Portal 인증서 이름 설정 대화 상자의 스크린샷

  6. 인증서를 성공적으로 가져오면 프라이빗 키 인증서 목록에 표시됩니다.

    프라이빗 키 인증서 탭을 보여 주는 Azure Portal의 스크린샷

Important

이 인증서를 사용하여 사용자 지정 도메인을 보호하려면 인증서를 특정 도메인에 바인딩해야 합니다. 자세한 내용은 SSL 바인딩 추가 섹션을 참조하세요.

인증서 자동 동기화

Azure Key Vault에 저장된 인증서가 만료되기 전에 갱신되는 경우가 있습니다. 마찬가지로 인증서 관리를 위한 조직 보안 정책에 따라 DevOps 팀에서 정기적으로 인증서를 새 인증서로 교체해야 할 수 있습니다. 인증서에 자동 동기화를 사용하도록 설정하면 Azure Spring Apps는 일반적으로 24시간마다 정기적으로 새 버전의 키 자격 증명 모음을 동기화합니다. 새 버전을 사용할 수 있는 경우 Azure Spring Apps는 이 버전을 가져온 다음, 가동 중지 시간을 발생시키지 않는 인증서를 사용하여 다양한 구성 요소를 위해 이 버전을 다시 로드합니다. 다음 목록에서는 영향을 받는 구성 요소와 관련 시나리오를 보여줍니다.

Azure Spring Apps에서 인증서를 가져오거나 다시 로드하면 활동 로그가 생성됩니다. 활동 로그를 보려면 Azure Portal에서 Azure Spring Apps 인스턴스로 이동하고 탐색 창에서 활동 로그를 선택합니다.

참고 항목

인증서 자동 동기화 기능은 Azure Key Vault에서 가져온 프라이빗 인증서와 공용 인증서와 함께 작동합니다. 고객이 업로드하는 콘텐츠 인증서에는 이 기능을 사용할 수 없습니다.

키 자격 증명 모음에서 Azure Spring Apps로 인증서를 가져올 때 인증서 자동 동기화 기능을 사용하거나 사용하지 않도록 설정할 수 있습니다. 자세한 내용은 Azure Spring Apps로 인증서 가져오기 섹션을 참조하세요.

Azure Spring Apps로 이미 가져온 인증서에 이 기능을 사용하거나 사용하지 않도록 설정할 수도 있습니다.

가져온 인증서에 자동 동기화를 사용하거나 사용하지 않도록 설정하려면 다음 단계를 수행합니다.

  1. 프라이빗 키 인증서 또는 공개 키 인증서 목록으로 이동합니다.

  2. 자동 동기화 열 뒤에 있는 줄임표(...) 단추를 선택한 다음, 자동 동기화 사용 또는 자동 동기화 사용 안 함을 선택합니다.

    줄임표 단추 메뉴가 열려 있고 자동 동기화 사용 옵션이 선택된 인증서 목록을 보여 주는 Azure Portal의 스크린샷.

사용자 지정 도메인 추가

CNAME 레코드를 사용하여 사용자 지정 DNS 이름을 Azure Spring Apps에 매핑할 수 있습니다.

참고 항목

A 레코드는 지원되지 않습니다.

CNAME 레코드 만들기

DNS 공급자로 이동하고 CNAME 레코드를 추가하여 도메인을 <service-name>.azuremicroservices.io에 매핑합니다. 여기서 <service-name>은 Azure Spring Apps 인스턴스의 이름입니다. 와일드카드 도메인 및 하위 도메인을 지원합니다.

CNAME을 추가한 후 DNS 레코드 페이지는 다음 예제와 비슷합니다.

Azure Spring Apps 인스턴스를 보여 주는 DNS 레코드 페이지의 스크린샷

Azure Spring Apps 앱에 사용자 지정 도메인 매핑

Azure Spring Apps에 애플리케이션이 없으면 빠른 시작: Azure Spring Apps에 첫 번째 애플리케이션 배포의 지침을 수행합니다.

애플리케이션 페이지로 이동합니다.

  1. 사용자 지정 도메인을 선택합니다.

  2. 사용자 지정 도메인 추가를 선택합니다.

    사용자 지정 도메인 페이지를 보여 주는 Azure Portal의 스크린샷

  3. CNAME 레코드를 추가한 정규화된 도메인 이름을 입력합니다(예: www.contoso.com). 호스트 이름 레코드 형식이 CNAME(<service-name>.azuremicroservices.io)으로 설정되어 있는지 확인합니다.

  4. 유효성 검사를 선택하여 추가 단추를 사용하도록 설정합니다.

  5. 추가를 선택합니다.

    Azure Portal 사용자 지정 도메인 추가 대화 상자의 스크린샷

하나의 앱이 여러 도메인을 포함할 수 있지만, 하나의 도메인은 하나의 앱에만 매핑할 수 있습니다. 사용자 지정 도메인을 앱에 성공적으로 매핑하면 사용자 지정 도메인 테이블에 표시됩니다.

사용자 지정 도메인 테이블을 보여 주는 Azure Portal의 스크린샷

참고 항목

사용자 지정 도메인에 안전하지 않음이라는 레이블이 있으면 아직 SSL 인증서에 바인딩되지 않았다는 뜻입니다. 브라우저에서 사용자 지정 도메인으로 전송되는 HTTPS 요청은 오류 또는 경고를 수신합니다.

SSL 바인딩 추가

위의 그림처럼 사용자 지정 도메인 테이블에서 SSL 바인딩 추가를 선택합니다.

  1. 인증서를 선택하거나 가져옵니다.

  2. 저장을 선택합니다.

    TLS/SSL 바인딩 창을 보여 주는 Azure Portal의 스크린샷

SSL 바인딩을 성공적으로 추가한 후에는 도메인 상태는 안전: 정상입니다.

정상 도메인 상태를 보여 주는 SSL 바인딩의 스크린샷

HTTPS 적용

기본적으로 여전히 누구나 HTTP를 사용하여 앱에 액세스할 수 있지만, 모든 HTTP 요청을 HTTPS 포트로 리디렉션할 수 있습니다.

앱 페이지의 탐색 영역에서 사용자 지정 도메인을 선택합니다. 그런 다음, HTTPS만 사용Yes로 설정합니다.

Https Only 옵션이 강조 표시된 SSL 바인딩의 스크린샷.

작업이 완료되면 앱을 가리키는 HTTPS URL 중 하나로 이동합니다. HTTP URL은 작동하지 않습니다.

다음 단계