Azure Front Door를 사용하여 Azure Red Hat OpenShift에 안전하게 액세스
이 문서에서는 Azure Front Door 프리미엄을 사용하여 Azure Red Hat OpenShift에 대한 액세스를 보호하는 방법을 설명합니다.
필수 조건
필요한 필수 구성 요소는 다음과 같습니다.
기존 Azure Red Hat OpenShift 클러스터가 있습니다. 이 가이드에 따라 프라이빗 Azure Red Hat OpenShift 클러스터를 만듭니다.
클러스터는 프라이빗 수신 표시 유형으로 구성됩니다.
사용자 지정 도메인 이름이 사용됩니다. 예를 들면 다음과 같습니다.
example.com
참고 항목
초기 상태에는 DNS가 구성되어 있지 않습니다. Azure Red Hat OpenShift 클러스터 외부에 애플리케이션이 노출되지 않습니다.
Azure Private Link 서비스 만들기
이 섹션에서는 Azure Private Link 서비스를 만드는 방법을 설명합니다. Azure Private Link 서비스는 Azure Private Link에서 제공하는 자체 서비스에 대한 참조입니다.
Azure 표준 Load Balancer 뒤에서 실행되는 서비스는 서비스에 대한 소비자가 자신의 VNet에서 비공개로 액세스할 수 있도록 Private Link 액세스를 사용하도록 설정할 수 있습니다. 고객은 VNet 내에서 프라이빗 엔드포인트를 만들고 이 서비스에 매핑할 수 있습니다.
Azure Private Link 서비스 및 사용 방법에 대한 자세한 내용은 Azure Private Link 서비스를 참조하세요.
AzurePrivateLinkSubnet을 만듭니다. 이 서브넷에는 Azure 클러스터의 컨트롤 플레인 및 작업자 노드에 대한 서브넷의 표시 유형을 허용하는 넷마스크가 포함됩니다. 이 새 서브넷을 서비스에 위임하거나 서비스 엔드포인트를 구성하지 마세요.
예를 들어, 가상 네트워크가 10.10.0.0/16이고 다음과 같은 경우:
- 기존 Azure Red Hat OpenShift 컨트롤 플레인 서브넷 = 10.10.0.0/24
- 기존 Azure Red Hat OpenShift 작업자 서브넷 = 10.10.1.0/24
- New AzurePrivateLinkSubnet = 10.10.2.0/24
다음 단계에 설명된 대로 Azure Private Link 서비스에서 새 Private Link를 만듭니다.
기본 사항 탭에서 다음 옵션을 구성합니다.
- 프로젝트 세부 정보
- Azure 구독을 선택합니다.
- Azure Red Hat OpenShift 클러스터가 배포된 리소스 그룹을 선택합니다.
- 인스턴스 세부 정보
- Azure Private Link 서비스의 이름을 입력합니다. 예: example-com-private-link.
- Private Link에 대한 지역을 선택합니다.
- 프로젝트 세부 정보
발신 설정 탭에서:
외부 액세스를 사용하도록 설정하려는 클러스터의 -내부 부하 분산 장치로 Load Balancer를 설정합니다. 드롭다운 목록에 선택 항목이 채워집니다.
Load Balancer 프런트 엔드 IP 주소를 Azure Red Hat OpenShift 수신 컨트롤러의 IP 주소로 설정합니다. 일반적으로 .254로 끝납니다. 확실하지 않은 경우 다음 명령을 사용합니다.
az aro show -n <cluster-name> -g <resource-group> -o tsv --query ingressProfiles[].ip
원본 NAT 서브넷은 사용자가 만든 AzurePrivateLinkSubnet이어야 합니다.
발신 설정에서 항목을 변경하면 안 됩니다.
액세스 보안 탭에서는 변경할 필요가 없습니다.
- 누가 사용자의 서비스에 대한 액세스를 요청할 수 있나요? 라는 메시지가 표시되면 별칭을 가진 사용자를 선택합니다.
- 자동 승인을 위해 구독을 추가하지 마세요.
태그 탭에서 검토 + 만들기를 선택합니다.
만들기를 선택하여 Azure Private Link 서비스를 만든 다음 프로세스가 완료될 때까지 기다립니다.
배포가 완료되면 다음 단계에서 리소스 그룹으로 이동을 선택합니다.
Azure Portal에서 배포된 Azure Private Link 서비스를 입력합니다. Azure Private Link 서비스에 대해 생성된 별칭을 유지합니다. 나중에 사용됩니다.
Azure DNS에 도메인 등록
이 섹션에서는 Azure DNS에서 도메인을 등록하는 방법을 설명합니다.
example.com에 대한 전역 Azure DNS 영역을 만듭니다.
apps.example.com에 대한 전역 Azure DNS 영역을 만듭니다.
apps.example.com에 대한 Azure DNS에 있는 4개의 이름 서버에 유의합니다.
apps을 가리키는 example.com 영역에 새 NS 레코드 집합을 만들고 apps 영역이 만들어졌을 때 존재했던 네 개의 이름 서버를 지정합니다.
새 Azure Front Door 프리미엄 서비스 만들기
새 Azure Front Door 프리미엄 서비스를 만들려면 다음을 수행합니다.
Microsoft Azure Compare 제품에서 Azure Front Door를 선택한 다음 계속을 선택하여 Front Door 만듭니다.
구독>리소스 그룹의 정문 프로필 만들기 페이지에서 Azure Front Door 프리미엄 리소스를 수용하기 위해 Azure Red Hat OpenShift 클러스터가 배포된 리소스 그룹을 선택합니다.
Azure Front Door 프리미엄 서비스의 이름을 적절하게 지정합니다. 예를 들어, 이름 입력란에 다음 이름을 입력합니다.
example-com-frontdoor
프리미엄 계층을 선택합니다. 프리미엄 계층은 Azure Private Link를 지원하는 유일한 선택입니다.
엔드포인트 이름에서 Azure Front Door에 적합한 엔드포인트 이름을 선택합니다.
배포된 각 애플리케이션에 대해 이 호스트 이름을 가리키는 CNAME이 Azure DNS에 만들어집니다. 따라서 애플리케이션에 독립적인 이름을 선택해야 합니다. 보안을 위해 이름은 example01과 같이 배포한 애플리케이션이나 아키텍처를 제안해서는 안 됩니다.
선택한 이름이 .z01.azurefd.net 도메인 앞에 추가됩니다.
원본 형식에서 사용자 지정을 선택합니다.
원본 호스트 이름에 다음 자리 표시자를 입력합니다.
changeme.com
이 자리 표시자는 나중에 삭제됩니다.
이 단계에서는 Azure Private Link 서비스, 캐싱 또는 WAF(Web Application Firewall) 정책을 사용하도록 설정하지 마세요.
검토 + 만들기를 선택하여 Azure Front Door 프리미엄 리소스를 만든 다음 프로세스가 완료될 때까지 기다립니다.
Azure Front Door 프리미엄의 초기 구성
Azure Front Door 프리미엄을 구성하려면 다음을 수행합니다.
Azure Portal에서 배포된 Azure Front Door 프리미엄 서비스를 입력합니다.
Endpoint Manager 창에서 엔드포인트 편집을 선택하여 엔드포인트를 편집합니다.
default-route로 만들어진 기본 경로를 삭제합니다.
Endpoint Manager 창을 닫습니다.
원본 그룹 창에서 default-origin-group이라는 기본 원본 그룹을 삭제합니다.
Azure Red Hat OpenShift에서 애플리케이션 경로 노출
Azure Red Hat OpenShift는 Azure Front Door가 외부에 노출할 동일한 호스트 이름(*.apps.example.com)으로 애플리케이션을 제공하도록 구성되어야 합니다. 이 예에서는 다음 호스트 이름을 사용하여 예약 애플리케이션을 노출합니다.
reservations.apps.example.com
또한 Azure Red Hat OpenShift에서 호스트 이름을 노출하는 보안 경로를 만듭니다.
Azure DNS 구성
Azure DNS를 구성하려면:
이전에 만든 공용 apps DNS 영역을 입력합니다.
reservation이라는 새 CNAME 레코드 모음을 만듭니다. 이 CNAME 레코드 집합은 예 Azure Front Door 엔드포인트의 별칭입니다.
example01.z01.azurefd.net
Azure Front Door 프리미엄 구성
다음 단계에서는 Azure Front Door 프리미엄을 구성하는 방법을 설명합니다.
Azure Portal에서 이전에 만든 Azure Front Door 프리미엄 서비스를 입력합니다.
example-com-frontdoor
도메인 창에서:
모든 DNS 서버는 Azure에서 호스트되므로 DNS 관리를 Azure 관리 DNS로 설정해 둡니다.
도메인 예 선택:
apps.example.com
이 예에서 CNAME을 선택합니다.
reservations.apps.example.com
HTTPS 및 최소 TLS 버전에 기본값을 사용합니다.
추가를 선택합니다.
유효성 검사 통계가 대기 중으로 변경되면 대기 중을 선택합니다.
DNS 영역의 소유권을 인증하려면 DNS 레코드 상태에서 추가를 선택합니다.
닫기를 선택합니다.
도메인의 유효성 검사 상태가 승인됨으로 변경되고 엔드포인트 연결이 연결되지 않음으로 변경될 때까지 새로 고침을 계속 선택합니다.
원본 그룹 창에서:
추가를 선택합니다.
원본 그룹에 Reservations-App과 같은 적절한 이름을 지정합니다.
원본 추가를 선택합니다.
ARO-Cluster-1과 같이 원본 이름을 입력합니다.
사용자 지정의 원본 형식을 선택합니다.
다음과 같이 Azure Red Hat OpenShift 클러스터에 노출된 FQDN(정규화된 도메인 이름) 호스트 이름을 입력합니다.
reservations.apps.example.com
Private Link 서비스를 사용하도록 설정합니다.
Azure Private Link 서비스에서 얻은 별칭을 입력합니다.
추가를 선택하여 원본 그룹 만들기 창으로 돌아갑니다.
추가를 선택하여 원본 그룹을 추가하고 Azure Portal로 돌아갑니다.
Azure Private Link에서 승인 부여
이전에 만든 Azure Private Link 서비스인 example-com-private-link를 승인하려면 다음 단계를 완료합니다.
프라이빗 엔드포인트 연결 탭에서 ADD에서 수행으로 설명된 리소스에서 현재 존재하는 확인란을 선택합니다.
승인을 선택한 다음 예를 선택하여 승인을 확인합니다.
Azure Front Door 프리미엄 구성 완료
다음 단계에서는 Azure Front Door 프리미엄 구성을 완료하는 방법을 설명합니다.
Azure Portal에서 이전에 만든 Azure Front Door 프리미엄 서비스를 입력합니다.
example-com-frontdoor
Endpoint Manager 창에서 엔드포인트 편집을 선택하여 엔드포인트를 편집합니다.
경로에서 +추가를 선택합니다.
경로에 Reservations-App-Route-Config와 같은 적절한 이름을 지정합니다.
도메인 아래에서 사용 가능한 유효성 검사된 도메인 아래에서 정규화된 도메인 이름을 선택합니다. 예를 들면 다음과 같습니다.
reservations.apps.example.com
HTTPS를 사용하도록 HTTP 트래픽을 리디렉션하려면 리디렉션 확인란을 선택된 상태로 둡니다.
원본 그룹에서 이전에 만든 원본 그룹인 Reservations-App을 선택합니다.
적절한 경우 캐싱을 사용하도록 설정할 수 있습니다.
추가를 선택하여 경로를 만듭니다. 경로가 구성된 후 엔드포인트 관리자는 이 애플리케이션에 대해 만들어진 다른 요소로 도메인 및 원본 그룹 창을 채웁니다.
Azure Front Door는 글로벌 서비스이므로 애플리케이션을 배포하는 데 최대 30분이 걸릴 수 있습니다. 이 시간 동안 애플리케이션에 대한 WAF를 만들도록 선택할 수 있습니다. 애플리케이션이 실행되면 다음 예에서 사용된 URL을 사용하여 액세스할 수 있습니다.
https://reservations.apps.example.com
다음 단계
Azure Portal을 사용하여 Azure Front Door에서 Azure Web Application Firewall을 만듭니다.