다음을 통해 공유


Azure Stack HCI 버전 23H2에 대한 프록시 설정 구성

적용 대상: Azure Stack HCI, 버전 23H2

이 문서에서는 네트워크에서 인터넷 액세스를 위해 프록시 서버를 사용하는 경우 Azure Stack HCI 버전 23H2 클라우드 배포에 대한 프록시 설정을 구성하는 방법을 설명합니다.

아웃바운드 엔드포인트에 대한 방화벽 요구 사항과 Azure Stack HCI의 내부 규칙 및 포트에 대한 자세한 내용은 Azure Stack HCI에 대한 방화벽 요구 사항을 참조하세요.

시작하기 전에

프록시 설정 구성을 시작하기 전에 다음을 확인합니다.

  • 프록시 설정을 구성하려는 Azure Stack HCI 클러스터에 액세스할 수 있습니다. Azure Stack HCI 클러스터의 서버에 액세스하기 위한 로컬 관리자 자격 증명도 있습니다.
  • 프록시 서버 이름 또는 IP 주소 및 포트(선택 사항)를 알고 있습니다. 이 정보가 없는 경우 네트워크 관리자에게 문의하세요.

프록시 설정을 구성하기 전에 유의해야 할 몇 가지 중요한 고려 사항은 다음과 같습니다.

  • 프록시 설정은 Azure Stack HCI(WinInetWinHTTPEnvironment Variables및)의 다양한 구성 요소 및 기능에 대해 별개임을 이해합니다. 사용하려는 모든 필수 구성 요소 및 기타 기능에 대한 프록시 설정을 구성해야 합니다.
  • 각 구성 요소에는 특정 명령 매개 변수 및 프록시 바이패스 목록 문자열 요구 사항이 있지만 서로 다른 구성 요소와 기능 간에 동일한 프록시 구성을 유지하는 것이 좋습니다.
  • 보안 제약 조건으로 인해 사용자 이름 및 암호를 사용하는 인증된 프록시는 지원되지 않습니다.
  • 프록시에서 SSL 검사를 사용하는 경우 필요한 Azure Stack HCI 및 해당 구성 요소(Arc Resource Bridge, AKS(Azure Kubernetes Service) 등)를 바이패스해야 합니다. 아웃바운드 URL입니다.
  • 운영 체제의 세 가지 프록시 구성 요소 각각에는 특정 프록시 바이패스 목록 문자열 요구 사항이 있습니다. 세 구성 요소 모두에 대해 동일한 문자열을 사용하지 마세요.

WinInet에 대한 프록시 설정 구성

Azure ArcWinInet 서버를 등록하기 전에 프록시 설정을 구성해야 합니다.

모듈을 WinInetProxy 설치하여 이 섹션의 명령을 실행합니다. 모듈 및 설치 방법에 대한 자세한 내용은 PowerShell 갤러리 | WinInetProxy 0.1.0. PowerShell 스크립트에 WinInetProxy 대한 자세한 내용은 WinInetProxy.psm1을 참조하세요.

인터넷에 액세스할 수 없어 클러스터 노드에 모듈을 설치 WinInetProxy 할 수 없는 경우 모듈을 관리 컴퓨터에 다운로드한 다음 모듈을 실행하려는 클러스터 노드로 수동으로 전송하는 것이 좋습니다. Start-BitsTransfer PowerShell cmdlet을 사용하여 관리 컴퓨터와 서버 간에 하나 이상의 파일을 전송할 수도 있습니다.

Azure Stack HCI 운영 체제에 대한 프록시 설정을 구성하려면 클러스터의 각 서버에서 관리자 권한으로 다음 PowerShell 명령을 실행합니다.

  1. RDP(원격 데스크톱 프로토콜)를 통해 Azure Stack HCI 클러스터의 서버에 연결하고 PowerShell 세션을 엽니다.

  2. 모듈을 설치한 WinInetProxy 후 프록시 설정을 구성하려면 다음 cmdlet을 실행합니다.

    Set-WinInetProxy -ProxySettingsPerUser 0 -ProxyServer http://<Proxy_Server_Address:Proxy_Port> -ProxyBypass <URLs to bypass>
    

    다음 표에는 매개 변수가 나와 있습니다.

    매개 변수 설명
    ProxySettingsPerUser 프록시 설정이 컴퓨터당인지 사용자별로 지정합니다.

    - 0 - 프록시 설정은 컴퓨터별로 설정됩니다.
    - 1(기본값) - 프록시 설정은 사용자 단위입니다.
    - 값이 제공되지 ProxySettingsPerUser 않으면 환경 변수가 대신 사용됩니다(있는 경우).
    ProxyServer 프록시 서버 엔드포인트를 형식 http://[Proxy_Server_Address]:[Proxy_Port]으로 지정합니다. 예들 들어 http://proxy.contoso.com:8080입니다.
    ProxyBypass 매개 변수에서 설정한 -ProxyServer 프록시 서버를 우회하는 호스트 URL 목록을 지정합니다. 예를 들어 로컬 인트라넷 URL을 바이패스하도록 설정할 -ProxyBypass “localhost” 수 있습니다. 목록에는 다음이 포함되어야 합니다.

    - 적어도 각 서버의 IP 주소입니다.
    - 적어도 클러스터의 IP 주소입니다.
    - 적어도 인프라 네트워크에 대해 정의한 IP입니다. 이러한 IP를 사용하는 Arc Resource Bridge, AKS 및 향후 인프라 서비스에는 아웃바운드 연결이 필요합니다.
    - 또는 전체 인프라 서브넷을 무시할 수 있습니다.
    - 각 서버의 NetBIOS 이름입니다.
    - 클러스터의 NetBIOS 이름입니다.
    - 호스트 또는 하위 도메인에 대한 별표 * 와일드카드가 있는 도메인 이름 또는 도메인 이름입니다.

