인터넷에 직접 액세스할 수 없는 격리된 네트워크에 설치된 vRealize Automation Cloud의 경우, 인터넷 프록시 서버를 사용하여 프록시 기능을 통해 인터넷을 허용할 수 있습니다. 인터넷 프록시 서버는 HTTP 및 HTTPS를 지원합니다.

vRealize Automation Cloud을 사용하여 AWS(Amazon Web Services), Microsoft Azure, GCP(Google Cloud Platform)와 같은 공용 클라우드 제공자 및 IPAM, Ansible, Puppet과 같은 외부 통합 지점을 구성하고 사용하려면 내부 vRealize Automation Cloud 인터넷 프록시 서버에 액세스하도록 인터넷 프록시 서버를 구성해야 합니다.

vRealize Automation Cloud에는 인터넷 프록시 서버와 통신하는 내부 프록시 서버가 포함되어 있습니다. 이 서버는 vracli proxy set ... 명령으로 구성된 경우 프록시 서버와 통신합니다. 조직에 대해 인터넷 프록시 서버를 구성하지 않은 경우 vRealize Automation Cloud 내부 프록시 서버가 인터넷에 직접 연결하려고 시도합니다.

제공된 vracli 명령줄 유틸리티를 사용하여 인터넷 프록시 서버를 사용하도록 vRealize Automation Cloud을 설정할 수 있습니다. vracli API를 사용하는 방법에 대한 정보를 보려면 vracli 명령줄에서 --help 인수를 사용하면 됩니다(예: vracli proxy –-help).

인터넷 프록시 서버에 액세스하려면 vRealize Automation Cloud에 내장된 ABX(작업 기반 확장성) 온-프레미스 내장형 제어를 사용해야 합니다.

참고:

Workspace ONE Access에 대한 액세스는 인터넷 프록시에서 지원되지 않습니다. vracli set vidm 명령을 사용하여 인터넷 프록시 서버를 통해 Workspace ONE Access에 액세스할 수 없습니다.

인터넷 프록시 서버는 기본 IP 형식으로 IPv4가 필요합니다. TLS(HTTPS) 인증서 트래픽에는 인터넷 프로토콜 제한, 인증 또는 중간자(man-in-the-middle) 작업이 필요하지 않습니다.

모든 외부 네트워크 트래픽은 인터넷 프록시 서버를 통과합니다. 내부 네트워크 트래픽은 프록시를 우회합니다.

사전 요구 사항

  • 송신 트래픽을 외부 사이트로 전달할 수 있는 vRealize Automation Cloud 네트워크에서 인터넷 프록시 서버로 사용할 수 있는 기존의 HTTP 또는 HTTPS 서버가 있는지 확인합니다. IPv4에 대해 연결을 구성해야 합니다.
  • 대상 인터넷 프록시 서버가 IPv4를 기본 IP 형식으로 지원하도록 구성되어 있는지 확인합니다.
  • 인터넷 프록시 서버가 TLS를 사용 중이고 클라이언트와의 HTTPS 연결이 필요한 경우에는 프록시 구성을 설정하기 전에 다음 명령 중 하나를 사용하여 서버 인증서를 가져와야 합니다.
    • vracli certificate proxy --set path_to_proxy_certificate.pem
    • vracli certificate proxy --set stdin

      대화형 입력에 대해 stdin 매개 변수를 사용합니다.

