App Service 랜딩 존 가속기를 위한 네트워크 토폴로지 및 연결 고려 사항
이 문서에서는 Azure App Service 랜딩 존 가속기 사용 시 적용할 수 있는 네트워크 토폴로지 및 연결에 대한 디자인 고려 사항과 권장 사항을 제공합니다. 네트워킹은 랜딩 존에 있는 거의 모든 항목의 중심입니다.
이 아키텍처에 대한 네트워크 토폴로지 및 연결 고려 사항은 호스트되는 워크로드의 요구 사항과 조직의 보안 및 규정 준수 요구 사항에 따라 달라집니다.
디자인 고려 사항
Azure에 App Service 솔루션을 배포하는 경우 애플리케이션이 제대로 작동하게 하려면 네트워킹 요구 사항을 신중하게 고려해야 합니다. 배포를 계획할 때 고려해야 할 여러 가지 주요 요소가 있습니다.
애플리케이션에 대한 네트워킹 요구 사항을 결정합니다.
- 들어오는 트래픽. 앱이 웹 사이트 또는 API와 같은 웹 기반 서비스를 제공하는 경우 인터넷에서 들어오는 트래픽을 수신할 수 있어야 합니다. 앱이 들어오는 연결을 수락할 수 있게 하려면 적절한 포트에서 수신 대기하도록 구성해야 합니다.
- 다른 Azure 리소스에 대한 액세스. 앱은 프라이빗 엔드포인트를 사용하여 스토리지 계정 또는 데이터베이스와 같은 Azure의 리소스에 액세스할 수 있어야 할 수 있습니다. 이 리소스는 Azure 가상 네트워크 또는 다른 Azure 서비스 내에 있을 수 있습니다.
- SSL/TLS. 앱과 해당 사용자 간에 통신을 보호하려면 SSL/TLS 암호화를 사용하도록 설정해야 합니다. 이렇게 하면 앱과 사용자 간의 트래픽이 암호화되어 제3자가 중요한 정보를 가로채지 못하도록 보호할 수 있습니다.
- IP 제한 사항. 요구 사항에 따라 특정 IP 주소 또는 범위에서 앱에 대한 액세스를 허용하거나 차단해야 할 수 있습니다. 이렇게 하면 보안을 강화하고 앱에 대한 액세스를 특정 사용자 또는 위치로 제한할 수 있습니다.
App Service 요금제 계층을 선택합니다. 애플리케이션의 네트워킹 요구 사항을 사용하여 App Service 요금제에 적합한 계층을 결정합니다. 요구 사항에 가장 적합한 계층을 결정하려면 다양한 App Service 요금제 계층과 해당 기능을 검토하는 것이 좋습니다.
App Service 다중 테넌트 서비스
App Service 다중 테넌트 솔루션은 단일 배포 단위의 다른 App Service 리소스와 단일 인바운드 IP 주소 및 여러 아웃바운드 IP 주소를 공유합니다. 이러한 IP 주소는 다양한 이유로 변경될 수 있습니다. 다중 테넌트 App Service 솔루션에 일관된 아웃바운드 IP 주소가 필요한 경우 NAT 게이트웨이를 구성하거나 가상 네트워크 통합을 사용할 수 있습니다.
App Service 솔루션에 전용 IP 주소가 필요한 경우 앱 할당 주소를 사용하거나, 애플리케이션 게이트웨이(고정 IP 주소가 할당됨)와 함께 App Service 인스턴스 앞에 배치하거나, IP 기반 SSL 인증서를 사용하여 App Service 플랫폼을 통해 앱에 전용 IP 주소를 할당할 수 있습니다.
App Service 솔루션에서 온-프레미스, 프라이빗 또는 IP 제한 서비스에 연결해야 하는 경우 다음을 고려합니다.
- 다중 테넌트 App Service 배포에서 App Service 호출은 광범위한 IP 주소에서 시작됩니다. 가상 네트워크 통합이 필요할 수 있습니다.
- API Management 및 Application Gateway 같은 서비스를 사용하여 네트워킹 경계 간에 호출을 프록시할 수 있습니다. 이러한 서비스는 필요한 경우 고정 IP 주소를 제공할 수 있습니다.
다중 테넌트 App Service 배포에 프라이빗 또는 퍼블릭 엔드포인트를 사용할 수 있습니다. 프라이빗 엔드포인트를 사용하는 경우 App Service 솔루션에 대한 퍼블릭 노출이 제거됩니다. 인터넷을 통해 App Service 솔루션의 프라이빗 엔드포인트에 액세스할 수 있어야 하는 경우 Application Gateway를 사용하여 App Service 솔루션을 노출하는 것이 좋습니다.
다중 테넌트 App Service 배포는 포트 세트를 노출합니다. 다중 테넌트 App Service 배포에서 이러한 포트에 대한 액세스를 차단하거나 제어하는 방법은 없습니다.
아웃바운드 가상 네트워크 통합을 위해 서브넷을 올바르게 계획하고 필요한 IP 주소 수를 고려합니다. 가상 네트워크 통합은 전용 서브넷에 따라 다릅니다. Azure 서브넷을 프로비저닝할 때 Azure는 5개 IP를 예약합니다. 각 App Service 요금제에 대해 통합 서브넷에서 하나의 주소가 사용됩니다. 앱을 4개 인스턴스(예: 4개 IP 주소)로 스케일링하면 4개 IP 주소가 사용됩니다. 스케일 업 또는 다운하면 짧은 시간 동안 필요한 주소 공간이 2배가 됩니다. 이렇게 되면 지정된 서브넷 크기에 대해 사용 가능한 지원되는 인스턴스에 영향을 줍니다.
할당 후에는 서브넷 크기를 변경할 수 없으므로, 앱이 도달할 수 있는 규모를 수용할 만큼 충분히 큰 서브넷을 사용해야 합니다. 서브넷 용량 관련 문제를 방지하려면 가상 네트워크 통합에 주소가 64개인 /26을 사용합니다.
다중 테넌트 App Service 솔루션에 연결하고 전용 아웃바운드 주소가 필요한 경우 NAT 게이트웨이를 사용합니다.
App Service Environment(단일 테넌트)
- App Service Environment 네트워크 디자인(외부 또는 내부 부하 분산 장치)을 결정합니다. 인터넷에서 직접 액세스해야 하는 경우 외부 배포를 사용합니다. 내부 부하 분산 장치 배포를 사용하여 App Service Environment가 배포된 가상 네트워크 내에서만 액세스를 노출합니다. 후자의 배포는 앱에 대한 네트워크 액세스와 관련된 또 다른 수준의 보안과 제어를 제공합니다.
- Azure App Service Environment의 App Services는 Azure App Service Environment 수명 동안 인바운드 및 아웃바운드 통신용 고정 전용 IP 주소를 가져옵니다.
- App Service Environment에서 온-프레미스, 프라이빗 또는 IP 제한 서비스에 연결해야 하는 경우 App Service Environment는 가상 네트워크의 컨텍스트 내에서 실행됩니다.
- App Service Environment를 배포할 때 서브넷의 크기를 선택합니다. 나중에 크기를 변경할 수 없습니다. 256개 주소가 있고 최대 크기 Azure App Service Environment 및 스케일링 요구 사항을 처리할 수 있는 /24 크기를 권장합니다.
디자인 권장 사항
다음 모범 사례는 App Service 배포에 적용됩니다.
- App Service 솔루션에 커넥트:
- App Service 솔루션 앞에 Azure 웹 애플리케이션 방화벽을 구현합니다. Azure Front Door, Application Gateway 또는 파트너 서비스를 사용하여 이 OWASP 기반 보호를 제공합니다. 단일 지역에 Azure Front Door 또는 Application Gateway를 사용하거나 여러 지역에 둘 다 사용할 수 있습니다. 지역에서 경로 라우팅이 필요한 경우 Application Gateway를 사용합니다. 다중 지역 부하 분산 및 Web Application Firewall이 필요한 경우 Azure Front Door를 사용합니다.
- App Service에 프라이빗 엔드포인트를 사용하면 퍼블릭 인터넷 기반 엔드포인트가 아닌 프라이빗 네트워크 기반 엔드포인트를 통해 앱에 액세스할 수 있습니다. 프라이빗 엔드포인트를 사용하는 경우 앱에 대한 또 다른 계층의 보안, 절감된 데이터 송신 비용 및 향상된 성능을 제공하는 가상 네트워크의 사용자로만 앱 액세스를 제한할 수 있습니다.
- 액세스 제한을 사용하여 유효한 위치에서만 App Service 솔루션에 연결할 수 있도록 합니다. 예를 들어 다중 테넌트 App Service 배포가 API를 호스트하고 API Management 앞에 배치된 경우 App Service 솔루션이 API Management에서만 액세스할 수 있도록 액세스 제한을 설정합니다.
- App Service 솔루션에서 커넥트:
- 다른 Azure 서비스에 대한 프라이빗 연결이 필요하면 해당 서비스에서 지원하는 경우 Azure Private Link를 사용합니다.
- 기본 제공 도구를 사용하여 네트워킹 문제를 해결합니다.
- 연결 풀을 사용하여 SNAT 포트 소모를 방지합니다. 동일한 호스트 및 포트에 대한 연결을 반복적으로 만들면 느린 응답 시간, 일시적인 5xx 오류, 시간 제한 또는 외부 엔드포인트 연결 문제가 발생할 수 있습니다.
- App Service에 대한 Azure 보안 기준의 네트워크 보안 섹션에 설명된 권장 사항을 따릅니다.
App Service 랜딩 존 가속기의 네트워크 토폴로지 및 연결 고려 사항의 목표는 App Services를 배포하기 위한 확장 가능하고 복원력 있는 환경을 구현하기 위한 고급 템플릿을 제공하는 것입니다. 이 템플릿은 네트워크 아키텍처 및 연결에 중점을 두고 Azure에서 App Services 솔루션을 호스트하도록 랜딩 존을 빠르고 효율적으로 설정하는 데 도움이 될 수 있습니다.