다음은 명령 사용의 예입니다.

Set-WinInetProxy -ProxySettingsPerUser 0 -ProxyServer http://192.168.1.250:8080 -ProxyBypass "localhost;127.0.0.1;*.contoso.com;node1;node2;192.168.1.*;s-cluster"

WinInet 프록시 바이패스 목록 문자열 고려 사항

프록시 바이패스 WinInet 목록을 구성할 때 다음 사항에 유의하세요.

  • 매개 변수는 쉼표 , 또는 세미콜론 ;으로 구분해야 합니다.
  • 서브넷을 바이패스하는 CIDR 표기법은 지원되지 않습니다.
  • 별표는 서브넷 또는 도메인 이름을 우회하기 위해 와일드카드로 사용할 수 있습니다. 예를 들어 192.168.1.* 서브넷 또는 *.contoso.com 도메인 이름의 경우입니다.
  • 프록시 이름은 포트와 함께 http:// 지정해야 합니다. 예들 들어 http://192.168.1.250:8080입니다.
  • 구성할 WinInet 때 동일한 바이패스 문자열을 WinHTTP사용하는 것이 좋습니다.
  • 문자열 사용 <local> 은 프록시 바이패스 목록에서 지원되지 않습니다.

WinInet 프록시 구성 보기 및 제거

  • 현재 WinInet 프록시 구성을 보거나 확인하려면 명령 프롬프트에서 다음을 입력합니다.

    PS C:\> Get-WinhttpProxy -Advanced
    
    Current WinHTTP proxy settings:
    
    Proxy Server(s) :  http://192.168.1.250:8080
    Bypass List     :  localhost;127.0.0.1;*. contoso.com;node1;node2;192.168.1.*;s-cluster
    
    PS C:\>
    
  • Azure Stack HCI 업데이트 및 클라우드 감시에 대한 프록시 구성을 제거 WinInet 하려면 명령 프롬프트에서 다음을 입력합니다.

    PS C:\> Set-WinInetProxy
    Start proxy Configuration
    Proxy is Per User
    AutoDetect is 0
    PACUrl is
    ProxyServer is
    ProxyBypass is
    Entered WriteProxySettingsHelper
    Entered WriteProxySettingsHelper
    
    Successfully set proxy
    PS C:\> Get-WinhttpProxy -Advanced
    

WinHTTP에 대한 프록시 설정 구성

Azure ArcWinHTTP 서버를 등록하기 전에 프록시 설정을 구성해야 합니다.

Azure Stack HCI 업데이트 및 클라우드 감시에 대한 프록시를 구성 WinHTTP 하려면 클러스터의 각 서버에서 관리자 권한으로 다음 PowerShell 명령을 실행합니다.

Set-winhttpproxy -proxyserver http://<Proxy_Server_Address:Proxy_Port> -BypassList <URLs to bypass>

다음 표에는 매개 변수가 나와 있습니다.

매개 변수 설명
ProxyServer 프록시 서버 엔드포인트를 형식 http://[Proxy_Server_Address]:[Proxy_Port]으로 지정합니다. 예들 들어 http://proxy.contoso.com:8080입니다.
BypassList 매개 변수에서 설정한 -ProxyServer 프록시 서버를 우회하는 호스트 URL 목록을 지정합니다. 예를 들어 로컬 인트라넷 URL을 바이패스하도록 설정할 -ProxyBypass "localhost" 수 있습니다. 목록에는 다음이 포함되어야 합니다.

- 적어도 각 서버의 IP 주소입니다.
- 적어도 클러스터의 IP 주소입니다.
- 적어도 인프라 네트워크에 대해 정의한 IP입니다. 이러한 IP를 사용하는 Arc Resource Bridge, AKS 및 향후 인프라 서비스에는 아웃바운드 연결이 필요합니다.
- 또는 전체 인프라 서브넷을 무시할 수 있습니다.
- 각 서버의 NetBIOS 이름입니다.
- 클러스터의 NetBIOS 이름입니다.
- 호스트 또는 하위 도메인에 대한 별표 * 와일드카드가 있는 도메인 이름 또는 도메인 이름입니다.

