Google Cloud でリソースを管理するためのルートノードは組織です。Google Cloud の組織は、リソースの所有構造と、組織のポリシーとアクセス制御の接点を提供するリソース階層を提供します。リソース階層は、フォルダ、プロジェクト、リソースで構成され、組織内の Google Cloud サービスの構造と使用を定義します。
階層の下位にあるリソースは、IAM 許可ポリシーや組織のポリシーなどのポリシーを継承します。すべてのアクセス権は、リソースに許可ポリシーを直接適用するか、リソースがリソース階層の上位レベルから許可ポリシーを継承するまで、デフォルトで拒否されます。
次の図は、ブループリントによってデプロイされるフォルダとプロジェクトを示したものです。
以降のセクションでは、この図に記載されているフォルダとプロジェクトについて説明します。
フォルダ
このブループリントでは、フォルダを使用し、環境に基づいてプロジェクトをグループ化します。この論理グループを使用して、フォルダレベルで許可ポリシーや組織のポリシーなどの構成が適用され、フォルダ内のすべてのリソースがポリシーを継承します。このブループリントに含まれているフォルダは、次の表に示すとおりです。
フォルダ | 説明 |
---|---|
bootstrap |
基盤コンポーネントのデプロイに使用するプロジェクトが含まれています。 |
common |
すべての環境で共有されるリソースを持つプロジェクトが含まれています。 |
production |
本番環境リソースが置かれたプロジェクトが含まれています。 |
nonproduction |
本番環境のコピーが含まれており、ワークロードを本番環境にプロモートする前にテストできます。 |
development |
開発に使用するクラウド リソースが含まれています。 |
networking |
すべての環境で共有されるネットワーキング リソースが含まれています。 |
プロジェクト
このブループリントでは、プロジェクトを使用して、個々のリソースがその機能とアクセス制御の目的で設定された境界に基づいてグループ化されます。このブループリントが含まれているプロジェクトを、次の表に示します。
フォルダ | プロジェクト | 説明 |
---|---|---|
bootstrap |
prj-b-cicd |
組織の基盤コンポーネントの構築に使用されるデプロイ パイプラインが含まれています。詳細については、デプロイ手法をご覧ください。 |
prj-b-seed |
インフラストラクチャの Terraform の状態と、パイプラインの実行に必要な Terraform サービス アカウントが含まれています。詳細については、デプロイ手法をご覧ください。 | |
common |
prj-c-secrets |
組織レベルのシークレットが含まれています。詳細については、Secret Manager でアプリケーションの認証情報を保存するをご覧ください。 |
prj-c-logging |
監査ログの集約されたログソースが含まれています。詳細については、セキュリティと監査のための一元的なロギングをご覧ください。 | |
prj-c-scc |
Security Command Center のアラートやその他のカスタム セキュリティ モニタリングの構成に役立つリソースが含まれています。詳細については、Security Command Center を使用した脅威のモニタリングをご覧ください。 | |
prj-c-billing-logs |
組織の課金データのエクスポートを含む BigQuery データセットが含まれます。詳細については、内部コストセンター間で費用を割り当てるをご覧ください。 | |
prj-c-infra-pipeline |
ワークロードで使用されるリソース(VM やデータベースなど)をデプロイするためのインフラストラクチャ パイプラインが含まれています。詳細については、パイプライン レイヤをご覧ください。 | |
prj-c-kms |
組織レベルの暗号鍵が含まれています。詳細については、暗号鍵を管理するをご覧ください。 | |
networking |
prj-net-{env}-shared-base |
VPC Service Controls を必要としないワークロード用の、共有 VPC ネットワークのホスト プロジェクトが含まれています。詳細については、ネットワーク トポロジをご覧ください。 |
prj-net-{env}-shared-restricted |
VPC Service Controls を必要とするワークロード用の、共有 VPC ネットワークのホスト プロジェクトが含まれています。詳細については、ネットワーク トポロジをご覧ください。 | |
prj-net-interconnect |
オンプレミス環境と Google Cloud 間の接続を提供する Cloud Interconnect 接続が含まれています。詳細については、ハイブリッド接続をご覧ください。 | |
prj-net-dns-hub |
オンプレミス DNS システムと Cloud DNS 間における通信の中間点用のリソースが含まれています。詳細については、一元化された DNS の設定をご覧ください。 | |
環境フォルダ(production,
non-production 、development ) |
prj-{env}-monitoring |
その環境にあるプロジェクトの指標を集計するスコープ対象プロジェクトが含まれています。詳細については、ログベースの指標とパフォーマンス指標に関するアラートをご覧ください。 |
prj-{env}-secrets |
フォルダレベルのシークレットが含まれています。詳細については、Secret Manager でアプリケーションの認証情報を保存および監査するをご覧ください。 | |
prj-{env}-kms |
フォルダレベルの暗号鍵が含まれています。詳細については、暗号鍵を管理するをご覧ください。 | |
アプリケーション プロジェクト | アプリケーションのリソースを作成するさまざまなプロジェクトが含まれています。詳細については、プロジェクトのデプロイ パターンとパイプライン レイヤをご覧ください。 |
リソース所有権のガバナンス
ガバナンスと費用の割り当てを容易にするために、プロジェクトには一貫したラベルを付けることをおすすめします。次の表に、ブループリントのガバナンスのために各プロジェクトに追加されるプロジェクト ラベルを示します。
ラベル | 説明 |
---|---|
application |
プロジェクトに関連付けられているアプリケーションまたはワークロードの、人が読める形式の名前。 |
businesscode |
プロジェクトを所有するビジネス ユニットを示す短いコード。コード shared は、ビジネス ユニットに明示的に関連付けられていない共通のプロジェクトに使用されます。 |
billingcode |
チャージバックの情報を提供するために使用されるコード。 |
primarycontact |
プロジェクトを担当する主担当者のユーザー名。プロジェクト ラベルにはアンパサンド(@)などの特殊文字を含めることができないため、後半の @example.com を除いたユーザー名が設定されます。 |
secondarycontact |
プロジェクトを担当する副担当者のユーザー名。プロジェクト ラベルには @ などの特殊文字を含めることができないため、後半の @example.com を除いたユーザー名のみを設定します。 |
environment |
環境のタイプを識別する値(bootstrap 、common 、production 、non-production,development 、network. など)。 |
envcode |
環境のタイプを識別する値(短縮形: b 、c 、p 、n 、d 、net )。 |
vpc |
このプロジェクトでの使用が予定される VPC ネットワークの ID。 |
Google は、アカウントの停止やプロダクト利用規約の更新などの重要な通知を送信することがあります。このブループリントでは、重要な連絡先を使用して、デプロイ時に構成したグループにこうした通知が送信されます。重要な連絡先は組織ノードで構成され、組織内のすべてのプロジェクトに継承されます。これらのグループを確認して、メールが確実にモニタリングされるようにすることをおすすめします。
重要な連絡先は、プロジェクト ラベルで構成される primarycontact
フィールドおよび secondarycontact
フィールドとは異なる目的で使用されます。プロジェクト ラベルの連絡先は、内部のガバナンスを目的としています。たとえば、ワークロード プロジェクトでコンプライアンス違反のリソースを特定してオーナーに連絡する必要がある場合は、primarycontact
フィールドを使用してそのワークロードの担当者または担当チームを見つけることができます。
次のステップ
- ネットワーキング(このシリーズの次のドキュメント)について読む。