ILB App Service Environment와 Azure Application Gateway 통합
App Service Environment는 고객의 Azure 가상 네트워크 서브넷에 Azure App Service를 배포한 환경입니다. 앱 액세스를 위해 외부 또는 내부 엔드포인트로 배포할 수 있습니다. 내부 엔드포인트를 사용하여 App Service Environment를 배포하는 것을 ILB(내부 부하 분산 장치) App Service Environment라고 합니다.
웹 애플리케이션 방화벽을 통해 SQL 삽입, 사이트 간 스크립팅, 맬웨어 업로드 및 애플리케이션 DDoS와 기타 공격을 차단하기 위해 인바운드 웹 트래픽을 검사하여 웹 애플리케이션을 보호할 수 있습니다. Azure Marketplace에서 WAF 디바이스를 얻거나 Azure 애플리케이션 게이트웨이를 사용할 수 있습니다.
Azure 애플리케이션 게이트웨이는 계층 7 부하 분산, TLS 오프로드 및 WAF(웹 애플리케이션 방화벽) 보호를 제공하는 가상 어플라이언스입니다. 공용 IP 주소에서 수신 대기하고, 트래픽을 애플리케이션 엔드포인트로 라우팅할 수 있습니다. 다음 정보는 WAF로 구성된 애플리케이션 게이트웨이를 ILB App Service Environment의 앱과 통합하는 방법을 설명합니다.
ILB App Service Environment와 애플리케이션 게이트웨이의 통합은 앱 수준에 있습니다. ILB App Service Environment를 사용하여 애플리케이션 게이트웨이를 구성하는 경우 ILB App Service Environment의 특정 앱에 대해 이 작업을 수행합니다.
이 연습에서는 다음을 수행합니다.
- Azure Application Gateway를 만듭니다.
- ILB App Service Environment의 앱을 가리키도록 애플리케이션 게이트웨이를 구성합니다.
- 애플리케이션 게이트웨이를 가리키는 공용 DNS 호스트 이름을 편집합니다.
필수 조건
애플리케이션 게이트웨이를 ILB App Service Environment와 통합하려면 다음이 필요합니다.
- ILB App Service Environment
- ILB App Service Environment에 대한 프라이빗 DNS 영역입니다.
- ILB App Service Environment에서 실행되는 앱입니다.
- 애플리케이션 게이트웨이의 공용 DNS 이름입니다.
- 애플리케이션 게이트웨이에 TLS 암호화를 사용해야 하는 경우 애플리케이션 게이트웨이에 바인딩하는 데 사용되는 유효한 공용 인증서가 필요합니다.
ILB App Service Environment
ILB App Service Environment를 만드는 방법에 대한 자세한 내용은 Azure Portal에서 App Service Environment 만들기 및 Azure Resource Manager 템플릿을 사용하여 App Service Environment 만들기를 참조하세요.
ILB App Service Environment를 만든 후 기본 도메인은 .입니다
<YourAseName>.appserviceenvironment.net
.인바운드 액세스를 위해 내부 부하 분산 장치가 프로비전됩니다. App Service Environment 설정 아래의 IP 주소에서 인바운드 주소를 확인할 수 있습니다. 나중에 이 IP 주소에 매핑된 프라이빗 DNS 영역을 만들 수 있습니다.
프라이빗 DNS 영역
내부 이름 확인을 위한 프라이빗 DNS 영역이 필요합니다. 다음 표에 나와 있는 레코드 집합을 사용하여 App Service Environment 이름을 사용하여 만듭니다(지침 은 빠른 시작 참조 - Azure Portal을 사용하여 Azure 프라이빗 DNS 영역 만들기).
속성 | 타입 | 값 |
---|---|---|
* | A | App Service Environment 인바운드 주소 |
@ | A | App Service Environment 인바운드 주소 |
@ | SOA | App Service Environment DNS 이름 |
*.scm | A | App Service Environment 인바운드 주소 |
ILB App Service Environment의 App Service
ILB App Service Environment에서 App Service 계획 및 앱을 만들어야 합니다. 포털에서 앱을 만들 때 ILB App Service Environment를 지역으로 선택합니다.
애플리케이션 게이트웨이에 대한 공용 DNS 이름
인터넷에서 애플리케이션 게이트웨이에 연결하려면 라우팅 가능한 도메인 이름이 필요합니다. 이 경우 라우팅 가능한 도메인 이름 asabuludemo.com
을(를) 사용하고 이 도메인 이름 app.asabuludemo.com
을(를) 사용하여 App Service에 연결하려고 계획했습니다. 애플리케이션 게이트웨이를 만든 후 이 앱 도메인 이름에 매핑된 IP 주소를 Application Gateway 공용 IP 주소로 설정해야 합니다.
애플리케이션 게이트웨이에 매핑된 공용 도메인을 사용하면 App Service에서 사용자 지정 도메인을 구성할 필요가 없습니다. App Service 도메인을 사용하여 사용자 지정 도메인 이름을 구입할 수 있습니다.
유효한 공용 인증서
보안 향상을 위해 세션 암호화를 위해 TLS 인증서를 바인딩합니다. TLS 인증서를 애플리케이션 게이트웨이에 바인딩하려면 다음 정보가 포함된 유효한 공용 인증서가 필요합니다. App Service 인증서를 사용하면 TLS 인증서를 구입하고 형식으로 .pfx
내보낼 수 있습니다.
속성 | 값 | 설명 |
---|---|---|
일반 이름 | <yourappname>.<yourdomainname> , 예: app.asabuludemo.com 또는 *.<yourdomainname> , 예: *.asabuludemo.com |
애플리케이션 게이트웨이에 대한 표준 인증서 또는 와일드카드 인증서 |
주체 대체 이름 | <yourappname>.scm.<yourdomainname> , 예: app.scm.asabuludemo.com 또는 *.scm.<yourdomainname> , 예: *.scm.asabuludemo.com |
App Service kudu 서비스에 연결할 수 있는 SAN입니다. App Service kudu 서비스를 인터넷에 게시하지 않으려면 선택적 설정입니다. |
인증서 파일에는 프라이빗 키가 있어야 하며 형식으로 .pfx
저장해야 합니다. 인증서는 나중에 애플리케이션 게이트웨이로 가져옵니다.
애플리케이션 게이트웨이 만들기
기본 애플리케이션 게이트웨이 만들기의 경우 자습서: Azure Portal을 사용하여 웹 애플리케이션 방화벽을 사용하여 애플리케이션 게이트웨이 만들기를 참조하세요.
이 자습서에서는 Azure Portal을 사용하여 ILB App Service Environment를 사용하여 애플리케이션 게이트웨이를 만듭니다.
Azure Portal에서 새로 만들기>네트워크>네트워크 게이트웨이를 선택하여 애플리케이션 게이트웨이를 만듭니다.
기본 설정
계층 드롭다운 목록에서 표준 V2 또는 WAF V2를 선택하여 애플리케이션 게이트웨이에서 WAF 기능을 사용하도록 설정할 수 있습니다.
프런트 엔드 설정
공용, 프라이빗 또는 둘 다에 프런트 엔드 IP 주소 유형을 선택합니다. 프라이빗 또는 둘 다로 설정한 경우 애플리케이션 게이트웨이 서브넷 범위에서 고정 IP 주소를 할당해야 합니다. 이 경우 공용 엔드포인트에 대해서만 공용 IP로 설정합니다.
공용 IP 주소 - 애플리케이션 게이트웨이 공용 액세스에 대한 공용 IP 주소를 연결해야 합니다. 이 IP 주소를 기록합니다. 나중에 DNS 서비스에 레코드를 추가해야 합니다.
백 엔드 설정
백 엔드 풀 이름을 입력하고 대상 유형에서 App Services 또는 IP 주소 또는 FQDN을 선택합니다. 이 경우 App Services로 설정하고 대상 드롭다운 목록에서 App Service 이름을 선택합니다.
구성 설정
구성 설정에서 회람 규칙 추가 아이콘을 선택하여 회람 규칙을 추가해야 합니다.
회람 규칙에서 수신기 및 백 엔드 대상을 구성해야 합니다. 개념 증명 배포를 위해 HTTP 수신기를 추가하거나 보안 향상을 위해 HTTPS 수신기를 추가할 수 있습니다.
HTTP 프로토콜을 사용하여 애플리케이션 게이트웨이에 연결하려면 다음 설정을 사용하여 수신기를 만들 수 있습니다.
매개 변수 값 설명 규칙 이름 예: http-routingrule
라우팅 이름 수신기 이름 예: http-listener
수신기 이름 프런트 엔드 IP 공용 인터넷 액세스의 경우 공용으로 설정 프로토콜 HTTP TLS 암호화 사용 안 함 포트 80 기본값 HTTP 포트 수신기 유형 다중 사이트 애플리케이션 게이트웨이에서 다중 사이트 수신 대기 허용 Host type 다중/와일드카드 수신기 유형이 다중 사이트로 설정된 경우 다중 또는 와일드카드 웹 사이트 이름으로 설정합니다. 호스트 이름 예: app.asabuludemo.com
App Service에 대한 라우팅 가능한 도메인 이름으로 설정 TLS 암호화를 사용하여 애플리케이션 게이트웨이에 연결하려면 다음 설정을 사용하여 수신기를 만들 수 있습니다.
매개 변수 값 설명 규칙 이름 예: https-routingrule
라우팅 이름 수신기 이름 예: https-listener
수신기 이름 프런트 엔드 IP 공용 인터넷 액세스의 경우 공용으로 설정 프로토콜 HTTPS TLS 암호화 사용 포트 443 기본값 HTTPS 포트 Https 설정 인증서 업로드 CN 및 .pfx 형식의 프라이빗 키를 포함하는 인증서 업로드. 수신기 유형 다중 사이트 애플리케이션 게이트웨이에서 다중 사이트 수신 대기 허용 Host type 다중/와일드카드 수신기 유형이 다중 사이트로 설정된 경우 다중 또는 와일드카드 웹 사이트 이름으로 설정합니다. 호스트 이름 예: app.asabuludemo.com
App Service에 대한 라우팅 가능한 도메인 이름으로 설정 백 엔드 대상에서 백 엔드 풀 및 HTTP 설정을 구성해야 합니다. 백 엔드 풀은 이전 단계에서 구성되었습니다. 새로 추가 링크를 선택하여 HTTP 설정을 추가합니다.
다음 표에 나열된 HTTP 설정:
매개 변수 값 설명 HTTP 설정 이름 예: https-setting
HTTP 설정 이름 백 엔드 프로토콜 HTTPS TLS 암호화 사용 백 엔드 포트 443 기본값 HTTPS 포트 잘 알려진 CA 인증서 사용 예 ILB App Service Environment의 기본 도메인 이름은 .입니다 .appserviceenvironment.net
. 이 도메인의 인증서는 신뢰할 수 있는 공용 루트 기관에서 발급합니다. 신뢰할 수 있는 루트 인증서 설정에서 잘 알려진 CA 신뢰할 수 있는 루트 인증서를 사용하도록 설정할 수 있습니다.새 호스트 이름으로 재정의 예 ILB App Service Environment에서 앱에 연결할 때 호스트 이름 헤더를 덮어씁니다. 호스트 이름 재정의 백 엔드 대상에서 호스트 이름 선택 백 엔드 풀을 App Service로 설정할 때 백 엔드 대상에서 호스트를 선택할 수 있습니다 사용자 지정 프로브 만들기 아니요 기본값 상태 프로브 사용
ILB App Service Environment와 애플리케이션 게이트웨이 통합 구성
애플리케이션 게이트웨이에서 ILB App Service Environment에 액세스하려면 프라이빗 DNS 영역에 대한 가상 네트워크 링크가 있는지 확인해야 합니다. 애플리케이션 게이트웨이의 가상 네트워크에 연결된 가상 네트워크가 없는 경우 다음 단계를 사용하여 가상 네트워크 링크를 추가합니다.
프라이빗 DNS 영역을 사용하여 가상 네트워크 링크 구성
- 프라이빗 DNS 영역을 사용하여 가상 네트워크 링크를 구성하려면 프라이빗 DNS 영역 구성 평면으로 이동합니다. 가상 네트워크 링크>추가 선택
- 링크 이름을 입력하고 애플리케이션 게이트웨이가 있는 해당 구독 및 가상 네트워크를 선택합니다.
- 애플리케이션 게이트웨이 평면의 백 엔드 상태에서 백 엔드 상태를 확인할 수 있습니다.
공용 DNS 레코드 추가
인터넷에서 애플리케이션 게이트웨이에 액세스할 때 적절한 DNS 매핑을 구성해야 합니다.
- 애플리케이션 게이트웨이의 공용 IP 주소는 애플리케이션 게이트웨이 평면의 프런트 엔드 IP 구성에서 찾을 수 있습니다.
- 예를 들어 Azure DNS 서비스를 사용하여 앱 도메인 이름을 애플리케이션 게이트웨이의 공용 IP 주소에 매핑하는 레코드 집합을 추가할 수 있습니다.
연결 유효성 검사
- 인터넷의 컴퓨터 액세스에서 애플리케이션 게이트웨이 공용 IP 주소에 대한 앱 도메인 이름의 이름 확인을 확인할 수 있습니다.
- 인터넷의 컴퓨터 액세스에서 브라우저에서 웹 액세스를 테스트합니다.