다음은 명령 사용의 예입니다.

Set-winhttpproxy -proxyserver http://192.168.1.250:8080 -BypassList "localhost;127.0.0.1;*.contoso.com;node1;node2;192.168.1.*;s-cluster"

WinHTTP 프록시 바이패스 목록 문자열 고려 사항

프록시 바이패스 목록 문자열을 WinHTTP 구성할 때 다음 사항에 유의하세요.

  • 매개 변수는 쉼표 , 또는 세미콜론 ;으로 구분해야 합니다.
  • 서브넷을 바이패스하는 CIDR 표기법은 지원되지 않습니다.
  • 별표는 서브넷 또는 도메인 이름을 우회하기 위해 와일드카드로 사용할 수 있습니다. 예를 들어 192.168.1.* 서브넷 또는 *.contoso.com 도메인 이름의 경우입니다.
  • 프록시 이름은 포트와 함께 http:// 지정해야 합니다. 예들 들어 http://192.168.1.250:8080입니다.
  • 구성할 WinInet 때 동일한 바이패스 문자열을 WinHTTP사용하는 것이 좋습니다.
  • 문자열 사용 <local> 은 프록시 바이패스 목록에서 지원되지 않습니다.

WinHTTP 프록시 구성 보기 및 제거

  • 현재 WinHTTP 프록시 구성을 보거나 확인하려면 명령 프롬프트에서 다음을 입력합니다.

    PS C:\> Get-WinhttpProxy -Default
    
    Current WinHTTP proxy settings:
    
    Proxy Server(s) :  http://192.168.1.250:8080
    Bypass List     :  localhost;127.0.0.1;*.contoso.com;node1;node2;192.168.1.*;s-cluster
    
    PS C:\>
    
  • Azure Stack HCI 업데이트 및 클라우드 감시에 대한 프록시 구성을 제거 WinHTTP 하려면 명령 프롬프트에서 다음을 입력합니다.

    PS C:\> Reset-WinhttpProxy -Direct
    Current WinHTTP proxy settings:
    Direct access (no proxy server). 
    PS C:\>
    

환경 변수에 대한 프록시 설정 구성

Azure Arc에 서버를 등록하기 전에 Azure Resource Bridge 및 AKS에 대한 프록시를 구성해야 합니다.

프록시 서버 환경 변수를 설정하려면 클러스터의 각 서버에서 관리자 권한으로 다음 명령을 실행합니다.

