UiPath Documentation
automation-suite
2023.4
false
EKS/AKS の Automation Suite のインストール ガイド
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

ネットワーク

You must provision and configure Azure or AWS networking resources to ensure that Automation Suite on your cluster has connectivity and access to the cloud infrastructure prerequisites (e.g., storage, database, cache, and DNS). Depending on your networking architecture, this may include configuring VNETs / VPC, DNS, subnets, NSGs / security groups, NAT gateway, elastic IP, and internet gateway. For details, see Deployment scenarios.

ワークロードのスケーリングに基づいて、さらにレプリカが必要になる場合があります。 デフォルトでは、HA モードでは 2 つのレプリカが必要で、最大 10 個以上のレプリカを使用できます。 ネットワークがこのスケーリング レベルをサポートしていることを確認します。

ポッドが相互に通信できる限り、任意の CNI を使用できます。

Azure CNI や Amazon VPC CNI など、内部ポッドまたはプライベートポッドネットワーキングサブネットをサポートしていないクラウド CNI には特別な考慮事項があります。 Automation Suite に必要なポッドの数は、製品の選択とワークロードのスケーリングによって異なります。 たとえば、すべてのサービスが有効で使用率が高いデプロイの場合、スケーリング要件をサポートするために 400 を超える IP が必要になる場合があります。 このため、/23 以上の CIDR 範囲を割り当てることをお勧めします。

重要:

Automation Suite は IPv6 インターネット プロトコルをサポートしていません。

カスタムのイングレス コントローラー​

If you have a custom ingress controller (NGINX), refer to Configuring NGINX ingress and skip the rest of the page.

ロード バランサーの構成​

Automation Suite は、インストール中にユーザーに代わってロード バランサーをプロビジョニングします。受信 FQDN 要求をルーティングするには、ロード バランサーにパブリックまたはプライベート IP アドレスを割り当てる必要があります。ロード バランサーを構成するには、次の 2 つのオプションがあります。

  • 事前割り当て IP: ロード バランサーにパブリック IP またはプライベート IP を割り当て、DNS レコードを構成して FQDN をこれらの IP にマッピングし、その IP を input.jsonの ingress セクションの一部として指定します。
  • 動的割り当て IP: IP アドレスを指定しない場合、IP は Automation Suite によってクラスター サブネットからロード バランサーに動的に割り当てられます。

ロード バランサーのネットワーク セキュリティ グループは、ポート 443 経由のエンド クライアントからの HTTPS トラフィックを許可する必要があります。 既定では、定期的な TCP 正常性チェックを実行するようにロード バランサーを構成します。

If using your own ingress like NGINX, make sure you meet the network requirements documented in Configuring NGINX ingress controller. When using Istio that deploys an NLB, note that it typically creates three listeners, which include ports 80, 443, and 15021. However, this is a typical setup, and your actual requirements may differ based on your exact circumstances, so adjust as needed.

事前割り当て IP​

次のサービス注釈を input.json の ingress セクションに指定する必要があります。

EKS のサービス注釈のリストについては、AWS ロード バランサーのドキュメントをご覧ください。

AKS のサービス注釈のリストについては、Azure Load Balancer のドキュメントをご覧ください。

EKS の注釈の例​

以下の例は、input.json に ingress.service_annotations セクションを作成する方法を示しています。この例を正しく動作させるには、インストールの前に EKS クラスターに AWS ロード バランサー コントローラーをデプロイする必要があります。

次の例では、AWS から Elastic IP を割り当てて、パブリック ロード バランサーをプロビジョニングする方法を示します。この例を構成の開始点として使用する場合は、IP を実際の値に置き換えてください。

"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
      "service.beta.kubernetes.io/aws-load-balancer-eip-allocations": "<elastic_ip_id_0>,<elastic_ip_id_1>",
      "service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
      "service.beta.kubernetes.io/aws-load-balancer-scheme": "internet-facing",
      "service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
    }
  }
"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
      "service.beta.kubernetes.io/aws-load-balancer-eip-allocations": "<elastic_ip_id_0>,<elastic_ip_id_1>",
      "service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
      "service.beta.kubernetes.io/aws-load-balancer-scheme": "internet-facing",
      "service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
    }
  }

