Share via


Azure App Service의 인바운드 및 아웃바운드 IP 주소

Azure App ServiceApp Service Environment를 제외한 다중 테넌트 서비스입니다. App Service Environment에 없는 앱(격리 계층에 있지 않음)은 다른 앱과 네트워크 인프라를 공유합니다. 결과적으로, 앱의 인바운드 및 아웃바운드 IP 주소는 다를 수 있으며 특정 상황에서 변경할 수 있습니다.

App Service Environment는 전용 네트워크 인프라를 사용하므로 App Service Environment에서 실행되는 앱은 인바운드 및 아웃바운드 연결 모두에 대해 고정 전용 IP 주소를 가져옵니다.

App Service에서 IP 주소가 작동하는 방식

App Service 앱은 App Service 요금제에서 실행되고 App Service 요금제는 Azure 인프라의 배포 단위 중 하나(내부적으로는 웹 공간이라고 함)에 배포됩니다. 각 배포 단위에는 하나의 공용 인바운드 IP 주소와 아웃바운드 IP 주소 집합을 포함하는 가상 IP 주소 집합이 할당됩니다. 동일한 배포 단위의 모든 App Service 요금제와 이러한 계획에서 실행되는 앱 인스턴스는 동일한 가상 IP 주소 집합을 공유합니다. App Service Environment(격리된 계층의 App Service 요금제)의 경우 App Service 요금제는 배포 단위 그 자체이므로 가상 IP 주소는 결과적으로 App Service 요금제 전용입니다.

배포 단위 간에 App Service 요금제를 이동할 수 없으므로 일반적으로 앱에 할당된 가상 IP 주소는 동일하게 유지되지만 예외가 있습니다.

인바운드 IP가 변경되는 경우

스케일 아웃 인스턴스의 수에 관계 없이 각 앱에는 단일 인바운드 IP 주소가 있습니다. 다음 작업 중 하나를 수행할 때 인바운드 IP 주소가 변경될 수 있습니다.

  • 앱을 삭제하고 다른 리소스 그룹에서 다시 만듭니다(배포 단위가 바뀔 수 있음).
  • 리소스 그룹 지역 조합에서 마지막 앱을 삭제하고 다시 만듭니다(배포 단위가 바뀔 수 있음).
  • 인증서 갱신 중과 같이 기존 IP 기반 TLS/SSL 바인딩을 삭제합니다(자세한 정보는 인증서 갱신 참조).

인바운드 IP 찾기

로컬 터미널에서 다음 명령을 실행합니다.

nslookup <app-name>.azurewebsites.net

고정 인바운드 IP 가져오기

경우에 따라 앱에 대해 고정 전용 IP 주소를 사용하고자 할 수 있습니다. 고정 인바운드 IP 주소를 가져오려면 IP 기반 인증서 바인딩을 사용하여 사용자 지정 DNS 이름을 보호해야 합니다. 실제로 앱을 보호하는 TLS 기능이 필요하지 않은 경우 이 바인딩에 대한 자체 서명된 인증서를 업로드할 수도 있습니다. IP 기반 TLS 바인딩에서 인증서는 IP 주소 자체에 바인딩되므로 App Service는 이를 수행하기 위해 고정 IP 주소를 만듭니다.

아웃바운드 IP가 변경되는 경우

스케일 아웃 인스턴스의 수에 관계 없이 각 앱에는 지정된 시간에 정해진 아웃바운드 IP 주소 갯수가 있습니다. App Service 앱에서 가령 백 엔드 데이터베이스로의 모든 아웃바운드 연결은 원래 IP 주소로 아웃바운드 IP 주소 중 하나를 사용합니다. 사용할 IP 주소는 런타임에 임의로 선택됩니다. 따라서 백 엔드 서비스는 앱에 대한 아웃바운드 IP 주소의 방화벽을 열어야 합니다.

앱에 대한 아웃바운드 IP 주소 집합은 다음 작업 중 하나를 수행할 때 변경됩니다.

  • 앱을 삭제하고 다른 리소스 그룹에서 다시 만듭니다(배포 단위가 바뀔 수 있음).
  • 리소스 그룹 지역 조합에서 마지막 앱을 삭제하고 다시 만듭니다(배포 단위가 바뀔 수 있음).
  • 하위 계층(기본, 표준, 프리미엄), 프리미엄V2 계층, 프리미엄V3 계층 및 프리미엄V3 계층 내의 Pmv3 옵션 사이에 앱을 스케일링합니다(IP 주소를 세트에 추가하거나 세트에서 뺄 수 있음).

가격 책정 계층에 관계없이 앱에서 사용할 수 있는 모든 아웃바운드 IP 주소 집합을 찾을 수 있습니다. 이는 possibleOutboundIpAddresses 속성이나 Azure Portal의 추가 아웃바운드 IP 주소 필드(위치는 속성 페이지)에서 찾을 수 있습니다. 아웃바운드 IP 찾기를 참조하세요.