# If a proxy server is needed, execute these commands with the proxy URL and port.
[Environment]::SetEnvironmentVariable("HTTPS_PROXY","http://ProxyServerFQDN:port", "Machine")
$env:HTTPS_PROXY = [System.Environment]::GetEnvironmentVariable("HTTPS_PROXY","Machine")
[Environment]::SetEnvironmentVariable("HTTP_PROXY","http://ProxyServerFQDN:port "Machine")
$env:HTTP_PROXY = [System.Environment]::GetEnvironmentVariable("HTTP_PROXY","Machine")
$no_proxy = "<bypassliststring>"
[Environment]::SetEnvironmentVariable("NO_PROXY",$no_proxy,"Machine")
$env:NO_PROXY = [System.Environment]::GetEnvironmentVariable("NO_PROXY","Machine")

다음 표에는 매개 변수가 나와 있습니다.

매개 변수 설명
HTTPS_PROXY 변수 프록시 서버 엔드포인트를 형식 http://[Proxy_Server_Address]:[Proxy_Port]으로 지정합니다. 예들 들어 http://proxy.contoso.com:8080입니다.
HTTP_PROXY 변수 프록시 서버 엔드포인트를 형식 http://[Proxy_Server_Address]:[Proxy_Port]으로 지정합니다. 예들 들어 http://proxy.contoso.com:8080입니다.
NO_PROXY 변수 로컬 인트라넷 URL, 도메인 및 서브넷을 바이패스하는 문자열입니다. 목록에는 다음이 포함되어야 합니다.

- 적어도 각 서버의 IP 주소입니다.
- 적어도 클러스터의 IP 주소입니다.
- 적어도 인프라 네트워크에 대해 정의한 IP입니다. 이러한 IP를 사용하는 Arc Resource Bridge, AKS 및 향후 인프라 서비스에는 아웃바운드 연결이 필요합니다.
- 또는 전체 인프라 서브넷을 무시할 수 있습니다.
- 각 서버의 NetBIOS 이름입니다.
- 클러스터의 NetBIOS 이름입니다.
- 호스트 또는 하위 도메인에 대한 점 . 와일드카드가 있는 도메인 이름 또는 도메인 이름입니다.
- .svc 내부 Kubernetes 서비스 트래픽의 경우

다음은 명령 사용의 예입니다.

[Environment]::SetEnvironmentVariable("HTTPS_PROXY", "http://192.168.1.250:8080", "Machine")
$env:HTTPS_PROXY = [System.Environment]::GetEnvironmentVariable("HTTPS_PROXY", "Machine")
[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://192.168.1.250:8080", "Machine")
$env:HTTP_PROXY = [System.Environment]::GetEnvironmentVariable("HTTP_PROXY", "Machine")
$no_proxy = "localhost,127.0.0.1,.svc,192.168.1.0/24,.contoso.com,node1,node2,s-cluster"
[Environment]::SetEnvironmentVariable("NO_PROXY", $no_proxy, "Machine")
$env:NO_PROXY = [System.Environment]::GetEnvironmentVariable("NO_PROXY", "Machine")

환경 변수 프록시 바이패스 목록 문자열 고려 사항

환경 변수 프록시 바이패스 목록 문자열을 구성할 때 다음 사항에 유의하세요.

  • 매개 변수는 쉼 ,표로 구분해야 합니다.
  • 서브넷을 우회하기 위한 CIDR 표기법을 사용해야 합니다.
  • 서브넷 또는 도메인 이름을 우회하기 위한 와일드카드로 별표 * 는 지원되지 않습니다.
  • . 도메인 이름 또는 로컬 서비스를 무시하려면 점을 와일드카드로 사용해야 합니다. 반복하여(예: .contoso.com 또는 .svc) 구분 기호를 이스케이프합니다.
  • 프록시 이름은 HTTP_PROXY 변수와 HTTPS_PROXY 변수 모두에 대한 포트와 함께 http:// 지정해야 합니다. 예들 들어 http://192.168.1.250:8080입니다.
  • .svc 바이패스는 Linux 표기법의 AKS 내부 서비스 통신을 위한 것입니다. Arc Resource Bridge 및 AKS에 필요합니다.
  • AKS는 다음 서브넷을 바이패스해야 합니다. 10.0.0.0/8, 172.16.0.0/12 및 192.168.0.0/16. 이러한 서브넷은 정의되지 않은 경우 환경 변수 바이패스 목록에 자동으로 추가됩니다.
  • 문자열 사용 <local> 은 프록시 바이패스 목록에서 지원되지 않습니다.

환경 변수 프록시 구성 확인 및 제거

  • 환경 변수 프록시 구성이 적용되어 있는지 확인하려면 다음 명령을 실행합니다.

    echo "https :" $env:https_proxy "http :" $env:http_proxy "bypasslist " $env:no_proxy
    
  • 프록시 구성을 제거하려면 클러스터의 각 서버에서 관리자 권한으로 다음 명령을 실행합니다.

    [Environment]::SetEnvironmentVariable("HTTPS_PROXY", $null, "Machine")
    $env:HTTPS_PROXY = [System.Environment]::GetEnvironmentVariable("HTTPS_PROXY", "Machine")
    [Environment]::SetEnvironmentVariable("HTTP_PROXY", $null, "Machine")
    $env:HTTP_PROXY = [System.Environment]::GetEnvironmentVariable("HTTP_PROXY", "Machine")
    

Arc 지원 서버 에이전트에 대한 프록시 설정 구성

프록시 서버를 통해 통신하도록 Azure Arc 지원 서버 에이전트를 구성하려면 다음 명령을 실행합니다.

azcmagent config set proxy.url "http://ProxyServerFQDN:port"

네트워크에서 요구하는 경우 FQDN 대신 IP 주소 또는 간단한 호스트 이름을 사용할 수 있습니다. 프록시 서버가 포트 80에서 실행되는 경우 끝부분에서 ":80"을 생략해도 됩니다.

프록시 서버 URL이 에이전트 설정에 구성되어 있는지 확인하려면 다음 명령을 실행합니다.

azcmagent config get proxy.url

에이전트가 프록시 서버를 통해 통신하는 것을 중지하려면 다음 명령을 실행합니다.

azcmagent config clear proxy.url

azcmagent config 명령을 사용하여 프록시 설정을 다시 구성할 때 서비스를 다시 시작할 필요가 없습니다.

연결된 컴퓨터 에이전트 관리 및 유지 관리에 대한 자세한 내용은 Arc 지원 서버 에이전트 페이지를 검토하세요.

Azure 서비스에 대한 프록시 설정 구성

다음 Azure 서비스를 사용하거나 사용하려는 경우 각 Azure 서비스에 대한 프록시 서버 설정을 구성하는 방법에 대한 자세한 내용은 다음 문서를 참조하세요.

다음 단계

자세한 내용은 다음을 참조하세요.