Azure Static Web Apps에서 프라이빗 엔드포인트 구성

개인 네트워크에서만 액세스할 수 있도록 프라이빗 엔드포인트(프라이빗 링크라고도 함)를 사용하여 정적 웹앱에 대한 액세스를 제한할 수 있습니다.

작동 방식

VNet(Azure Virtual Network)은 기존 데이터 센터에 있는 것처럼 네트워크이지만 VNet 내의 리소스는 Microsoft 백본 네트워크에서 서로 안전하게 통신합니다.

프라이빗 엔드포인트를 사용하여 Static Web Apps를 구성하면 VNet의 개인 IP 주소를 사용할 수 있습니다. 이 링크를 만들면 정적 웹앱이 VNet에 통합됩니다. 따라서 정적 웹앱은 공용 인터넷에서 더 이상 사용할 수 없으며 Azure VNet 내의 머신에서만 액세스할 수 있습니다.

참고 항목

애플리케이션을 프라이빗 엔드포인트 뒤에 배치하는 것은 VNet이 있는 지역에서만 앱을 사용할 수 있음을 의미합니다. 따라서 애플리케이션을 여러 개의 현재 위치에서 더 이상 사용할 수 없습니다.

앱에 프라이빗 엔드포인트가 사용하도록 설정된 경우 요청이 공용 IP 주소에서 오는 경우 서버는 403 상태 코드로 응답합니다. 이 동작은 프로덕션 환경과 모든 스테이징 환경에 모두 적용됩니다. 앱에 도달하는 유일한 방법은 VNet 내에 배포된 프라이빗 엔드포인트를 사용하는 것입니다.

정적 웹앱의 기본 DNS 확인은 여전히 존재하며 공용 IP 주소로 라우팅됩니다. 프라이빗 엔드포인트는 VNet 내에서 2개의 IP 주소를 노출합니다. 하나는 프로덕션 환경용이고 다른 하나는 스테이징 환경에 대해 노출됩니다. 클라이언트가 앱에 올바르게 연결할 수 있도록 하려면 클라이언트가 앱의 호스트 이름을 프라이빗 엔드포인트의 적절한 IP 주소로 확인해야 합니다. 이는 기본 호스트 이름과 정적 웹앱에 대해 구성된 모든 사용자 지정 도메인에 필요합니다. 이 해결 방법은 프라이빗 엔드포인트를 만들 때 프라이빗 DNS 영역을 선택하는 경우 자동으로 수행되며(아래 예제 참조) 권장 솔루션입니다.

온-프레미스에서 연결하거나 프라이빗 DNS 영역을 사용하지 않으려면 요청이 프라이빗 엔드포인트의 적절한 IP 주소로 라우팅되도록 애플리케이션에 대한 DNS 레코드를 수동으로 구성합니다. 프라이빗 엔드포인트 DNS 확인에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

참고 항목

프라이빗 엔드포인트는 웹 사이트로 가는 들어오는 트래픽을 특정 가상 네트워크로 제한합니다. 새 사이트 자산의 배포에는 적용되지 않습니다.

필수 조건

프라이빗 엔드포인트 만들기

이 섹션에서는 정적 웹앱에 대한 프라이빗 엔드포인트를 만듭니다.

Important

프라이빗 엔드포인트를 사용하려면 표준 호스팅 계획에 정적 웹앱을 배포해야 합니다. 측면 메뉴의 호스팅 계획 옵션에서 호스팅 계획을 변경할 수 있습니다.

  1. 포털에서 정적 웹앱을 엽니다.

  2. 측면 메뉴에서 프라이빗 엔드포인트 옵션을 선택합니다.

  3. 추가를 선택합니다.

  4. "프라이빗 엔드포인트 추가" 대화 상자에서 다음 정보를 입력합니다.

    설정
    속성 myPrivateEndpoint를 입력합니다.
    Subscription 구독을 선택합니다.
    Virtual Network 가상 네트워크를 선택합니다.
    서브넷 서브넷을 선택합니다.
    프라이빗 DNS 영역과 통합 (기본값)를 그대로 둡니다.

    ./media/create-private-link-dialog.png

  5. 확인을 선택합니다.

참고 항목

프라이빗 DNS 영역의 이름은 정적 웹앱의 기본 도메인 이름 접미사에 따라 달라집니다. 예를 들어 앱의 기본 도메인 접미사가 3.azurestaticapps.net인 경우 프라이빗 DNS 영역의 이름은 privatelink.3.azurestaticapps.net입니다. 새 정적 웹앱을 만들 때 기본 도메인 접미사는 이전 정적 웹앱의 기본 도메인 접미사와 다를 수 있습니다. 자동화된 배포 프로세스를 사용하여 프라이빗 DNS 영역을 만드는 경우 앱의 DefaultHostname 속성을 사용하여 프로그래밍 방식으로 도메인 접미사를 추출할 수 있습니다. DefaultHostname 속성 값은 <STATIC_WEB_APP_DEFAULT_DOMAIN_PREFIX>.<PARTITION_ID>.azurestaticapps.net 또는 STATIC_WEB_APP_DEFAULT_DOMAIN_PREFIX.azurestaticapps.net과 유사합니다. 기본 도메인 접미사는 <PARTITION_ID>.azurestaticapps.net 또는 azurestaticapps.net과 유사합니다.

프라이빗 엔드포인트 테스트

애플리케이션을 더 이상 공개적으로 사용할 수 없으므로 가상 네트워크 내에서 액세스할 수 있습니다. 테스트하려면 가상 네트워크 내에서 가상 머신을 설정하고 사이트로 이동합니다.

다음 단계