다음을 통해 공유


Azure Arc 게이트웨이(미리 보기)를 사용하여 네트워크 구성 요구 사항 간소화

엔터프라이즈 프록시를 사용하여 아웃바운드 트래픽을 관리하는 경우 Azure Arc 게이트웨이(미리 보기)를 사용하면 연결 사용 프로세스를 간소화할 수 있습니다.

Azure Arc 게이트웨이(미리 보기)를 사용하면 다음 작업을 수행할 수 있습니다.

  • 7개의 FQDN(정규화된 도메인 이름)에만 공용 네트워크 액세스를 열어 Azure Arc에 연결합니다.
  • Arc 게이트웨이를 통해 Arc 에이전트가 Azure로 전송하는 모든 트래픽을 보고 감사합니다.

Important

Azure Arc 게이트웨이는 현재 미리 보기 상태입니다.

베타, 미리 보기 또는 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 법적 용어는 Microsoft Azure 미리 보기에 대한 추가 사용 약관 을 참조하세요.

Azure Arc 게이트웨이 작동 방식

Arc 게이트웨이는 두 가지 새로운 구성 요소를 도입하여 작동합니다.

Arc 게이트웨이 리소스는 Azure 트래픽에 대한 공통 프런트 엔드 역할을 하는 Azure 리소스입니다. 게이트웨이 리소스는 특정 도메인/URL에서 제공됩니다. 이 문서에 설명된 단계에 따라 이 리소스를 만들어야 합니다. 게이트웨이 리소스를 성공적으로 만들면 이 도메인/URL이 성공 응답에 포함됩니다.

Arc 프록시는 자체 Pod("Azure Arc 프록시"라고 함)로 실행되는 새 구성 요소입니다. 이 구성 요소는 Azure Arc 에이전트 및 확장에서 사용되는 전달 프록시 역할을 합니다. Azure Arc Proxy에는 사용자가 별도로 구성할 필요가 없습니다. Arc 지원 Kubernetes 에이전트 버전 1.21.10을 기준으로 이 Pod는 이제 핵심 Arc 에이전트의 일부이며 Arc 지원 Kubernetes 클러스터의 컨텍스트 내에서 실행됩니다. 

게이트웨이가 배치되면 트래픽은 다음 홉을 통해 흐릅니다. Arc 에이전트 → Azure Arc 프록시 → 엔터프라이즈 프록시 → Arc 게이트웨이 → 대상 서비스.

Arc 지원 Kubernetes를 사용하는 Azure Arc 게이트웨이(미리 보기)의 아키텍처를 보여 주는 다이어그램

아키텍처 다이어그램을 고해상도로 다운로드하려면 Jumpstart Gems를 방문하세요.

현재 제한 사항

공개 미리 보기 기간에는 다음과 같은 제한 사항이 적용됩니다. 구성을 계획할 때 다음 요소를 고려합니다.

  • TLS 종료 프록시는 Arc 게이트웨이에서 지원되지 않습니다.
  • Azure 구독당 Arc 게이트웨이 리소스는 5개로 제한됩니다.
  • Arc 게이트웨이는 Azure 퍼블릭 클라우드의 연결에만 사용할 수 있습니다.

Important

Azure Arc 게이트웨이는 Azure Arc 지원 Kubernetes를 사용하는 데 필요한 연결을 제공하지만 클러스터에서 일부 확장 및 서비스를 사용하려면 추가 엔드포인트를 사용하도록 설정해야 할 수 있습니다. 자세한 내용은 추가 시나리오를 참조하세요.

필요한 권한

Arc 게이트웨이 리소스를 만들고 Arc 지원 Kubernetes 클러스터와의 연결을 관리하려면 다음 권한이 필요합니다.

  • Microsoft.Kubernetes/connectedClusters/settings/default/write
  • Microsoft.hybridcompute/gateways/read
  • Microsoft.hybridcompute/gateways/write

Arc 게이트웨이 리소스 만들기

