複数の Google Cloud プロジェクトの使用

このドキュメントでは、1 つ以上の Google Cloud プロジェクトを Anthos clusters on VMware に関連付ける方法について説明します。

ここでは手順全体を詳しく解説します。Cloud プロジェクトの使用に関する概要については、最小限のインフラストラクチャを設定するをご覧ください。

始める前に

Google Cloud CLI をインストールする

フリート ホスト プロジェクト

すべての管理クラスタは、フリートに登録されている必要があります。また、管理クラスタによって管理されるすべてのユーザー クラスタが、管理クラスタと同じフリートに登録されている必要があります。

管理クラスタまたはユーザー クラスタがフリートに登録されると、フリートホスト プロジェクトに関連付けられます。管理クラスタと管理対象のすべてのユーザー クラスタは、同じフリート ホスト プロジェクトを持ちます。Google Cloud コンソールのフリートホスト プロジェクトでは、管理クラスタとユーザー クラスタを表示して管理できます。

管理クラスタのフリート ホスト プロジェクトを指定するには、管理クラスタの構成ファイルgkeConnect.projectID フィールドにプロジェクト ID を入力します。

gkectl コマンドライン ツールを使用してユーザー クラスタを作成する場合は、ユーザー クラスタ構成ファイルgkeConnect.projectID フィールドにプロジェクト ID を入力します。

Google Cloud コンソールを使用してユーザー クラスタを作成すると、現在の Cloud プロジェクトが自動的にフリートホスト プロジェクトになります。

フリート ホスト プロジェクトで API を有効にする

Linux / macOS

フリート ホスト プロジェクトで必要な API を有効にするには:

gcloud services enable --project FLEET_HOST_PROJECT_ID \
    anthos.googleapis.com \
    cloudresourcemanager.googleapis.com \
    connectgateway.googleapis.com \
    container.googleapis.com \
    gkeconnect.googleapis.com \
    gkehub.googleapis.com \
    serviceusage.googleapis.com \
    iam.googleapis.com

Google Cloud コンソールでユーザー クラスタのライフサイクルを管理する場合は、フリートホスト プロジェクトで次の追加の API を有効にします。

gcloud services enable --project FLEET_HOST_PROJECT_ID \
    anthosgke.googleapis.com \
    anthosaudit.googleapis.com \
    opsconfigmonitoring.googleapis.com \
    stackdriver.googleapis.com \
    monitoring.googleapis.com \
    logging.googleapis.com \
    storage.googleapis.com

Windows

フリート ホスト プロジェクトで必要な API を有効にするには:

gcloud services enable --project FLEET_HOST_PROJECT_ID ^
    anthos.googleapis.com ^
    cloudresourcemanager.googleapis.com ^
    connectgateway.googleapis.com ^
    container.googleapis.com ^
    gkeconnect.googleapis.com ^
    gkehub.googleapis.com ^
    serviceusage.googleapis.com ^
    iam.googleapis.com

Google Cloud コンソールでユーザー クラスタのライフサイクルを管理する場合は、フリートホスト プロジェクトで次の追加の API を有効にします。

gcloud services enable --project FLEET_HOST_PROJECT_ID ^
    anthosgke.googleapis.com ^
    anthosaudit.googleapis.com ^
    opsconfigmonitoring.googleapis.com ^
    stackdriver.googleapis.com ^
    monitoring.googleapis.com ^
    logging.googleapis.com ^
    storage.googleapis.com

フリートホスト プロジェクトのログと指標を表示する

Google Cloud コンソールでクラスタのログと指標を表示するには、管理ユーザーのクラスタ構成ファイルの stackdriver.projectID フィールドにフリートホスト プロジェクトの ID を入力します。

デフォルトでは、stackdriver セクションは必須です。つまり、stackdriver セクションを設定しない場合、gkectl create を実行する際に --skip-validation-stackdriver フラグを含める必要があります。

stackdriver.projectID フィールドには他のプロジェクト ID を入力できません。値を入力する場合は、フリートホスト プロジェクトの ID である必要があります。

Google Cloud コンソールでクラスタログと指標を表示する場合は、フリートホスト プロジェクトで次の API を有効にします。

Linux / macOS

gcloud services enable --project FLEET_HOST_PROJECT_ID \
    stackdriver.googleapis.com \
    opsconfigmonitoring.googleapis.com \
    monitoring.googleapis.com \
    logging.googleapis.com \
    serviceusage.googleapis.com \
    iam.googleapis.com \
    cloudresourcemanager.googleapis.com

Windows

gcloud services enable --project FLEET_HOST_PROJECT_ID ^
    stackdriver.googleapis.com ^
    opsconfigmonitoring.googleapis.com ^
    monitoring.googleapis.com ^
    logging.googleapis.com ^
    serviceusage.googleapis.com ^
    iam.googleapis.com ^
    cloudresourcemanager.googleapis.com

