プロジェクトの作成と管理

Google Cloud Platform(GCP)プロジェクトは、API の管理、請求の有効化、共同編集者の追加と削除、GCP リソースの権限の管理など、すべての GCP サービスの作成、有効化、使用の基礎となります。

このページでは、Resource Manager API と Google Cloud Platform Console を使用して GCP プロジェクトを作成および管理する方法について説明します。

始める前に

リソース階層の概要で、プロジェクト リソースについてお読みください。

プロジェクトの作成

プロジェクトを作成するには、resourcemanager.projects.create 権限が必要です。この権限は、プロジェクト作成者の役割 roles/resourcemanager.projectCreator に含まれています。この役割は、デフォルトで新しい組織のドメイン全体および無料トライアル ユーザーに付与されます。プロジェクト作成者の役割を個人に付与し、組織全体でのアクセスを制限する方法については、デフォルトの組織役割の管理ページをご覧ください。

GCP Console または projects.create() メソッドを使用して新しいプロジェクトを作成できます。

Console

新しいプロジェクトを作成するには:

  1. GCP Console で [リソースの管理] ページに移動します。
    [リソースの管理] ページに移動
  2. ページの上部にある [組織の選択] プルダウン リストで、プロジェクトを作成する組織を選択します。無料トライアルをご利用の場合、このリストは表示されないため、この手順をスキップしてください。
  3. [プロジェクトを作成] をクリックします。
  4. 表示される [新しいプロジェクト] ウィンドウで、プロジェクト名を入力し、該当する請求先アカウントを選択します。
  5. プロジェクトをフォルダに追加する場合は、[場所] ボックスに該当するフォルダ名を入力します。
  6. 新しいプロジェクトの詳細を入力し終えたら、[作成] をクリックします。

gcloud

新しいプロジェクトを作成するには、gcloud projects create コマンドを使用します。

gcloud projects create PROJECT_ID

PROJECT_ID は、作成するプロジェクトの ID です。プロジェクト ID は先頭を小文字にし、使用できるのは ASCII 文字、数字、ハイフンのみで、6~30 文字にする必要があります。

親が組織またはフォルダであるプロジェクトを作成するには、--organization フラグや --folder フラグを使用します。リソースの親は 1 つのみであるため、これらのフラグの 1 つだけを使用できます。

gcloud projects create PROJECT_ID --organization=ORGANIZATION_ID

gcloud projects create PROJECT_ID --folder=FOLDER_ID

API

projects.create() メソッドで新しいプロジェクトを作成する場合、プロジェクト ID に特定の単語を使用することはできません。たとえば、sslgoogle は使用できません。制限付きの単語を使用すると、リクエストから INVALID_ARGUMENT エラーが返されます。

以下のリクエストではプロジェクトは作成されますが、このプロジェクトは請求先アカウントに自動的には関連付けられません。projects.updateBillingInfo メソッドを使用して、プロジェクトに関連付けられた請求先アカウントを設定または更新します。

プロジェクト リクエストを作成する:

POST https://cloudresourcemanager.googleapis.com/v1/projects/
Authorization: *************
Content-Type: application/json

{
    "projectId": "our-project-123",
    "name": "my project",
    "labels": {
      "mylabel": "prod"
    }
}

プロジェクト レスポンスを作成する:

{
    "name": "operations/pc.123456789",
}

オペレーション リクエストを取得する:

GET https://cloudresourcemanager.googleapis.com/v1/operations/pc.123456789
Authorization: *************
Content-Type: application/json

オペレーション レスポンスを取得する:

{
    "name": "operations/pc.123456789",
    "done": true,
    "response": {
        "@type": "type.googleapis.com/google.cloudresourcemanager.v1.Project",
        "projectNumber": "464036093014",
        "projectId": "our-project-123",
        "lifecycleState": "ACTIVE",
        "name": "my project",
        "labels": {
        "mylabel": "prod"
        },
    "createTime": "2016-01-07T21:59:43.314Z"
    }
}

PYTHON

...
crm = discovery.build(
    'cloudresourcemanager', 'v1', http=creds.authorize(httplib2.Http()))

operation = crm.projects().create(
body={
    'project_id': flags.projectId,
    'name': 'my project'
}).execute()