Azure CLI 또는 Azure PowerShell을 사용하여 Arc 게이트웨이 리소스를 만들 수 있습니다.

Arc 게이트웨이 리소스를 만들 때 리소스가 만들어지는 구독 및 리소스 그룹과 Azure 지역을 지정합니다. 그러나 동일한 테넌트 내의 모든 Arc 지원 리소스는 자체 구독이나 지역에 관계없이 리소스를 사용할 수 있습니다.

  1. Azure에 액세스할 수 있는 컴퓨터에서 다음 Azure CLI 명령을 실행합니다.

    az extension add -n arcgateway
    
  2. 다음으로, 다음 Azure CLI 명령을 실행하여 Arc 게이트웨이 리소스를 만들고 자리 표시자를 원하는 값으로 바꿉니다.

    az arcgateway create --name <gateway's name> --resource-group <resource group> --___location <region> --gateway-type public --allowed-features * --subscription <subscription name or id>
    

일반적으로 Arc 게이트웨이 리소스 만들기를 완료하는 데 약 10분이 걸립니다.

필수 URL에 대한 액세스 확인

리소스가 성공적으로 만들어지면 성공 응답에 Arc 게이트웨이 URL이 포함됩니다. Arc 리소스가 있는 환경에서 Arc 게이트웨이 URL과 아래 모든 URL이 허용되는지 확인합니다.

URL Purpose
<Your URL prefix>.gw.arc.azure.com 게이트웨이 URL입니다. 이 URL은 리소스를 만든 후 az arcgateway list를 실행하면 가져올 수 있습니다.
management.azure.com ARM 제어 채널에 필요한 Azure Resource Manager 엔드포인트입니다.
<region>.obo.arc.azure.com 클러스터 연결을 구성할 때 필요합니다.
login.microsoftonline.com, <region>.login.microsoft.com Microsoft Entra ID 엔드포인트는 ID 액세스 토큰을 획득하는 데 사용됩니다.
gbl.his.arc.azure.com, <region>.his.arc.azure.com Arc 에이전트와 통신하기 위한 클라우드 서비스 엔드포인트입니다. eus는 미국 동부를 나타내는 짧은 이름을 사용합니다.
mcr.microsoft.com, <region>.data.mcr.microsoft.com Azure Arc 에이전트의 컨테이너 이미지를 끌어오는 데 필요합니다.

Arc 게이트웨이 리소스를 사용하여 Azure Arc에 Kubernetes 클러스터 온보딩

  1. 환경이 Azure Arc 지원 Kubernetes에 필요한 모든 필수 구성 요소를 충족하는지 확인합니다. Azure Arc 게이트웨이를 사용하고 있으므로 전체 네트워크 요구 사항을 충족할 필요가 없습니다.

  2. 배포 컴퓨터에서 아웃바운드 프록시 서버를 사용하기 위해 Azure CLI에 필요한 환경 변수를 설정합니다.

    export HTTP_PROXY=<proxy-server-ip-address>:<port> export HTTPS_PROXY=<proxy-server-ip-address>:<port> export NO_PROXY=<cluster-apiserver-ip-address>:<port>

  3. Kubernetes 클러스터에서 proxy-httpsproxy-http 매개 변수를 지정하여 연결 명령을 실행합니다. 프록시 서버가 HTTP 및 HTTPS 둘 다로 설정된 경우 HTTP 프록시에는 --proxy-http를, HTTPS 프록시에는 --proxy-https를 사용해야 합니다. 프록시 서버에서 HTTP만 사용하는 경우 두 매개 변수 모두에 해당 값을 사용할 수 있습니다.

    az connectedk8s connect -g <resource_group> -n <cluster_name> --gateway-resource-id <gateway_resource_id> --proxy-https <proxy_value> --proxy-http http://<proxy-server-ip-address>:<port> --proxy-skip-range <excludedIP>,<excludedCIDR> --___location <region>

    Note

    클러스터 내 서비스 간 통신과 관련된 요청 등 일부 네트워크 요청은 아웃바운드 통신을 위해 프록시 서버를 통해 라우팅되는 트래픽과 분리되어야 합니다. --proxy-skip-range 매개 변수는 CIDR 범위와 엔드포인트를 쉼표로 구분하여 지정하는 데 사용할 수 있으므로 에이전트에서 이러한 엔드포인트로의 통신이 아웃바운드 프록시를 거치지 않습니다. 최소한 클러스터에 있는 서비스의 CIDR 범위는 이 매개 변수의 값으로 지정되어야 합니다. 예를 들어, kubectl get svc -A가 모든 서비스가 범위 ClusterIP 내에 10.0.0.0/16개의 값을 갖는 서비스 목록을 반환하는 경우 --proxy-skip-range에 지정할 값은 10.0.0.0/16,kubernetes.default.svc,.svc.cluster.local,.svc입니다.

    대부분의 아웃바운드 프록시 환경에서 --proxy-http, --proxy-https--proxy-skip-range가 필요합니다. --proxy-cert는 프록시에서 예상되는 신뢰할 수 있는 인증서를 에이전트 Pod의 신뢰할 수 있는 인증서 저장소에 삽입해야 하는 경우에만 필요합니다.

    Websocket 연결을 허용하도록 아웃바운드 프록시를 구성해야 합니다.