프로시저

  1. Kubernetes에서 사용되는 포드 또는 컨테이너에 대한 프록시 구성을 생성합니다. 이 예에서는 HTTP 체계를 사용하여 프록시 서버에 액세스합니다.

    vracli proxy set --host http://proxy.vmware.com:3128

  2. 프록시 구성을 표시합니다.

    vracli proxy show

    결과는 다음과 유사합니다.
    {
        "enabled": true,
        "host": "10.244.4.51",
        "java-proxy-exclude": "*.local|*.localdomain|localhost|10.244.*|192.168.*|172.16.*|kubernetes|sc2-rdops-vm06-dhcp-198-120.eng.vmware.com|10.192.204.9|*.eng.vmware.com|sc2-rdops-vm06-dhcp-204-9.eng.vmware.com|10.192.213.146|sc2-rdops-vm06-dhcp-213-146.eng.vmware.com|10.192.213.151|sc2-rdops-vm06-dhcp-213-151.eng.vmware.com",
        "java-user": null,
        "password": null,
        "port": 3128,
        "proxy-exclude": ".local,.localdomain,localhost,10.244.,192.168.,172.16.,kubernetes,sc2-rdops-vm06-dhcp-198-120.eng.vmware.com,10.192.204.9,.eng.vmware.com,sc2-rdops-vm06-dhcp-204-9.eng.vmware.com,10.192.213.146,sc2-rdops-vm06-dhcp-213-146.eng.vmware.com,10.192.213.151,sc2-rdops-vm06-dhcp-213-151.eng.vmware.com",
        "scheme": "http",
        "upstream_proxy_host": null,
        "upstream_proxy_password_encoded": "",
        "upstream_proxy_port": null,
        "upstream_proxy_user_encoded": "",
        "user": null,
        "internal.proxy.config": "dns_v4_first on \nhttp_port 0.0.0.0:3128\nlogformat squid %ts.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %[un %Sh/%<a %mt\naccess_log stdio:/tmp/logger squid\ncoredump_dir /\ncache deny all \nappend_domain .prelude.svc.cluster.local\nacl mylan src 10.0.0.0/8\nacl mylan src 127.0.0.0/8\nacl mylan src 192.168.3.0/24\nacl proxy-exclude dstdomain .local\nacl proxy-exclude dstdomain .localdomain\nacl proxy-exclude dstdomain localhost\nacl proxy-exclude dstdomain 10.244.\nacl proxy-exclude dstdomain 192.168.\nacl proxy-exclude dstdomain 172.16.\nacl proxy-exclude dstdomain kubernetes\nacl proxy-exclude dstdomain 10.192.204.9\nacl proxy-exclude dstdomain .eng.vmware.com\nacl proxy-exclude dstdomain 10.192.213.146\nacl proxy-exclude dstdomain 10.192.213.151\nalways_direct allow proxy-exclude\nhttp_access allow mylan\nhttp_access deny all\n# End autogen configuration\n",
        "internal.proxy.config.type": "default"
    }
    
    참고: 조직에 대해 인터넷 프록시 서버를 구성한 경우 위의 예에서 'default' 대신 "internal.proxy.config.type": "non-default"가 표시됩니다. 암호는 보안을 위해 표시되지 않습니다.
    참고: -proxy-exclude 매개 변수를 사용하는 경우 기본값을 편집해야 합니다. 예를 들어 인터넷 프록시 서버를 사용하여 액세스할 수 없는 도메인으로 acme.com을 추가하려는 경우 다음 단계를 사용합니다.
    1. vracli proxy default-no-proxy를 입력하여 기본 proxy-exclude 설정을 가져옵니다. 이것은 자동으로 생성되는 도메인 및 네트워크의 목록입니다.
    2. 값을 편집하여 .acme.com을 추가합니다.
    3. vracli proxy set .... --proxy-exclude ...를 입력하여 구성 설정을 업데이트합니다.
    4. /opt/scripts/deploy.sh 명령을 실행하여 환경을 다시 배포합니다.
  3. (선택 사항) 인터넷 프록시 서버에서 DNS 도메인, FQDN 및 IP 주소에 액세스하지 못하도록 합니다.

    항상 parameter --proxy-exclude를 사용하여 proxy-exclude 변수의 기본값을 수정합니다. exclude.vmware.com 도메인을 추가하려면 우선 vrali proxy show 명령을 사용하고, proxy-exclude 변수를 복사한 다음, 아래와 같이 vracli proxy set ... 명령을 사용하여 도메인 값을 추가합니다.

    vracli proxy set --host http://proxy.vmware.com:3128 --proxy-exclude "exclude.vmware.com,docker-registry.prelude.svc.cluster.local,localhost,.local,.cluster.local,10.244.,192.,172.16.,sc-rdops-vm11-dhcp-75-38.eng.vmware.com,10.161.75.38,.eng.vmware.com"
    참고: 값을 바꾸는 대신 요소를 proxy-exclude에 추가합니다. proxy-exclude 기본값을 삭제하면 vRealize Automation Cloud이 제대로 작동하지 않습니다. 이러한 상황이 발생하면 프록시 구성을 삭제하고 다시 시작합니다.
  4. vracli proxy set ... 명령으로 인터넷 프록시 서버를 설정한 후에는 vracli proxy apply 명령을 사용하여 인터넷 프록시 서버 구성을 업데이트하고 최신 프록시 설정을 활성화할 수 있습니다.
  5. 아직 수행하지 않은 경우 다음 명령을 실행하여 스크립트 변경 내용을 활성화합니다.

    /opt/scripts/deploy.sh

  6. (선택 사항) 필요하다면 포트 22에서 외부 액세스를 지원하도록 프록시 서버를 구성합니다.

    Puppet 및 Ansible과 같은 통합을 지원하려면 프록시 서버에서 포트 22가 관련 호스트에 액세스할 수 있도록 허용해야 합니다.

예: 샘플 Squid 구성

1단계를 기준으로, Squid 프록시를 설정하는 경우 /etc/squid/squid.conf에서 다음 샘플에 맞추어 구성을 조정할 수 있습니다.

acl localnet src 192.168.11.0/24

acl SSL_ports port 443

acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

http_access allow !Safe_ports
http_access allow CONNECT !SSL_ports
http_access allow localnet

http_port 0.0.0.0:3128

maximum_object_size 5 GB
cache_dir ufs /var/spool/squid 20000 16 256
coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320

client_persistent_connections on
server_persistent_connections on