...

プロジェクトの割り当ての管理

割り当ての中に残っているプロジェクト数が 30 個未満の場合は、[新しいプロジェクト] ページに、割り当てに残っているプロジェクトの数が表示されます。ユーザーがソフト削除したプロジェクトは、それが 30 日後に完全に削除されるまで、割り当てに加算されます。

割り当ての中のプロジェクトに追加容量が必要な場合は、課金の割り当て増加のリクエスト サポートページをご覧ください。割り当てと使用理由の詳細については、無料トライアルのプロジェクト割り当てのリクエスト サポートページをご覧ください。

プロジェクトの識別

GCP の各リソースとやり取りするには、すべてのリクエストでプロジェクトの識別情報を提供する必要があります。プロジェクトは次の方法で識別されます。

  • プロジェクト名: プロジェクトを作成したとき、またはプロジェクト ID の作成を要求する API をアクティブ化したときに選択したカスタマイズ名。削除したプロジェクトのプロジェクト名を再利用することはできません。
  • プロジェクト ID: プロジェクト名とランダムに割り当てられた番号で構成される、プロジェクトに付けられた固有な ID。
  • プロジェクト番号: サーバーが自動的に生成し、プロジェクトに割り当てる番号。

プロジェクト ID とプロジェクト番号を取得する方法は、次のとおりです。

  1. GCP Console の [ダッシュボード] ページに移動します。

    [ダッシュボード] ページに移動する

  2. ページ上部の [選択元] プルダウン リストをクリックします。表示される [選択元] ウィンドウで、プロジェクトを選択します。

プロジェクト ID とプロジェクト番号はどちらも、プロジェクト ダッシュボードの [プロジェクト情報] カードに表示されます。

プロジェクト ID は、プロジェクト名とは異なります。プロジェクト名は人が読める形式でプロジェクトを識別する方法ですが、Google API によって使用されることはありません。この例では、My Sample Project がプロジェクト名、my-sample-project-191923 がプロジェクト ID です。

プロジェクト ID は、Google Cloud Platform Console でプロジェクトの作成時に入力したプロジェクト名から生成されます。特定の単語はプロジェクト ID で使用できません。googlessl などの制限付きの単語がプロジェクト名で使用されている場合、これらの単語は生成されたプロジェクト ID に含まれません。 プロジェクト名に影響はありません。

プロジェクト番号とプロジェクト ID はどちらも Google Cloud Platform 全体で固有です。別のユーザーが使用しているプロジェクト ID と同じプロジェクト ID は使用できません。

プロジェクト ID(または任意のリソース名)を決めるときに、名前に機密情報が含まれないように注意してください。

既存のプロジェクトを取得する

既存のプロジェクトを取得するには、GCP Console または projects.get() メソッドを使用します。

Console

Google Cloud Platform Console を使用してプロジェクトを表示するには:

  1. Google Cloud Platform Console で [ダッシュボード] ページに移動します。

    [ダッシュボード] ページに移動する

  2. ページ上部の [選択元] プルダウン リストをクリックします。表示される [選択元] ウィンドウで、プロジェクトを選択します。

gcloud

プロジェクトのメタデータを取得するには、gcloud projects describe コマンドを使用します。

gcloud projects describe PROJECT_ID

PROJECT_ID は、表示するプロジェクトの ID です。

API

リクエスト:

GET
https://cloudresourcemanager.googleapis.com/v1beta1/projects/our-project-123

レスポンス:

{
    "projectNumber": "464036093014",
    "projectId": "our-project-123",
    "lifecycleState": "ACTIVE",
    "name": "my project",
    "labels": {
        "mylabel": "prod"
    },
    "createTime": "2016-01-07T21:59:43.314Z"
}

Python

...
crm = discovery.build(
    'cloudresourcemanager', 'v1', http=creds.authorize(httplib2.Http()))

project = crm.projects().get(projectId=flags.projectId).execute()

...

プロジェクトのリスト表示

アクセス権を持つプロジェクトのリストを表示するには、GCP Console または projects.list() メソッドを使用できます。

Console

