プロジェクトは、リソース階層の基本的なオペレーティング ユニットです。 Google Cloud プロジェクトは、フォルダ(または組織)と、仮想マシンやストレージなどのリソースの間に存在します。このページでは、Cloud Resource Manager API と Google Cloud コンソールを使用して Google Cloud プロジェクトを作成する方法について説明します。
プロジェクトの主な特性は次のとおりです。
プライマリ サービス コンテナ: プロジェクトは、すべての Google Cloud サービス(API)が有効になり、 Compute Engine インスタンスや BigQuery データセットなどのリソースが作成されるベースレベルです。
信頼境界: プロジェクトは分離レイヤとして機能します。デフォルトでは、1 つのプロジェクトのリソースは別のプロジェクトのリソースにアクセスできないため、さまざまなアプリケーションや環境に対して安全な境界が確立されます。
課金単位: プロジェクトは、組織全体の費用を追跡、整理、分離するための主要な方法です。
ポリシー アタッチメント ポイント: ポリシーはフォルダから継承されることが多いですが、プロジェクト レベルは、特定の権限(Identity and Access Management(IAM))がデベロッパーとサービス アカウントに付与され、日常業務に使用される最も一般的な場所です。
始める前に
リソース階層の概要で、プロジェクト リソースについてお読みください。リソース階層の設定については、 ランディング ゾーンのリソース階層を決定する Google Cloud をご覧ください。
プロジェクトには次の識別子が使用されます。
プロジェクト名: 人が読めるプロジェクト名。
プロジェクト名は Google API では使用されません。プロジェクト名は、プロジェクトの作成中や作成後にいつでも編集できます。プロジェクト名は一意である必要はありません。
プロジェクト ID: グローバルに一意のプロジェクト ID。
プロジェクト ID は、プロジェクトを他のすべてのプロジェクトと区別する一意の文字列です。 Google Cloudプロジェクト名を入力すると、 Google Cloud コンソールは 文字、数字、ハイフンの組み合わせで一意のプロジェクト ID を生成します。生成されたプロジェクト ID を使用しますが、この ID はプロジェクトの作成時に編集することもできます。プロジェクトが作成されると、プロジェクト ID は不変になります。
プロジェクト ID には次の要件があります。
- 6 ~ 30 文字にする必要があります。
- 英小文字、数字、ハイフンのみを含めることができます。
- 先頭は英字にする必要があります。
- 末尾にハイフンを使用することはできません。
- 使用中または以前に使用したことはできません。これには、削除されたプロジェクトも含まれます。
googleやsslなどの制限付き文字列を含めることはできませんプロジェクト ID にundefinedやnullなどの文字列を使用しないでください。
プロジェクト番号: プロジェクト番号は、プロジェクトに対して自動的に生成される 一意の識別子です。
プロジェクト名、プロジェクト ID、他のリソース名には、個人を特定できる情報やセキュリティ データなどの機密情報を含めないでください。プロジェクト ID は他の多くの Google Cloud リソースの名前で使用されます。プロジェクトまたはそのリソースを参照すると、プロジェクト ID とリソース名が公開されます。
プロジェクトを作成
プロジェクトを作成するには、resourcemanager.projects.create 権限が必要です。この権限は、プロジェクト作成者のロール(roles/resourcemanager.projectCreator)などのロールに含まれています。
プロジェクト作成者のロールは、デフォルトで新しい組織リソースのドメイン全体および無料トライアル ユーザーに付与されます。
ロールを個人に付与し、組織リソース 全体でのアクセスを制限する方法については、デフォルトの組織 ロールの管理ページをご覧ください。
親リソースを指定しなければ、ユーザー アカウントのドメインに基づいて親リソースが自動的に選択されます。
新しいプロジェクトは、 Google Cloud コンソール、
Google Cloud CLI または
projects.create()
メソッドを使用して作成できます。
コンソール
新しいプロジェクトを作成するには、次の操作を行います。
-
Google Cloud コンソールの [リソースの管理] ページに移動します。
残りの手順は、 Google Cloud コンソールに表示されます。
- ページの上部にある [組織の選択] プルダウン リストで、プロジェクトを作成する組織リソースを選択します。無料トライアルをご使用の場合はこのリストが表示されないため、この手順はスキップしてください。
- [プロジェクトを作成] をクリックします。
- 表示される [新しいプロジェクト] ウィンドウで、プロジェクト名を入力し、該当する請求先アカウントを選択します。プロジェクト名には文字、数字、単一引用符、ハイフン、スペース、感嘆符のみを使用でき、4~30 文字にする必要があります。
- [場所] ボックスに親組織またはフォルダ リソースを入力します。このリソース が新しいプロジェクトの階層上の親になります。 [組織なし] を選択した場合は、そのプロジェクトを選択して、独自のリソース階層の最上位として新しいプロジェクトを作成できます。
- 新しいプロジェクトの詳細を入力し終えたら、[作成] をクリックします。
gcloud
-
コンソールで Cloud Shell をアクティブにします。 Google Cloud
コンソールの下部にある Google Cloud Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です 。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています 。セッションが初期化されるまで数秒かかることがあります。
新しいプロジェクトを作成するには、次のように
gcloud projects createコマンドを使用します。gcloud projects create PROJECT_IDPROJECT_ID は、作成するプロジェクトの ID です。プロジェクト ID は先頭を小文字にする必要があります。また、使用できるのは ASCII 文字、数字、ハイフンのみで、6~30 文字にする必要があります。
親として組織リソースまたはフォルダを持つプロジェクトを作成するには、
--organizationまたは--folderフラグを使用します。リソースの親は 1 つのみであるため、これらのフラグのうち 1 つだけ使用できます。gcloud projects create PROJECT_ID --organization=ORGANIZATION_IDgcloud projects create PROJECT_ID --folder=FOLDER_ID
REST
projects.create() メソッドを使用して新しいプロジェクトを作成する場合、プロジェクト ID に特定の単語を使用できません。たとえば、google、null、undefined、ssl などです。制限付きの単語を使用すると、リクエストにより INVALID_ARGUMENT エラーが返されます。
次のリクエストではプロジェクトは作成されますが、このプロジェクトは請求先アカウントに自動的には関連付けられません。
projects.updateBillingInfo
メソッドを使用して、プロジェクトに関連付けられた請求先アカウントを設定または更新します。
プロジェクト リクエストを作成する:
POST https://cloudresourcemanager.googleapis.com/v3/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/v3/operations/pc.123456789
Authorization: *************
Content-Type: application/json
オペレーション レスポンスを取得する:
{
"name": "operations/pc.123456789",
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloudresourcemanager.v3.Project",
"projectNumber": "464036093014",
"projectId": "our-project-123",
"lifecycleState": "ACTIVE",
"name": "my project",
"labels": {
"mylabel": "prod"
},
"createTime": "2016-01-07T21:59:43.314Z"
}
}
プロジェクトの作成時にタグを追加する
タグを使用すると、リソースのアノテーションを作成できます。タグは、プロジェクトの作成時に追加できます。タグを追加するときは、Tag User ロールを割り当てる必要があります。このロールに割り当てられる権限の詳細については、リソースのタグの管理をご覧ください。タグの Key-Value ペアの名前空間は、次のいずれかの方法でのみ追加できます。
gcloud
プロジェクトの作成時にタグを追加するには、次のコマンドを実行します。
gcloud projects create PROJECT_ID --organization=ORGANIZATION_ID --tags=KEY_VALUE_PAIRS
以下を置き換えます。
- PROJECT_ID はプロジェクトの一意の識別子です。
- ORGANIZATION_ID はプロジェクトの固有識別子です。
- KEY_VALUE_PAIRS は、リソースに割り当てることができる Key-Value ペアのカンマ区切りのリストです。Key-Value ペアのカンマ区切りリストの例:
123/environment=production, 456/create=testresource
REST
次のスニペットは、プロジェクトを作成してタグを追加する JSON リクエストです。
POST https://cloudresourcemanager.googleapis.com/v3/projects/
Authorization: *************
Content-Type: application/json
{
"projectId": "our-project-456",
"name": "my project",
"parent": "organizations/123",
"tags": {
"key": "123/environment"
"value": "production"
},
"tags": {
"key": "123/costCenter"
"value": "marketing"
}
}
タグを使用してプロジェクト環境を指定する
タグを使用すると、本番環境、ステージング環境、開発環境など、環境に基づいてプロジェクトを視覚的に区別できます。これにより、エラーを防ぎ、機密性の高い環境での作業時の認識を向上させることができます。特定のタグの Key-Value ペアを持つプロジェクトが選択されると、Google はコンソールのプロジェクト選択ツールでプロジェクトに 目印を追加します。 Google Cloud この目印は、変更によって関連する本番環境または非本番環境のアプリケーションに影響する可能性があることを示します。タグは、プロジェクトによって継承されるか、プロジェクトに直接設定されます。
この機能を使用するには、次の操作を行います。
environmentという名前のタグキーを作成します。- 使用する環境カテゴリのタグ値を作成します。次の値がサポートされており、コンソールのプロジェクト選択ツールで対応するバッジにマッピングされます。
- Prod: Prod、prod、Production、production
- Dev: Dev、dev、Development、development
- Test: Test、test、Testing、testing、QA、qa、品質保証、品質保証
- Staging: Staging、staging、Stage、stage
- タグ バインディングを作成して 、適切なタグをプロジェクトにアタッチします。
プロジェクトに複数の環境タグ(フォルダから継承されたタグとプロジェクトに直接設定されたタグなど)がある場合、最も具体的なタグを使用してバッジが決定されます。
サービス アカウントを使用したプロジェクトの作成
サービス アカウントを使用して、プロジェクトの作成を自動化できます。ユーザー アカウントの場合と同様に、サービス アカウントには組織リソース内にプロジェクトを作成する権限を付与することができます。サービス アカウントは、組織リソース外にプロジェクトを作成することはできません。また、プロジェクトの作成時に親リソースを指定する必要があります。サービス アカウントは、gcloud CLI または projects.create() メソッドを使用して新しいプロジェクトを作成できます。
プロジェクトの割り当ての管理
割り当ての中に残っているプロジェクト数が 30 個未満の場合は、[新しいプロジェクト] ページに、割り当てに残っているプロジェクトの数が表示されます。プロジェクト数が上限に達した後、プロジェクトをさらに作成するには、プロジェクトの上限の引き上げをリクエストする必要があります。あるいは、[リソースの管理] ページで、30 日経過後に一部のプロジェクトを削除するようにスケジュールを設定することもできます。ユーザーによって 削除(復元可能)されたプロジェクトは、割り当ての計算対象になります。これらのプロジェクトは 30 日後に完全に削除されます。
組織の割り当てのプロジェクトに追加容量をリクエストするには、次の操作を行います。
[割り当てとシステム上限] ページに移動します。
リソース選択ツールから、プロジェクトの割り当てを増やす組織を選択します。
[フィルタ] オプションで [指標] を選択し、「
cloudresourcemanager.googleapis.com/projects_count」と入力します。[Cloud Resource Manager API] を選択し、 [その他の操作]、 そして [割り当てを編集] を選択します。
[割り当ての変更] ダイアログで、新しい割り当て値と説明を入力し、[次へ] をクリックします。
連絡先の詳細を入力し、[リクエストを送信] をクリックします。
リクエストの受付確認メールが届きます。ご不明な点がある場合は、そのメールに返信してください。審査が完了すると、リクエストが承認されたかどうかを通知するメールが届きます。
組織がなく、割り当てのプロジェクトに追加容量をリクエストする場合は、 プロジェクトの割り当て増加の リクエスト フォームを使用してください。
割り当てとその使用理由の詳細については、 無料トライアル プロジェクトの割り当てリクエスト サポートページをご覧ください。請求レポートの詳細については、 請求レポートのサポートページをご覧ください。
次のステップ
- プロジェクトの表示と更新について学習する。
- プロジェクトの削除と復元について学習する。
- リソース階層内でプロジェクトを移動する方法を学習する。
- 組織リソースをまたいでプロジェクトを移行する方法を学習する。