インターネットへの直接アクセスを持たない隔離されたネットワーク上の vRealize Automation Cloud インストールでは、インターネット プロキシ サーバを使用してプロキシ機能によるインターネット接続を許可することができます。インターネット プロキシ サーバでは、HTTP および HTTPS がサポートされています。

Amazon Web Services (AWS)、Microsoft AzureGoogle Cloud Platform (GCP) などのパブリック クラウド プロバイダや、IP アドレス管理、Ansible、Puppet などの外部統合ポイントを構成して vRealize Automation Cloud と一緒に使用するには、内部の 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 にアクセスすることはできません。

内部プロキシ サーバは、IPv4 がデフォルトの IP アドレス形式である必要があります。TLS (HTTPS) 証明書トラフィックに対して、インターネット プロトコルの制限、認証、または中間者アクションは必要ありません。

すべての外部ネットワーク トラフィックは、インターネット プロキシ サーバを経由します。内部ネットワーク トラフィックはプロキシをバイパスします。

前提条件

  • インターネット プロキシ サーバとして使用できる既存の HTTP または HTTPS サーバが、外部サイトに送信トラフィックを渡すことができる vRealize Automation Cloud ネットワークにあることを確認します。接続は IPv4 用に設定されている必要があります。
  • ターゲットのインターネット プロキシ サーバが、デフォルトの IP アドレス形式として IPv4 をサポートするように構成されていることを確認します。
  • インターネット プロキシ サーバが 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 と入力して、デフォルトのプロキシ除外設定を取得します。これは、ドメインとネットワークの自動生成されたリストです。
    2. 値を編集して .acme.com を追加します。
    3. vracli proxy set .... --proxy-exclude ... と入力して構成の設定を更新します。
    4. /opt/scripts/deploy.sh コマンドを実行して、環境を再展開します。
  3. (オプション) DNS ドメイン、FQDN、および IP アドレスを、インターネット プロキシ サーバからアクセスできないように除外します。

    proxy-exclude 変数のデフォルト値を変更するときは、必ず parameter --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