Google Cloud Platform Console を使用してプロジェクトを一覧表示するには:

  • GCP Console に移動します。

    GCP Console に移動する

  • 上部バーにある [プロジェクト] プルダウンに、すべてのプロジェクトが表示されます。[プロジェクトとフォルダを検索] テキスト ボックスを使用してプロジェクトをフィルタリングします。
  • すべてのプロジェクトを表示するには、[リソースを管理] をクリックします。[名前、ID、プロジェクト番号、またはラベルでフィルタ] テキスト ボックスを使用してプロジェクトをフィルタします。

gcloud

現在アクティブなアカウントでアクセス可能なすべてのプロジェクトのリストを表示するには、gcloud projects list コマンドを使用します。

gcloud projects list

このコマンドでは、オーナー、編集者、閲覧者のいずれかの権限が付与されているすべてのプロジェクトに対してプロジェクト ID、名前、およびプロジェクト番号を付与します。

--filter フラグを使えば、結果を絞り込むことができます。このフラグでは、プロジェクト ID、名前、およびプロジェクト番号を検索し、フィルタリングされた用語が存在する場合のみ結果を返します。

gcloud projects list --filter=test

上記のコマンドでは、オーナー、編集者、閲覧者のいずれかの権限が付与されていて、名前、プロジェクト ID、またはプロジェクト番号のフィールドに「test」という語句が含まれているすべてのプロジェクトを返します。フィルタ構文の詳細については、gcloud topic filters をご覧ください。

API

リクエスト:

GET https://cloudresourcemanager.googleapis.com/v1beta1/projects

{
    "name": "project a"
}

レスポンス:

{
    "projects": [
    {
        "projectNumber": "951040570662",
        "projectId": "google.com:api-project-951040570662",
        "lifecycleState": "ACTIVE",
        "name": "project a",
        "createTime": "2013-11-13T20:31:53.308Z"
    }
    ]
}

次のコード スニペットは、赤いラベルを持つすべてのプロジェクトを一覧表示します。

リクエスト:

GET
https://cloudresourcemanager.googleapis.com/v1beta1/projects

{
    "labels": {
    "color": "red"
    }
}

レスポンス:

{
    "projects": [
    {
        "projectNumber": "350831539566",
        "projectId": "my-project-b",
        "lifecycleState": "ACTIVE",
        "name": "project b",
        "labels": {
            "color": "red"
        },
        "createTime": "2012-02-18T23:11:57.831Z"
    }
    ]
}

PYTHON

...
crm = discovery.build(
    'cloudresourcemanager', 'v1', http=creds.authorize(httplib2.Http()))

filter = "name:project a"
projects = crm.projects().list(filter=filter).execute()

...

次のコード スニペットは、赤いラベルを持つすべてのプロジェクトを一覧表示します。

filter = 'labels.color:red'
projects = crm.projects().list(filter=filter).execute()

プロジェクトの更新

プロジェクトを更新するには、GCP Console または projects.update() メソッドを使用します。現時点では、更新できるフィールドはプロジェクト名とラベルのみです。gcloud コマンドライン ツールまたは API リクエストで使用するプロジェクト ID 値を変更することはできません。プロジェクトの更新の詳細については、プロジェクト API リファレンス ページをご覧ください。

Console

GCP Console を使用してプロジェクトのフィールドを更新するには:

  • Google Cloud Platform Console で [設定] ページを開きます。

    [設定] ページを開く

  • ページ上部にある「プロジェクトの選択」プルダウン リストをクリックします。
  • 表示された [選択元] ウィンドウで、組織プルダウン リストをクリックして、組織を選択します。
  • 表示されたリストからプロジェクトを選択します。
  • プロジェクト名を変更するには、プロジェクト名を編集し、[保存] をクリックします。
  • ラベルを変更するには、左側のナビゲーションで [ラベル] をクリックします。詳細については、ラベルの使用をご覧ください。

gcloud

プロジェクト名を更新するには、gcloud projects update コマンドを使用します。

gcloud projects update PROJECT_ID --name=NAME

ここで、PROJECT_ID は更新するプロジェクトの ID で、NAME はプロジェクトに割り当てる新しい名前です。

API