기존 클러스터를 구성하여 Arc 게이트웨이를 사용합니다.

기존 클러스터를 업데이트하여 Arc 게이트웨이를 사용하려면 다음 명령을 실행합니다.

az connectedk8s update -g <resource_group> -n <cluster_name> --gateway-resource-id <gateway_resource_id>

업데이트가 성공했는지 확인하려면 다음 명령을 실행하고 응답이 true인지 확인합니다.

 az connectedk8s show -g <resource_group> -n <cluster_name> --query 'gateway.enabled' 

클러스터가 Arc 게이트웨이를 사용하도록 업데이트된 후에는 이전에 엔터프라이즈 프록시나 방화벽에서 허용되었던 일부 Arc 엔드포인트가 더 이상 필요하지 않으므로 제거할 수 있습니다. 더 이상 필요하지 않은 엔드포인트를 제거하기 전에 최소 1시간 정도 기다리는 것이 좋습니다. Arc 게이트웨이에 필요한 엔드포인트를 제거하지 않도록 합니다.

Arc 게이트웨이 제거

Important

여기에 설명된 단계는 Arc 지원 Kubernetes의 Arc 게이트웨이에만 적용됩니다. Azure Local에서 Arc 게이트웨이를 분리하는 방법에 대한 자세한 내용은 Azure Local용 Azure Arc 게이트웨이 정보(미리 보기)를 참조하세요.

Arc 게이트웨이를 사용하지 않도록 설정하고 Arc 게이트웨이 리소스와 Arc 지원 클러스터 간의 연결을 제거하려면 다음 명령을 실행합니다.

az connectedk8s update -g <resource_group> -n <cluster_name> --disable-gateway 

트래픽 모니터링

게이트웨이 트래픽을 감사하려면 게이트웨이 라우터의 로그를 확인합니다.

  1. kubectl get pods -n azure-arc을 실행합니다.
  2. Arc Proxy Pod를 식별합니다(이름은 arc-proxy-로 시작합니다).
  3. kubectl logs -n azure-arc <Arc Proxy pod name>을 실행합니다.

추가 시나리오

공개 미리 보기 기간 동안 Arc 게이트웨이는 클러스터 온보딩에 필요한 엔드포인트와 Arc 지원 추가 시나리오에 필요한 일부 엔드포인트를 포함합니다. 채택한 시나리오에 따라 프록시에서 허용해야 할 추가 엔드포인트가 여전히 필요합니다.

Arc 게이트웨이를 사용하는 경우 다음 시나리오에 나열된 모든 엔드포인트는 엔터프라이즈 프록시에서 허용되어야 합니다.