フリートホスト プロジェクトの監査ログを表示する

Google Cloud コンソールで監査ログを表示するには、管理ユーザーのクラスタ構成ファイルの cloudAuditLogging.projectID フィールドにフリートホスト プロジェクトの ID を入力します。

cloudAuditLogging.projectID フィールドには他のプロジェクト ID 入を力できません。値を入力する場合は、フリートホスト プロジェクトの ID である必要があります。

Google Cloud コンソールで監査ログを表示する場合は、フリートホスト プロジェクトで次の API を有効にします。

Linux / macOS

gcloud services enable --project FLEET_HOST_PROJECT_ID \
    anthosaudit.googleapis.com \
    serviceusage.googleapis.com \
    iam.googleapis.com \
    cloudresourcemanager.googleapis.com

Windows

gcloud services enable --project FLEET_HOST_PROJECT_ID ^
    anthosaudit.googleapis.com ^
    serviceusage.googleapis.com ^
    iam.googleapis.com ^
    cloudresourcemanager.googleapis.com

フリート ホスト プロジェクトのサービス アカウントにロールを付与する

connect-register サービス アカウントには、フリート ホスト プロジェクトに対する特定のロールを付与する必要があります。詳しくは、Connect-register サービス アカウントをご覧ください。

logging-monitoring サービス アカウントには、フリートホスト プロジェクトに対する特定のロールが付与されている必要があります。詳細については、logging-monitoring サービス アカウントをご覧ください。

監査ロギング サービス アカウントには、フリート ホスト プロジェクトに対する特定のロールが付与されている必要があります。詳しくは、監査ロギング サービス アカウントをご覧ください。

使用状況測定プロジェクト

ユーザー クラスタで GKE 使用状況測定を有効にすると、Anthos clusters on VMware は、任意の Cloud プロジェクトに関連付けられている BigQuery データセットに使用状況データを保存します。 この Cloud プロジェクトは、使用状況測定プロジェクトと呼ばれます。

使用状況測定プロジェクトは、フリート ホスト プロジェクトと同じにすることも、別のものにすることもできます。

使用状況測定を有効にするには、ユーザー クラスタ構成ファイルで、使用状況測定プロジェクトの ID に usageMetering.bigQueryProjectID を設定します。

使用状況測定を有効にする場合は、使用状況測定プロジェクトで次の API を有効にします。

Linux / macOS

gcloud services enable --project USAGE_METERING_PROJECT_ID] \
    bigquery.googleapis.com \
    serviceusage.googleapis.com \
    iam.googleapis.com \
    cloudresourcemanager.googleapis.com

Windows

gcloud services enable --project USAGE_METERING_PROJECT_ID ^
    bigquery.googleapis.com ^
    serviceusage.googleapis.com ^
    iam.googleapis.com ^
    cloudresourcemanager.googleapis.com

使用状況測定プロジェクトのサービス アカウントにロールを付与する

使用状況測定サービス アカウントには、使用状況測定プロジェクトに対する特定のロールが付与されている必要があります。

詳しくは、使用状況測定サービス アカウントをご覧ください。

コンポーネント アクセス サービス アカウントの親プロジェクト

クラスタを作成するためには、Anthos clusters on VMware が Container Registry からコンポーネントをダウンロードするために使用できるサービス アカウントが必要です。このサービス アカウントは、コンポーネント アクセス サービス アカウントと呼ばれます。

コンポーネント アクセス サービス アカウントを作成した Cloud プロジェクトは、コンポーネント アクセス サービス アカウントの親と呼ばれます。このプロジェクトは、クラスタ構成ファイルで指定したプロジェクトの 1 つと同じプロジェクトにできます。もしくは、構成ファイルで指定したすべてのプロジェクトと異なったものにすることもできます。サービス アカウントと親プロジェクトの詳細については、サービス アカウントと Cloud プロジェクトについてをご覧ください。

コンポーネント アクセス サービス アカウントの親プロジェクトで必要な API を有効にするには:

Linux / macOS

gcloud services enable --project [PROJECT_ID] \
    serviceusage.googleapis.com \
    iam.googleapis.com \
    cloudresourcemanager.googleapis.com

ここで、[PROJECT_ID] はコンポーネント アクセス サービス アカウントの親プロジェクトの ID です。

Windows

gcloud services enable --project [PROJECT_ID] ^
    serviceusage.googleapis.com ^
    iam.googleapis.com ^
    cloudresourcemanager.googleapis.com

ここで、[PROJECT_ID] はコンポーネント アクセス サービス アカウントの親プロジェクトの ID です。

次のステップ

サービス アカウントとキーを作成します