次の例では、EKS クラスター サブネットからプライベート IP を内部ロード バランサーに割り当てる方法を示します。この例を設定の開始点として使用する場合は、IP とサブネットを実際の値で更新してください。

 "ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
      "service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
      "service.beta.kubernetes.io/aws-load-balancer-private-ipv4-addresses":"<IP_0>,<IP_1>",
      "service.beta.kubernetes.io/aws-load-balancer-subnets": "<SUBNET_ID_0>,<SUBNET_ID_1>",
      "service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
      "service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
      "service.beta.kubernetes.io/aws-load-balancer-target-group-attributes": "preserve_client_ip.enabled=false"
    }
  }
 "ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
      "service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
      "service.beta.kubernetes.io/aws-load-balancer-private-ipv4-addresses":"<IP_0>,<IP_1>",
      "service.beta.kubernetes.io/aws-load-balancer-subnets": "<SUBNET_ID_0>,<SUBNET_ID_1>",
      "service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
      "service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
      "service.beta.kubernetes.io/aws-load-balancer-target-group-attributes": "preserve_client_ip.enabled=false"
    }
  }
重要:

IP とサブネットは一致している必要があります。

前の例では、<IP_0> は <SUBNET_0> で、<SUBNET_1> は <IP_1> です。

AKS の注釈の例​

次の例では、Azure からパブリック IP を割り当てて、パブリック ロード バランサーをプロビジョニングする方法を示します。この例を構成の開始点として使用する場合は、IP を実際の値で更新してください。

...
"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/azure-load-balancer-internal": "false",
      "service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>"
    }
  }
...
...
"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/azure-load-balancer-internal": "false",
      "service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>"
    }
  }
...

次の例では、AKS クラスター サブネットからプライベート IP を内部ロード バランサーに割り当てる方法を示します。この例を構成の開始点として使用する場合は、IP とサブネットを実際の値で更新してください。

...
"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/azure-load-balancer-internal": "true",
      "service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>",
      "service.beta.kubernetes.io/azure-load-balancer-internal-subnet": "<SUBNET>",
    }
  }
...
...
"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/azure-load-balancer-internal": "true",
      "service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>",
      "service.beta.kubernetes.io/azure-load-balancer-internal-subnet": "<SUBNET>",
    }
  }
...

DNS の構成​

DNS レコードが、以下の UiPath® FQDN をロード バランサーにマッピングするように設定されていることを確認します。

  • FQDN
  • alm.FQDN
  • monitoring.FQDN
  • insights.FQDN (UiPath Insights をインストールする場合)
注:

FQDN は、インストール前の前提条件の 1 つです。IP アドレスを指定しない場合、または FQDN マッピングがまだ完了していない場合、確認は失敗します。

動的割り当て IP​

input.json で IP を指定しない場合、Automation Suite はワーカー ノード サブネットからプライベート IP を動的に割り当てます。このシナリオでは、次の方法で Automation Suite のインストールを実行します。

input.json の EKS の例​

...
  "ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
      "service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
      "service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
      "service.beta.kubernetes.io/aws-load-balancer-type": "nlb",
      "service.beta.kubernetes.io/aws-load-balancer-internal": true
    }
  }
...
...
  "ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
      "service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
      "service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
      "service.beta.kubernetes.io/aws-load-balancer-type": "nlb",
      "service.beta.kubernetes.io/aws-load-balancer-internal": true
    }
  }
...

input.json の AKS の例​

...
  "ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/azure-load-balancer-internal": "true"
    }
  }
...
...
  "ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/azure-load-balancer-internal": "true"
    }
  }
...

インストールの手順​

このシナリオでは、インストーラーを以下のように実行します。

  1. インストーラーを実行します。ただし、ロード バランサーをプロビジョニングするまでの間だけにしてください。

    uipathctl manifest apply <INPUT_JSON> --versions <VERSIONS_JSON> --override=gateway
    uipathctl manifest apply <INPUT_JSON> --versions <VERSIONS_JSON> --override=gateway
    
  2. ロード バランサーのホスト名を取得します。

    kubectl get svc -n istio-system istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'
    kubectl get svc -n istio-system istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'
    
  3. ロード バランサーのエンドポイントまたは IP にマッピングされた FQDN で DNS を構成します。

  4. インストーラーを再実行してインストールを完了します。

    uipathctl manifest apply input.json --versions versions.json
    uipathctl manifest apply input.json --versions versions.json
    
注:

DNS マッピングがない場合、FQDN の前提条件の確認は失敗します。前提条件の確認の目的は、Automation Suite をインストールする前に前提条件がすべて正しくプロビジョニング済みであることを確認することです。FQDN の確認によって Automation Suite をインストールできなくなることはありません。

このページは役に立ちましたか?

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得