このドキュメントは、Anthos フリートと Anthos Service Mesh を使用する Cloud Run for Anthos の最新バージョンを対象としています。詳細

過去のバージョンはアーカイブされていますが、既存のユーザーは引き続きドキュメントにアクセスできます。

Cloud Run for Anthos を設定する

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

Cloud Run for Anthos のインストールおよび構成方法について説明します。

始める前に

Anthos クラスタに Cloud Run for Anthos がインストールされている必要があります。Anthos クラスタの前提条件と Cloud Run for Anthos のインストール方法の詳細については、インストール ガイドをご覧ください。

Workload Identity による認証の設定

Workload Identity を使用して、Cloud Run for Anthos サービスを Google Cloud APIs とサービスに対して認証できます。サービスをクラスタにデプロイする前に、Workload Identity を設定する必要があります。それ以外の場合は、Workload Identity を有効にする前にクラスタに存在する各サービスを移行する必要があります。Workload Identity の使用について詳細を確認する

Workload Identity での指標の有効化

Google Cloud のオペレーション スイートへのリクエスト数やリクエストのレイテンシなどの指標を有効にするには、Cloud Monitoring の書き込み権限を手動で設定する必要があります。詳細については、Workload Identity での指標の有効化をご覧ください。

HTTPS とカスタム ドメインの構成

HTTPS を有効にしてカスタム ドメインを設定するには、以下のページをご覧ください。

Anthos Service Mesh の設定

Cloud Run for Anthos の Anthos Service Mesh オプションを構成する方法については、限定公開の内部ネットワークを設定する方法などの、クラスタ内コントロール プレーンのオプションをご覧ください。

プライベートな内部ネットワークの設定

内部ネットワークでのサービスのデプロイは、社内用アプリをスタッフに提供する企業や、Cloud Run for Anthos クラスタの外部で実行されるクライアントが使用するサービスにおいて便利です。この構成により、ネットワーク内の他のリソースが、一般からはアクセスできない非公開の内部 IP アドレス(RFC 1918)を使用するサービスと通信できるようになります。

内部ネットワークを作成するには、公開の外部ネットワーク ロードバランサではなく、内部 TCP / UDP 負荷分散を使用するように Anthos Service Mesh を構成します。これにより、VPC ネットワークの内部 IP アドレスに Cloud Run for Anthos サービスをデプロイできます。

始める前に

内部ロードバランサをセットアップするには:

  1. Anthos Service Mesh で内部ロードバランサ機能を有効にします。

    内部ロードバランサは、Anthos Service Mesh のインストール中に、または既存のインストールを更新することで構成できるオプション機能です。

    クラスタ内コントロール プレーンでオプション機能を有効にするの手順に沿って、--option internal-load-balancer スクリプト オプションが含まれていることを確認してください。

    --option internal-load-balancer オプションを指定すると、スクリプトによって GitHub から内部ロードバランサの有効化カスタム リソースが自動的に取得されます。カスタム リソースを変更する必要がある場合は、代わりに --custom_overlay オプションの使用手順に沿って操作してください。

  2. 次のコマンドを実行して、GKE クラスタの更新を確認します。

    kubectl -n INGRESS_NAMESPACE get svc istio-ingressgateway --watch
    

    INGRESS_NAMESPACE は、Anthos Service Mesh Ingress サービスの名前空間に置き換えます。Anthos Service Mesh をデフォルトの構成を使用してインストールした場合は、istio-system を指定します。

    1. アノテーション cloud.google.com/load-balancer-type: Internal を確認します。
    2. Ingress ロードバランサで IP の値を探して、プライベート IP アドレスに変更します。
    3. IP フィールドにプライベート IP アドレスが表示されたら、Ctrl+C を押して更新を停止します。
  3. Google Cloud の限定公開クラスタでは、ポートを開く必要があります。詳細については、Anthos Service Mesh ドキュメントの限定公開クラスタでポートを開くをご覧ください。

変更後の内部接続を確認するには:

  1. sample という Service を default Namespace の Cloud Run for Anthos にデプロイします。

    gcloud run deploy sample \
    --image gcr.io/knative-samples/simple-api \
    --namespace default
    
  2. Compute Engine 仮想マシン(VM)を、GKE クラスタと同じゾーンに作成します。

    VM=cloudrun-gke-ilb-tutorial-vm
    
    gcloud compute instances create $VM
    
  3. Istio Ingress ゲートウェイのプライベート IP アドレスを EXTERNAL_IP 環境変数と external-ip.txt ファイルに保存します。

    export EXTERNAL_IP=$(kubectl -n INGRESS_NAMESPACE get svc istio-ingressgateway \
        -o jsonpath='{.status.loadBalancer.ingress[0].ip}' | tee external-ip.txt)
    

    INGRESS_NAMESPACE は、Anthos Service Mesh Ingress サービスの名前空間に置き換えます。Anthos Service Mesh をデフォルトの構成を使用してインストールした場合は、istio-system を指定します。

  4. IP アドレスを含むファイルを VM にコピーします。

    gcloud compute scp external-ip.txt $VM:~
    
  5. SSH を使用して VM に接続します。

    gcloud compute ssh $VM
    
  6. SSH セッション中に、サンプル サービスをテストします。

    curl -s -w'\n' -H Host:sample.default.nip.io $(cat external-ip.txt)
    

    出力は次のとおりです。

    OK
    
  7. SSH セッションを終了します。

    exit
    

マルチテナント環境の設定

マルチテナントのユースケースでは、現在のプロジェクトの外部にある Google Kubernetes Engine クラスタへの Cloud Run for Anthos サービスを管理してデプロイする必要があります。GKE マルチテナンシーの詳細については、クラスタ マルチテナンシーをご覧ください。

Cloud Run for Anthos にマルチテナンシーを構成する方法については、プロジェクト間マルチテナンシーをご覧ください。

次のステップ