GCPのログイン情報を取得する

GCPと連携するには、Incredibuild Cloudのアクティベート時に次のログイン情報が必要です。

  • プロジェクトID

  • サービス アカウントID

また、対象のGCPプロジェクトで、いくつかのAPIを有効化する必要があります。

  1. GCPで対象のプロジェクトに移動します。

  2. ServiceAccounts]>[CreateServiceAccount]に進みます。サービス アカウントIDは後で必要になります。

  3. サービス アカウント]から[アクセス権]を開き、「新しいプリンシパルincredicloud@ib-cloud.iam.gserviceaccount.comに「サービス アカウントトークン作成者」のロールでアクセス権を付与します。

  4. 次にIncredibuildで必要な権限を持つユーザーを作成します。

    1. IAMandAdmin]>[Roles]にアクセスしてください。

    2. [CreateRole]をクリックします。

    3. Title」と「ID」を入力します(後で必要になります)。

    4. 次の権限を追加します。

      • compute.disks.create

      • compute.disks.delete

      • compute.disks.get

      • compute.disks.list

      • compute.firewalls.create

      • compute.firewalls.delete

      • compute.firewalls.get

      • compute.firewalls.list

      • compute.firewalls.update

      • compute.globalOperations.get

      • compute.globalOperations.list

      • compute.instanceGroupManagers.create

      • compute.instanceGroupManagers.delete

      • compute.instanceGroupManagers.get

      • compute.instanceGroupManagers.list

      • compute.instanceGroupManagers.update

      • compute.instanceGroupManagers.use

      • compute.instanceGroups.delete

      • compute.instanceTemplates.create

      • compute.instanceTemplates.delete

      • compute.instanceTemplates.get

      • compute.instanceTemplates.list

      • compute.instanceTemplates.useReadOnly

      • compute.instances.attachDisk

      • compute.instances.create

      • compute.instances.delete

      • compute.instances.get

      • compute.instances.list

      • compute.instances.reset

      • compute.instances.resume

      • compute.instances.setLabels

      • compute.instances.setMetadata

      • compute.instances.setServiceAccount

      • compute.instances.setTags

      • compute.instances.start

      • compute.instances.stop

      • compute.instances.suspend

      • compute.instances.update

      • compute.networks.create

      • compute.networks.delete

      • compute.networks.get

      • compute.networks.list

      • compute.networks.updatePolicy

      • compute.projects.get

      • compute.regionOperations.get

      • compute.regionOperations.list

      • compute.regions.get

      • compute.regions.list

      • compute.subnetworks.create

      • compute.subnetworks.delete

      • compute.subnetworks.get

      • compute.subnetworks.list

      • compute.subnetworks.use

      • compute.subnetworks.useExternalIp

      • compute.zoneOperations.get

      • compute.zoneOperations.list

      • resourcemanager.projects.get

    5. [作成]をクリックしてロールを作成します。

  5. [IAM]>[追加]の順に選択します。

  6. 前述の手順で[新しいプリンシパル]に作成したサービス アカウントIDを入力します。先ほど作成したロールを付与します。

  7. 以下のように必要なAPIを有効化します。

    1. APIs&Services][EnableAPIs&Services]にアクセスします。

    2. CloudResourceManagerAPI」を検索し、[Enable]をクリックします。以下は、すでにAPI有効になった後、「Enable」ボタンが、「Manage」に変更し、どのように表示されるかを表しています。

    3. ComputerEngineAPIを検索し、[Enable]をクリックします。以下は、すでにAPI有効になった後、「Enable」ボタンが、「Manage」に変更し、どのように表示されるかを表しています。

共有VPCを使用して作業する

GCPアカウントで共有VPCを使用している場合は、上記で作成したプロジェクトがVPCにアクセスできるようにする必要があります。

  1. 共有VPCを管理するプロジェクトで、[SharedVPC]エリアに移動し、[Add Principal]をクリックします。


  2. 新しいプリンシパルとして、上記で作成したIncredibuild CloudVMで使用するプロジェクトのサービス アカウントを入力し、「ComputeNetworkUser」というロールを付与します。

  3. Incredibuildにファイアウォール ルールを管理させる場合は、VPCを管理するプロジェクトに以下の権限を持つカスタムロールを作成してください。これはオプションであり、Incredibuildが失敗する原因にはなりませんが、実行しない場合はファイアウォール ルールを手動で設定する必要があります。

    • compute.firewalls.create

    • compute.firewalls.delete

    • compute.firewalls.get

    • compute.firewalls.list

    • compute.firewalls.update

    • compute.networks.updatePolicy

トラブルシューティング

いくつかのケースでは、GCPの問題により、カスタムロールが予想通りに機能しません。その場合、サービス アカウントに「viewer」というGCP標準のロールを追加します。オンボーディングが確認された後、このロールを削除することが可能です。それでも解決しない場合は、support@incredibuild.comまでご連絡ください。