プロジェクトを更新するには:

  • projects.get() メソッドを使用して、project オブジェクトを取得します。
  • 更新対象の項目を変更します。
  • projects.update() メソッドを使用して project オブジェクトを更新します。

次のコード スニペットは、プロジェクト名を "myproject" に更新します。

リクエスト:

    PUT https://cloudresourcemanager.googleapis.com/v1beta1/projects/my-project-123
    {
        "name": "myproject"
    }

レスポンス:

    {
        "projects": [
        {
            "projectNumber": "951040570662",
            "projectId": "my-project-123",
            "lifecycleState": "ACTIVE",
            "name": "myproject",
            "createTime": "2013-11-13T20:31:53.308Z"
        }
        ]
    }

PYTHON

...
crm = discovery.build(
    'cloudresourcemanager', 'v1', http=creds.authorize(httplib2.Http()))

project = crm.projects().get(projectId=flags.projectId).execute()
project['name'] = 'myproject'
project = crm.projects().update(
projectId=flags.projectId, body=project).execute()

...

プロジェクトのシャットダウン(削除)

プロジェクトをシャットダウンするには、GCP Console または projects.delete() メソッドを使用できます。

このメソッドは、プロジェクトに「削除対象」のマークを即座に付けて、プロジェクト所有者に通知メールを送信します。削除マーク付きのプロジェクトは使用不能になります。約 30 日後に、そのプロジェクトは完全に削除されます。30 日以内にこの削除プロセスを停止するには、プロジェクトの復元手順をご覧ください。

30 日間がすぎると、プロジェクトとそのすべてのリソースが削除され、復元できなくなります。プロジェクトが削除されるまでは、プロジェクト割り当てに加算されます。

プロジェクトの課金が設定済みの場合は、現在の請求期間が終了して請求書が発行され、料金のお支払いが済むまでは、完全に削除されないことがあります。また、使用中のサービスの数と種類によっては、プロジェクトの完全削除のタイミングが影響を受けることもあります。データの保持と安全な削除の詳細については、Google が収集したデータの保持をご覧ください。

プロジェクトをシャットダウンするには:

  • プロジェクトには、請求先アカウントが関連付けられていないようにしてください。
  • プロジェクトのライフサイクルの状態が ACTIVE である必要があります。

Console

GCP Console を使用してプロジェクトをシャットダウンするには:

  • Google Cloud Platform Console で [設定] ページを開きます([IAM と管理] の下にあります)。

    [設定] ページを開く

  • [プロジェクトの選択] をクリックします。

  • 削除するプロジェクトを選択して、[開く] をクリックします。

  • [シャットダウン] をクリックします。

  • プロジェクト ID を入力して、[シャットダウン] をクリックします。

gcloud

プロジェクトを削除するには、gcloud projects delete コマンドを使用します。

gcloud projects delete PROJECT_ID

PROJECT_ID は、削除するプロジェクトの ID です。

API

次のコード スニペットは、指定したプロジェクトを削除します。

リクエスト:

DELETE
https://cloudresourcemanager.googleapis.com/v1beta1/projects/my-project-123

PYTHON

...
crm = discovery.build(
    'cloudresourcemanager', 'v1', http=creds.authorize(httplib2.Http()))

project = crm.projects().delete(projectId=flags.projectId).execute()

...

プロジェクトの復元

プロジェクト オーナーは、プロジェクトをシャットダウンした時点から 30 日間の復元期間中に、削除したプロジェクトを復元できます。プロジェクトを復元すると、プロジェクトがシャットダウンする前の状態に戻ります。Cloud Storage リソースは、30 日が経過する前に削除され、完全には復元できない場合があります。

一部のサービスは手動で再起動する必要があります。詳細については、Google Cloud Platform サービスの再開をご覧ください。

プロジェクトを復元するには:

  1. Google Cloud Platform Console の [リソースの管理] ページに移動します。

    [リソースの管理] ページに移動

  2. 左上の [組織] プルダウンから組織を選択します。

  3. プロジェクトのリストの下にある [削除保留中のリソース] をクリックします。

  4. 復元するプロジェクトのチェックボックスをオンにして、[復元] をクリックします。表示されるダイアログで、プロジェクトを復元することを確認します。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Resource Manager のドキュメント