App Service가 기존 App Service 배포에 새 가격 책정 계층 또는 옵션을 추가하는 경우 가능한 모든 아웃바운드 IP 주소 집합이 시간이 지남에 따라 증가할 수 있습니다. 예를 들어 App Service가 기존 App Service 배포에 PremiumV3 계층을 추가하는 경우 가능한 모든 아웃바운드 IP 주소 집합이 증가합니다. 마찬가지로 App Service가 이미 PremiumV3 계층을 지원하는 배포에 새 Pmv3 옵션을 추가하는 경우 가능한 모든 아웃바운드 IP 주소 집합이 증가합니다. 새로운 가격 책정 계층이나 옵션이 App Service 배포에 추가될 때 실행 중인 애플리케이션의 아웃바운드 IP 주소가 변경되지 않으므로 배포에 IP 주소를 추가해도 즉각적인 효과는 없습니다. 그러나 애플리케이션이 이전에 사용할 수 없었던 새 가격 책정 계층 또는 옵션으로 전환하는 경우 새 아웃바운드 주소가 사용되고 고객은 다운스트림 방화벽 규칙 및 IP 주소 제한을 업데이트해야 합니다.

아웃바운드 IP 찾기

Azure Portal의 앱에서 현재 사용하는 아웃바운드 IP 주소를 찾으려면 앱의 왼쪽 탐색 창에서 속성을 선택합니다. 이는 아웃바운드 IP 주소 필드에 나열됩니다.

Cloud Shell에서 다음 명령을 실행하면 동일한 정보를 찾을 수 있습니다.

az webapp show --resource-group <group_name> --name <app_name> --query outboundIpAddresses --output tsv
(Get-AzWebApp -ResourceGroup <group_name> -name <app_name>).OutboundIpAddresses

가격 책정 계층에 관계없이 앱에 사용 가능한 모든 아웃바운드 IP 주소를 찾으려면 앱의 왼쪽 탐색에서 속성을 선택합니다. 이러한 필드는 추가 아웃바운드 IP 주소 필드에 나열됩니다.

Cloud Shell에서 다음 명령을 실행하면 동일한 정보를 찾을 수 있습니다.

az webapp show --resource-group <group_name> --name <app_name> --query possibleOutboundIpAddresses --output tsv
(Get-AzWebApp -ResourceGroup <group_name> -name <app_name>).PossibleOutboundIpAddresses

고정 아웃바운드 IP 가져오기

가상 네트워크 NAT 게이트웨이와 함께 가상 네트워크 통합을 사용하여 고정 공용 IP 주소를 통해 트래픽을 전달함으로써 앱에서 아웃바운드 트래픽의 IP 주소를 제어할 수 있습니다. 가상 네트워크 통합기본, 표준, 프리미엄, 프리미엄V2, 프리미엄V3 App Service 요금제에서 사용할 수 있습니다. 이 설정에 관한 자세한 내용은 NAT 게이트웨이 통합을 참조하세요.

서비스 태그

AppService 서비스 태그를 사용하면 개별 IP 주소를 지정하지 않고도 Azure App Service 서비스에 대한 네트워크 액세스를 정의할 수 있습니다. 서비스 태그는 보안 규칙 만들기의 복잡성을 최소화하기 위해 사용하는 IP 주소 접두사 그룹입니다. 서비스 태그를 사용하면 Azure는 서비스에 대해 변경되는 IP 주소를 자동으로 업데이트합니다. 그러나 서비스 태그는 보안 제어 메커니즘이 아닙니다. 서비스 태그는 단지 IP 주소 목록일 뿐입니다.

AppService 서비스 태그에는 다중 테넌트 앱의 인바운드 IP 주소만 포함됩니다. 격리된 App Service Environment에 배포된 앱과 IP 기반 TLS 바인딩을 사용하는 앱의 인바운드 IP 주소는 포함되지 않습니다. 또한 다중 테넌트 및 격리 모두에 사용되는 모든 아웃바운드 IP 주소는 태그에 포함되지 않습니다.

태그를 사용하여 NSG(네트워크 보안 그룹)의 아웃바운드 트래픽을 앱에 허용할 수 있습니다. 앱이 IP 기반 TLS를 사용하거나 앱이 격리 모드로 배포되는 경우 대신 전용 IP 주소를 사용해야 합니다.

참고 항목

서비스 태그는 네트워크 액세스를 정의하는 데 도움이 되지만 개별 IP 주소에 대한 세부적인 제어를 제공하지 않으므로 적절한 네트워크 보안 조치를 바꾸는 것으로 간주해서는 안 됩니다.

다음 단계