DOMAIN 1 DEEP DIVE

Domain 1: 環境設定
包括的解説

クラウドソリューション環境の設定 — 試験配点 ≈23%。リソース階層・IAM・組織ポリシー・請求・gcloud CLI・API 管理を完全網羅。 ace-domain1-setup-guide + エンタープライズ深掘り解説を統合。

配点
≈23%
問題数目安
12〜14問
チャプター数
10
コード例
Python/HCL/SQL
D1

Domain 1: クラウドソリューション環境の設定

試験配点 ≈23%。リソース階層・IAM・組織ポリシー・請求・gcloud CLI・API 管理の完全ガイド。

≈23%
0.1Domain 1 の全体マップ
Domain 1 の全体マップDomain 1: クラウドソリューション環境の設定1. プロジェクト/アカウント設定2. 請求構成とコスト管理3. Cloud API の管理• 1-1 Google Cloud リソース階層• 1-2 Cloud Identity / Google Workspace• 1-3 プロジェクトの作成と管理• 1-4 組織ポリシー• 1-5 gcloud CLI の設定と管理• 2-1 請求先アカウント (Billing Account)• 2-2 予算とアラートの設定• 2-3 コストの可視化と分析• 2-4 自動コスト制御アーキテクチャ• 3-1 API の有効化と管理• 3-2 API キーとサービスアカウント認証

Domain 1 は試験全体の約 23%(Standard Exam 50〜60問中 約12〜14問)を占める最重要基盤領域。 ここで設計する階層・ポリシー・請求構成が後続のすべての運用・セキュリティ・コスト管理の土台となる。

0.2エンタープライズ視点: Domain 1 の位置づけ
認定試験における主要ドメイン概要と評価範囲出題比重の目安
Domain 1: 環境の設定プロジェクト、IAM、請求(Billing)、CLIツールの初期構成とガバナンスの確立17.5% - 23%
Domain 2: 計画と構成ワークロードに適したコンピューティング、ストレージ、ネットワークの選択と設計17.5% - 30%
Domain 3: デプロイと実装Compute Engine、GKE、Cloud Runなどの実際のリソース構築とデプロイ25%
Domain 4: 正常な運用の確保Operations Suiteを用いた監視、ロギング、トラブルシューティング20% - 27%
Domain 5: アクセスとセキュリティネットワークセキュリティ、ファイアウォール、サービスアカウントの高度な管理20%

現代のエンタープライズITにおいて、パブリッククラウドの導入は単なるインフラストラクチャの移行ではなく、組織のガバナンス、セキュリティ、財務管理、そして開発アジリティを根本から再定義する戦略的プロセスである。初期設定の段階で適切なリソース階層、アクセス制御、請求構成を設計することは、将来的なセキュリティインシデントや予算超過(クラウド破産)を防ぎ、スケーラブルな運用を実現するための絶対条件である。

01

Chapter 1: Google Cloud リソース階層の完全理解

Organization・Folder・Project・Resource の4層構造、IAMポリシー継承メカニズム、実践的な設計パターン。

最重要
1.1リソース階層とは? — 会社組織図との対応
会社組織図と Google Cloud 階層の対応【現実の会社組織】【Google Cloud の階層】株式会社 ExampleOrganization(組織)開発部門営業部門Folder(開発)Folder(営業)backendfrontendProjectProject部門 = Folder、チーム = Project — 階層が一対一に対応する
1.2各階層レベルの詳細解説

レベル1: Organization(組織)

Organization: example.com
├── 全プロジェクトの親
├── 組織ポリシーを全体に適用できる
└── 組織レベルのIAMロール付与が可能
特性内容
自動作成Google Workspace / Cloud Identity ドメインに紐付いて自動生成
一意性1つのドメインにつき1つの Organization
親リソース存在しない(最上位)
デフォルトロールOrganization AdminBilling Account Creator など

レベル2: Folder(フォルダ)— ネスト構造

Organization: example.com
├── Folder: 開発環境
│   ├── Project: dev-frontend
│   ├── Project: dev-backend
│   └── Project: dev-database
│
├── Folder: ステージング環境
│   └── Project: staging-webapp
│
└── Folder: 本番環境
    ├── Project: prod-frontend
    └── Project: prod-backend

フォルダは最大 10レベル まで入れ子にできます
用途
環境分離開発・ステージング・本番
部門分離開発部・財務部・マーケティング部
地域分離日本・米国・欧州
プロジェクト分類社内システム・顧客向けサービス

レベル3: Project(プロジェクト)— 3つの識別子

Project: my-webapp-prod
├── 一意の Project ID(変更不可)
├── Project Number(自動採番、変更不可)
├── Project Name(変更可能)
├── 紐付けられた Billing Account
├── 有効化された API のリスト
└── リソース(VM、DB、ストレージ...)
識別子変更可否特徴
Project IDmy-webapp-prod-20240101❌ 変更不可グローバルに一意。作成時に指定(自動生成も可)
Project Number123456789012❌ 変更不可Google が自動採番する数値 ID
Project NameMy Webapp Production✅ 変更可表示名。一意性は不要
⚠️ 試験頻出: Project ID は グローバルに一意変更不可。一度設定したら永久に変わりません。
✅ 同一プロジェクトに置くべきリソース:
   → 同じチームが管理するリソース
   → 同じセキュリティ要件を持つリソース
   → 同じ予算で管理するリソース

❌ 別プロジェクトに分けるべきケース:
   → 開発環境と本番環境(セキュリティレベルが異なる)
   → 異なる部門のシステム(責任範囲が異なる)
   → コストを独立して管理したいシステム
1.3IAMポリシーの継承メカニズム(最重要)
IAM Policy の基本構造:

Policy = {
  "bindings": [
    {
      "role": "roles/editor",        ← 何ができるか(役割)
      "members": [                   ← 誰が
        "user:alice@example.com"
      ]
    }
  ]
}

継承の仕組み(上位 → 下位に自動適用)

Organization レベル: alice に roles/viewer を付与
    ↓ 自動的に継承される
Folder レベル: alice はここでも viewer
    ↓ 自動的に継承される
Project レベル: alice はここでも viewer
    ↓ 自動的に継承される
Resource レベル: alice はここでも viewer
【ルール1】上位の許可は下位でも有効
  Organization で roles/editor を付与
  → その配下のすべてのプロジェクトでも editor 権限が有効

【ルール2】下位での制限で上位の許可は取り消せない
  Organization で roles/editor を付与
  Project レベルで拒否しようとしても無効
  → 上位の許可は下位で上書きできない(原則)

【ルール3】権限は「和集合(Union)」
  Organization: roles/viewer
  Project: roles/editor
  → 実際の権限 = viewer + editor の両方
⚠️ 試験頻出の引っかけ: 下位レベルで権限を「削除」しても、上位レベルで付与されていれば有効のまま!

実践的な設計パターン

【パターン1: 環境ごとの分離】
Organization: example.com
├── Folder: 開発環境
│   └── Project: dev-app
│       ← ここで dev-team@example.com に roles/editor を付与
│         (開発環境だけ編集できる)
│
└── Folder: 本番環境
    └── Project: prod-app
        ← ここで ops-team@example.com に roles/editor を付与
          (本番は ops チームのみ編集可能)

【パターン2: 横断的な閲覧権限】
Organization レベルで
  monitoring-team@example.com に roles/viewer を付与
→ すべてのプロジェクトのリソースを閲覧できる
→ 個別プロジェクトに設定不要でメンテコスト削減!
ベストプラクティス: IAM 継承設計
  1. 企業の組織構造をフォルダ階層に反映する(権限管理が直感的になる)
  2. 複数プロジェクト共通の権限は親フォルダで付与(個別設定の手間が省け、設定漏れを防止)
  3. 同じ信頼境界のリソースを同一プロジェクトにまとめる(セキュリティポリシーの一貫性)
  4. Organization レベルへのロール付与は最小限に(影響範囲が最大なため慎重に)
1.4エンタープライズ視点: リソース階層アーキテクチャ設計

Google Cloudのリソース階層は、最上位の「組織(Organization)」、中間層の「フォルダ(Folders)」、そして最下層の「プロジェクト(Projects)」という厳密なツリー構造で構成される。この構造の最大の利点は、ポリシーの「継承(Inheritance)」とリソースの「所有権(Ownership)」の明確化にある。上位階層で設定されたIAMの許可ポリシーや組織のポリシーは、下位のすべてのリソースに自動的に適用され、管理のオーバーヘッドを劇的に削減する。また、従業員が退職した場合でも、リソースは個人のアカウントではなく組織に属しているため、システムが停止することなく安全に保持される。

階層レベルアーキテクチャ上の役割と特徴ベストプラクティスと推奨設定
組織 (Organization)階層のルートノード。Google WorkspaceまたはCloud Identityのドメインと1対1で関連付けられる。企業全体に適用する包括的なセキュリティポリシーの適用点。特別な理由がない限り、企業ごとに単一の組織ノードを使用する。
フォルダ (Folders)プロジェクトを論理的にグループ化するための任意のコンテナ。最大10階層までネスト可能。環境(本番、ステージング、開発)や事業部門ごとにリソースを分離する。IAMロールは個別のプロジェクトではなくフォルダレベルで一括付与する。
プロジェクト (Projects)リソースをプロビジョニングし、課金、API管理、IAMの基盤となる基本単位。同じ信頼境界(トラストバウンダリ)を共有するリソースのみを同一プロジェクトに配置する。本番環境と開発環境は別々のプロジェクトに完全に分離する。
02

Chapter 2: Cloud Identity と Google Workspace

Organization 作成の前提条件、管理対象ユーザーと非管理対象ユーザーの違い、GCDS との連携。

基盤
2.1Google Cloud の「アカウント」の仕組み
Google Workspace            Cloud Identity
(旧 G Suite)              (無料版)
  ├── Gmail                   ├── 組織 ID 管理のみ
  ├── Drive                   ├── Google Cloud 利用
  ├── Meet など               └── コスト: 無料(Free)
  └── Google Cloud 利用
  コスト: 有料
項目Google WorkspaceCloud Identity (Free)Cloud Identity (Premium)
Gmail / Drive✅ あり❌ なし❌ なし
Google Cloud 利用
Organization 作成
MDM(モバイル管理)一部
コスト有料無料有料

💡 試験ポイント: 企業がGoogle Workspaceを既に使っている場合、追加コストなしでGoogle CloudのOrganization機能が利用できます。

2.2管理対象ユーザーと非管理対象ユーザー
【管理対象ユーザー(Managed Users)】
  会社ドメイン: alice@example.com
  → Google Workspace / Cloud Identity で管理される
  → Organization 配下にプロジェクトを作成
  → 組織ポリシーが適用される

【非管理対象ユーザー(Unmanaged Users)】
  個人Gmail: alice@gmail.com
  → Organization なし(個人プロジェクトのみ)
  → 組織ポリシーは適用されない
  → 企業での利用は非推奨
⚠️ 重要: 管理対象ユーザー(@会社ドメイン)は 原則として組織内にプロジェクトを作成 しなければなりません。
2.3エンタープライズ視点: Cloud Identity ディレクトリ統合

エンタープライズ環境において、数百、数千のユーザーを手動で管理することは非現実的である。Google Cloudのユーザー基盤は、Google WorkspaceまたはCloud Identityのディレクトリサービスによって提供される。既存のITインフラストラクチャとしてActive Directory (AD) やLDAPを運用している企業は、Google Cloud Directory Sync (GCDS) やSAMLベースのフェデレーション(シングルサインオン)を構成することで、オンプレミスのID情報をクラウドとシームレスに同期できる。これにより、人事システム上で従業員が退職扱いとなった瞬間にクラウドへのアクセス権も自動的に剥奪され、孤立したアカウントによる不正アクセスのリスクを根絶することが可能となる。

03

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

3通りの作成方法(Console・gcloud・Terraform)、ライフサイクル(30日猶予期間)、クォータ管理。

Domain 1
3.1プロジェクト作成の方法(3通り)

方法①: Google Cloud Console(GUI)

1. https://console.cloud.google.com にアクセス
2. 上部のプロジェクト選択メニューをクリック
3. 「新しいプロジェクト」をクリック
4. 以下を入力:
   - プロジェクト名: My Webapp Prod
   - プロジェクトID: my-webapp-prod-xxxx(自動生成 or 手動指定)
   - 場所(親組織/フォルダ): 選択
5. 「作成」をクリック

方法②: gcloud CLI

# プロジェクトの作成
gcloud projects create PROJECT_ID \
  --name="My Webapp Prod" \
  --folder=FOLDER_ID

# 作成後、そのプロジェクトをデフォルトに設定
gcloud config set project my-webapp-prod-20240101

方法③: Terraform(IaC)

resource "google_project" "my_project" {
  name            = "My Webapp Production"
  project_id      = "my-webapp-prod-20240101"
  folder_id       = "987654321"
  billing_account = "ABCDEF-123456-GHIJKL"
}
3.2プロジェクトのライフサイクル
ACTIVE(アクティブ)
    ↓ 削除操作
DELETE_REQUESTED(削除予約)
    │
    ├── 30日間の猶予期間
    │   └── この間に「削除取り消し」が可能
    │
    └── 30日後
        ↓
    完全削除(復元不可)
⚠️ 重要: プロジェクトを削除すると、その中のすべてのリソースが 30日後に完全削除 されます。誤削除に注意!
# プロジェクトを削除(30日の猶予あり)
gcloud projects delete PROJECT_ID

# 削除をキャンセル(30日以内)
gcloud projects undelete PROJECT_ID

# プロジェクトのステータス確認
gcloud projects describe PROJECT_ID
3.3プロジェクトのリソース制限(クォータ)
リソースデフォルト上限
組織あたりのプロジェクト数制限なし(ただし作成レートに上限あり)
請求先アカウントあたりのプロジェクト数5(デフォルト。増加申請可能)

💡 試験ポイント: プロジェクト作成数のクォータを超えた場合は、Google Cloud サポートに増加申請が必要です。

04

Chapter 4: 組織ポリシー(Organization Policy)

IAM との違い、主要な制約一覧(セキュリティ/ネットワーク/リージョン制限)、継承と上書き、設定コマンド。

ガバナンス
4.1組織ポリシーとは? — IAM との違い
【IAM の役割】
「alice は VM を作成できる(権限の制御)」

【組織ポリシー の役割】
「誰であっても外部IPを持つVMは作成できない(設定の強制)」
     ↑
  alice が admin でも制約を受ける!
4.2主要な組織ポリシーの制約(Constraints)

セキュリティ関連

制約名効果推奨設定
constraints/iam.allowedPolicyMemberDomainsIAMに追加できるユーザーを特定ドメインに限定自社ドメインのみ許可
constraints/iam.disableServiceAccountKeyCreationSAの静的JSONキー生成を禁止有効化推奨
constraints/iam.disableServiceAccountKeyUploadSAへの外部キーのアップロードを禁止有効化推奨
constraints/compute.requireOsLoginすべてのVMでOS Loginを強制有効化推奨

ネットワーク関連

制約名効果
constraints/compute.disableExternalIpAddresses外部IPを持つVMの作成を禁止
constraints/compute.restrictCloudNATUsageCloud NATの使用を特定のサブネットに制限
constraints/compute.vmExternalIpAccess外部IPを許可するVMのリストを制限

リージョン制限関連

制約名効果
constraints/gcp.resourceLocationsリソースを特定のリージョンに限定(データ主権のため)
# 例: 日本リージョンのみにリソースを限定
constraint: constraints/gcp.resourceLocations
listPolicy:
  allowedValues:
    - in:asia-northeast1-locations  # 東京
    - in:asia-northeast2-locations  # 大阪
4.3組織ポリシーの継承と上書き・設定コマンド
Organization レベル: ポリシー A を設定
    ↓ 継承
Folder レベル: ポリシー A が有効(+ ポリシー B を追加も可能)
    ↓ 継承
Project レベル: ポリシー A, B が有効

【上書きの例外】
  特定フォルダ/プロジェクトで「継承をリセット」することで
  上位のポリシーを無効化し、独自のポリシーを設定可能
  (ただし Organization Admin 権限が必要)
# 特定の制約を有効化(外部IPを持つVMの作成を禁止)
gcloud resource-manager org-policies enable-enforce \
  constraints/compute.disableExternalIpAddresses \
  --organization=ORG_ID

# 特定のプロジェクトに制約を設定
gcloud resource-manager org-policies set-policy policy.yaml \
  --project=PROJECT_ID

# 現在のポリシーを確認
gcloud resource-manager org-policies describe \
  constraints/compute.disableExternalIpAddresses \
  --organization=ORG_ID
ベストプラクティス: 組織ポリシー
  1. constraints/iam.disableServiceAccountKeyCreation を組織全体で有効化し、静的キーの生成を禁止する
  2. constraints/gcp.resourceLocations でデータを特定リージョンに限定(GDPR、個人情報保護法対応)
  3. constraints/iam.allowedPolicyMemberDomains で自社ドメイン外のユーザーをIAMに追加できないよう制限
  4. 開発環境は制約を緩和して素早いイテレーションを可能に、本番環境は厳しく制約する
4.4エンタープライズ視点: 組織ポリシーによるガバナンス強制

IAMが「誰がリソースにアクセスできるか(認証と認可)」を制御するのに対し、組織のポリシーは「リソースがどのように構成されるか(構成の制限)」を定義する強力なガバナンスツールである。これにより、強力な管理者権限を持つユーザーであっても、企業のコンプライアンス要件に反する操作をシステムレベルでブロックすることが可能となる。ベストプラクティスとして、組織のベースラインとなるセキュリティ要件は組織またはフォルダレベルで適用し、特定の検証が必要なプロジェクトに対してのみ、タグや条件付きルールを用いて例外処理(免除)を設定するアプローチが推奨される。

制約の対象ポリシーの機能とセキュリティ上の意義
外部IPアクセスの制限
constraints/compute.managed.vmExternalIpAccess
Compute Engineの仮想マシンが外部IPv4アドレスを持つことをデフォルトで禁止する。意図しないインターネットからの直接アクセス(アタックサーフェス)を排除する。
プロジェクト規模のSSHキーのブロック
constraints/compute.managed.blockProjectSshKeys
プロジェクト全体のメタデータにSSHキーを設定することを防ぎ、インスタンス単位での厳格なアクセス制御を強制する。
デフォルトサービスアカウントの禁止
constraints/container.managed.disallowDefaultComputeServiceAccount
GKEクラスターのノードプールを作成する際、過剰な権限を持つデフォルトのCompute Engineサービスアカウントの使用を禁じ、最小権限のカスタムサービスアカウントの使用を強制する。
APIキー作成の無効化
constraints/iam.managed.disableServiceAccountApiKeyCreation
漏洩リスクの高いサービスアカウント用のAPIキーの作成をシステムレベルでブロックし、より安全なWorkload Identity連携などの代替手段への移行を促す。
05

Chapter 5: gcloud CLI の設定と操作

インストール・gcloud init・Configuration 管理・認証(ADC)・よく使うコマンド集。

CLI
5.1インストールと初期設定
# Google Cloud SDK のインストール
# macOS (Homebrew)
brew install --cask google-cloud-sdk

# Ubuntu/Debian
sudo apt-get install google-cloud-cli

# インストール確認
gcloud version
# 初期設定(インタラクティブ)
gcloud init

# インタラクティブに以下を設定:
# 1. Google アカウントでログイン(ブラウザが開く)
# 2. デフォルトプロジェクトの選択
# 3. デフォルトリージョン/ゾーンの設定
5.2設定(Configuration)の管理
設定(Configuration)= プロファイルのようなもの
  ├── config: default(デフォルト設定)
  ├── config: dev-project(開発環境用)
  └── config: prod-project(本番環境用)
# 現在の設定を確認
gcloud config list

# デフォルトプロジェクトを変更
gcloud config set project PROJECT_ID

# デフォルトリージョンを変更
gcloud config set compute/region asia-northeast1

# 新しい設定(プロファイル)を作成
gcloud config configurations create dev-profile

# 設定を切り替え
gcloud config configurations activate dev-profile

# 設定一覧を表示
gcloud config configurations list
5.3認証(Authentication)の管理
# ----- ユーザー認証 -----
gcloud auth login
gcloud auth list
gcloud auth revoke USER_EMAIL

# ----- Application Default Credentials (ADC) -----
gcloud auth application-default login
gcloud auth application-default print-access-token
ADC(Application Default Credentials)の検索順序:
1. GOOGLE_APPLICATION_CREDENTIALS 環境変数
2. gcloud auth application-default login で設定した認証情報
3. GCE/GKE などのコンピューティング環境の場合はメタデータサーバー

💡 試験ポイント: ローカル開発環境では gcloud auth application-default login を使用します。サービスアカウントの JSON キーをローカルに保存することはセキュリティリスクです。

5.4よく使う gcloud コマンド集
# ----- プロジェクト操作 -----
gcloud projects list
gcloud projects describe PROJECT_ID
gcloud config set project PROJECT_ID

# ----- IAM 操作 -----
gcloud projects get-iam-policy PROJECT_ID
gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="user:alice@example.com" \
  --role="roles/editor"
gcloud projects remove-iam-policy-binding PROJECT_ID \
  --member="user:alice@example.com" \
  --role="roles/editor"

# ----- API 管理 -----
gcloud services enable compute.googleapis.com
gcloud services list --enabled

# ----- リージョン/ゾーン -----
gcloud compute regions list
gcloud compute zones list
ベストプラクティス: gcloud CLI
  1. gcloud config configurations で環境(dev/prod)ごとにプロファイルを作成する
  2. ローカル開発には gcloud auth application-default login を使用し、JSON キーは使わない
  3. スクリプトでは --quiet フラグと --format=json を使って処理を自動化する
  4. CI/CD では Workload Identity Federation を使用し、JSON キーを排除する
5.5エンタープライズ視点: CLI インストールと複数環境管理

特筆すべきは、Google Cloud Consoleに統合されている「Cloud Shell」の存在である。Cloud Shellを起動すると、最新のCloud CLIツール群(gcloud、bq、gsutil、kubectlなど)がプリインストールされた一時的な(エフェメラルな)Linuxコンテナが即座に立ち上がり、現在コンソールにログインしているユーザーの認証情報とプロジェクトコンテキストが自動的に引き継がれる。ただし、Cloud Shell内のデータ(ホームディレクトリ以外)はセッション終了後に消去される一時的なものである点に留意が必要である。

実務において、エンジニアは「開発環境(dev)」、「ステージング環境(stg)」、「本番環境(prod)」といった複数のプロジェクトを行き来しながら作業することが日常的である。初期化時に作成された単一の「デフォルト構成(default configuration)」のみに依存して運用を行うことは、致命的なオペレーションミスの温床となる。たとえば、開発環境だと思い込んでデータベースの削除コマンドを実行したところ、実際にはCLIのコンテキストが本番環境のプロジェクトに向いており、本番データを消失させてしまうといった事故である。

コマンド実行されるアクションと運用のベストプラクティス
gcloud config configurations create [NAME]新しい独立した構成(例:prod-env)を作成する。作成しただけではアクティブにならないため、後続の切り替えが必要。
gcloud config set project現在アクティブな構成のプロパティ(プロジェクト)を上書き設定する。ゾーン変更時は compute/zone を指定。
gcloud config configurations listローカルに保存されているすべての構成の一覧を表示し、現在どれがアクティブ(IS_ACTIVE=True)であるかを視覚的に確認する。オペレーション前の安全確認の基本。
gcloud config configurations activate [NAME]操作対象の構成(コンテキスト)を明示的に切り替える。以降のgcloudコマンドはすべてこの新しい構成のプロパティに基づいて実行される。

さらに高度な自動化手法として、ディレクトリごとに構成を自動的に切り替えるアプローチが存在する。direnv のような環境変数管理ツールを使用し、プロジェクトのディレクトリ配下に配置した .envrc ファイルに export CLOUDSDK_ACTIVE_CONFIG_NAME=prod-env のように記述する。これにより、ターミナルでディレクトリを移動した瞬間に環境変数が自動的に読み込まれ、gcloudコマンドのコンテキストがディレクトリと完全に同期する。

コマンドラインツール対象となる主要リソースと機能実行例とユースケース
gcloudCompute Engine、VPC、IAM、Cloud Runなど、Google Cloudのコアリソースのプロビジョニングと管理を担う主軸ツール。gcloud projects add-iam-policy-binding による権限付与や、gcloud auth revoke による認証情報の破棄。
gsutilCloud Storageのオブジェクト操作、バケット管理、アクセス制御(ACL)、ライフサイクル設定に特化している。gsutil cpgsutil rsync を用いた大量データの並列アップロードや同期。
bqBigQueryに対するSQLクエリの実行、データセットやテーブルのスキーマ管理、ジョブの制御を行う。bq query によるデータの分析実行や、bq ls -j によるジョブ履歴のリストアップ。
kubectlGKEクラスター内のコンテナ化されたワークロード(ポッドやサービス)のデプロイと管理を行う。gcloud components install kubectl で追加インストール。クラスタ自体は gcloud container clusters create、内部のアプリは kubectl apply
06

Chapter 6: 請求先アカウント(Billing Account)の構造と管理

請求構造、Self-serve vs Invoiced、IAM ロール(billing.admin/viewer/projectManager/costsManager)。

コスト管理
6.1請求の仕組みを理解する
【請求の全体構造】

支払いプロファイル(Payment Profile)
  │  ← クレジットカードや銀行口座の情報
  │
  ├── 請求先アカウント A(Billing Account)
  │   ├── Project 1 ← このプロジェクトの料金が請求先 A に請求
  │   ├── Project 2
  │   └── Project 3
  │
  └── 請求先アカウント B(Billing Account)
      ├── Project 4
      └── Project 5
種類説明用途
Self-serve(セルフサービス)クレジットカードで直接支払い個人・スタートアップ
Invoiced(請求書払い)月末に請求書が発行されるエンタープライズ
6.2プロジェクトと請求先アカウントの関係
重要な仕様:
・1つのプロジェクトは 正確に1つの請求先アカウント にリンク
・1つの請求先アカウントには 複数のプロジェクト をリンク可能
・請求先アカウントがリンクされていないプロジェクトは
  有料APIを使用できない

  Project A ──→ Billing Account X
  Project B ──→ Billing Account X  ✅ 複数プロジェクト → 1つのBA
  Project C ──→ Billing Account Y
  Project D ──→ Billing Account X または Y(どちらか一方のみ)
6.3請求先アカウントの IAM ロール
ロール権限付与対象の例
billing.admin請求先アカウントの完全管理(プロジェクトのリンク含む)財務部門の管理者
billing.viewer請求情報の閲覧のみ財務部門の一般担当者
billing.projectManagerプロジェクトを請求先アカウントにリンク・アンリンクプロジェクト管理者
billing.costsManager予算とアラートの管理FinOps 担当者
【職務分掌の例】

財務部門 Admin: billing.admin
  └── 支払い方法の変更、アカウントの作成

プロジェクトマネージャー: billing.projectManager
  └── プロジェクトを請求先アカウントにリンク
      (支払い方法の変更はできない)

一般エンジニア: billing.viewer
  └── コストを確認するだけ
ベストプラクティス: 請求先アカウント
  1. 部門・事業別に請求先アカウントを分けてコストを独立管理する
  2. billing.admin ロールは最小限の担当者にのみ付与する
  3. リソースにラベル(Labels)を付けてコストセンター別の分析を可能にする
  4. 請求データを BigQuery にエクスポートして詳細分析を実施する
6.4エンタープライズ視点: 請求先アカウントの自動化と IAM

一般的なエンタープライズアーキテクチャでは、企業全体で1つのマスター請求先アカウントを作成し、すべての部門のプロジェクトをそこにリンクさせることで、組織全体の利用状況を統合的に可視化し、ボリュームディスカウントの恩恵を最大化するアプローチが取られる。

# 利用可能な請求先アカウント一覧を取得
gcloud billing accounts list

# プロジェクトを請求先アカウントにリンク
gcloud billing projects link PROJECT_ID \
  --billing-account=BILLING_ACCOUNT_ID

このような自動化を導入することで、開発者が手動でプロジェクトを作成した際に請求設定を忘れるというオペレーションミスを排除できる。

07

Chapter 7: 予算・アラート・自動コスト制御

予算スコープ設定、3段階アラート、Pub/Sub + Cloud Functions 自動停止アーキテクチャ(Python コード例)、セキュリティリスク対策。

最重要
7.1予算(Budget)の構成要素
予算設定の構成要素:

┌─────────────────────────────────────────┐
│  予算名: Monthly API Budget              │
│                                          │
│  スコープ: Project: my-webapp-prod       │
│  期間: 月次(毎月リセット)               │
│  予算金額: $1,000                        │
│                                          │
│  アラート閾値:                            │
│    ├── 50%  → $500  → メール通知         │
│    ├── 90%  → $900  → メール通知         │
│    └── 100% → $1,000 → メール + Pub/Sub  │
└─────────────────────────────────────────┘
7.2予算のスコープ設定
スコープの粒度(大→小):
  組織全体
    ↓
  特定のフォルダ
    ↓
  特定のプロジェクト(複数も可)
    ↓
  特定のサービス(例: Compute Engine のみ)
    ↓
  特定のラベル(例: env=production のリソースのみ)
# gcloud で予算を作成する例
gcloud billing budgets create \
  --billing-account=BILLING_ACCOUNT_ID \
  --display-name="Monthly Prod Budget" \
  --budget-amount=1000USD \
  --threshold-rule=percent=0.5 \
  --threshold-rule=percent=0.9 \
  --threshold-rule=percent=1.0 \
  --filter-projects=projects/my-webapp-prod
7.3⚠️ 最重要: 予算上限でリソースは自動停止しない!
これは ACE 試験で最もよく問われるポイントです!
【よくある誤解】
  予算の上限に達したら → Google が自動でリソースを停止してくれる

【正しい動作】
  予算の上限に達したら → 通知が来るだけ
                        → リソースは停止しない!
                        → 課金は継続される!

自動停止を実現するには、自分でアーキテクチャを組む必要があります
7.4自動コスト制御アーキテクチャ
┌──────────────────────────────────────────────────────────┐
│                                                          │
│  ① 予算の100%閾値に到達                                   │
│           ↓                                              │
│  ② Cloud Billing が Pub/Sub トピックにメッセージを発行   │
│           ↓                                              │
│  ③ Cloud Functions が Pub/Sub をトリガーとして起動       │
│           ↓                                              │
│  ④ Cloud Functions が GCP API を呼び出してリソース操作   │
│     例: VM を停止、プロジェクトをシャットダウン           │
│                                                          │
└──────────────────────────────────────────────────────────┘

実装例: Cloud Functions で VM を自動停止(Python)

# Cloud Functions のコード例(Python)
import base64
import json
import googleapiclient.discovery

def stop_billing(data, context):
    """予算アラートを受け取ってVMを停止する"""
    # Pub/Sub メッセージをデコード
    pubsub_data = base64.b64decode(data['data']).decode('utf-8')
    budget_notification = json.loads(pubsub_data)

    # 予算超過を確認
    cost_amount = budget_notification['costAmount']
    budget_amount = budget_notification['budgetAmount']

    if cost_amount >= budget_amount:
        # Compute Engine API を使って VM を停止
        compute = googleapiclient.discovery.build('compute', 'v1')
        compute.instances().stop(
            project='my-project',
            zone='asia-northeast1-a',
            instance='my-vm-instance'
        ).execute()
        print(f"VM stopped due to budget exceeded: {cost_amount}")

より高度なパターン: プロジェクト全体を無効化

def disable_billing(project_id):
    """プロジェクトから請求先アカウントを切り離す(全リソース停止)"""
    billing = googleapiclient.discovery.build('cloudbilling', 'v1')

    # 請求先アカウントのリンクを解除
    billing.projects().updateBillingInfo(
        name=f'projects/{project_id}',
        body={'billingAccountName': ''}  # 空文字でリンク解除
    ).execute()
⚠️ 注意: プロジェクトから請求先アカウントをリンク解除すると、すべてのリソースが停止します。本番環境での使用は慎重に!
7.5コストを発生させるセキュリティリスクと対策
【リスク①: 認証情報の漏洩 → 暗号資産マイニング】
開発者が誤って GitHub に
サービスアカウントの JSON キーを公開
    ↓
攻撃者がキーを発見して即座に悪用
    ↓
大量の高性能 VM や GPU インスタンスを起動
    ↓
数時間で数百万円の請求が発生!

対策:

  • constraints/iam.disableServiceAccountKeyCreation を有効化してキー生成を禁止
  • Secret Scanner(GitHub の機能)でキーの誤コミットを検出
  • VM インスタンスの作成に上限クォータを設定
【リスク②: DDoS 攻撃 → オートスケールによるコスト急増】
悪意のある大量トラフィック(DDoS 攻撃)
    ↓
Cloud Load Balancing が大量のリクエストを受信
    ↓
バックエンドのオートスケーリングが発動
    ↓
VM が大量に起動 → 攻撃が終わっても請求は発生!
# Cloud Armor のセキュリティポリシーを作成
gcloud compute security-policies create my-ddos-policy \
  --description="DDoS protection policy"

# レート制限ルールを追加(1IPあたり1000リクエスト/分)
gcloud compute security-policies rules create 1000 \
  --security-policy=my-ddos-policy \
  --expression="true" \
  --action=rate-based-ban \
  --rate-limit-threshold-count=1000 \
  --rate-limit-threshold-interval-sec=60 \
  --ban-duration-sec=600
ベストプラクティス: 予算とコスト管理
  1. すべてのプロジェクトに予算アラートを設定(予期せぬ課金の早期発見)
  2. 50%, 90%, 100% の3段階でアラートを設定(段階的な把握と対応が可能)
  3. 100% 閾値には Pub/Sub も設定(自動制御の起点)
  4. 予算金額は「前月支出の 120%」などで設定(異常なコスト増を検知)
  5. Cloud Armor と MIG の上限設定を必ず実施(セキュリティ起因のコスト急増を防止)
  6. Billing データを BigQuery にエクスポート(詳細分析と監査の基盤)
7.6エンタープライズ視点: プログラム駆動型コスト制御

初学者が最も誤解しやすいポイントは、「予算を設定すれば、その金額に達した時点で自動的にリソースが停止し、課金が止まる」という思い込みである。Google Cloudのデフォルトの予算アラートは、あくまで「メール等による情報提供」に過ぎず、APIの利用を自動的にブロックする機能は持っていない。

真の意味で予算を上限(キャップ)として機能させ、過剰な請求を強制的に防ぐためには、「Programmatic Notifications(プログラムによる予算通知)」のアーキテクチャを構築する必要がある。

予算のスコープ設定適用シナリオと運用上の利点
請求先アカウント全体企業全体のクラウド支出の総額を監視するマクロレベルの防衛線。財務部門向けのアラート設定に適する。
プロジェクト / フォルダ単位開発環境や特定の事業部門ごとに予算を割り当て、チーム単位でのコストに対する説明責任(アカウンタビリティ)を確立する。
サービス単位BigQueryやCompute Engineなど、コストが急増しやすい特定の高単価サービスに限定して予算を設定し、異常な使用量を早期に検知する。
ラベル(Labels)ベースリソースに付与されたメタデータ(例:env:stagingteam:backend)に基づいてコストを集計する。プロジェクトの枠を超えたマイクロサービスアーキテクチャのコスト管理に極めて有効。
08

Chapter 8: コストの可視化と BigQuery 分析

Billing データ BigQuery エクスポート、SQL クエリによるコスト分析、ラベル戦略、Looker Studio 連携。

FinOps
8.1BigQuery への Billing データエクスポート
Cloud Billing Console だけでは:
  ✗ 過去データは限られた期間しか見られない
  ✗ 複雑なカスタムクエリは実行できない
  ✗ 複数の請求先アカウントの横断分析が難しい

BigQuery エクスポートにより:
  ✓ 全期間のコストデータを保持
  ✓ SQL で自由に分析可能
  ✓ Looker Studio などで可視化
  ✓ 監査証跡として活用
BigQuery エクスポートの設定手順:

1. Cloud Billing → 請求先アカウントを選択
2. 「課金データのエクスポート」をクリック
3. BigQuery エクスポートを選択
4. 以下を設定:
   - プロジェクト: billing-data-project
   - データセット: billing_export
5. 保存

→ 以降、課金データが BigQuery に自動で書き込まれる
データ種類内容用途
標準課金データ日次の詳細な使用量と費用日々のコスト分析
詳細課金データ(リソースベース)リソースレベルの詳細なコストデータ細粒度の分析
料金データSKU ごとの料金表コスト計算・予測
8.2BigQuery でのコスト分析クエリ例
-- プロジェクト別の月次コストを集計
SELECT
  project.id AS project_id,
  FORMAT_DATE('%Y-%m', DATE(usage_start_time)) AS month,
  SUM(cost) AS total_cost,
  currency
FROM
  `my_project.billing_export.gcp_billing_export_v1_XXXXXX`
WHERE
  DATE(usage_start_time) >= DATE_SUB(CURRENT_DATE(), INTERVAL 6 MONTH)
GROUP BY
  project_id, month, currency
ORDER BY
  month DESC, total_cost DESC;

-- サービス別コストのトップ10
SELECT
  service.description AS service_name,
  ROUND(SUM(cost), 2) AS total_cost
FROM
  `my_project.billing_export.gcp_billing_export_v1_XXXXXX`
WHERE
  DATE(usage_start_time) >= DATE_TRUNC(CURRENT_DATE(), MONTH)
GROUP BY
  service_name
ORDER BY
  total_cost DESC
LIMIT 10;
8.3コスト最適化のためのラベル(Labels)戦略
【推奨ラベル一覧】

env: production / staging / development
team: backend / frontend / data
cost-center: engineering / marketing / finance
app: webapp / api / batch
owner: alice / bob
# VM インスタンスにラベルを付ける
gcloud compute instances add-labels INSTANCE_NAME \
  --labels=env=production,team=backend,cost-center=engineering

# Cloud Storage バケットにラベルを付ける
gcloud storage buckets update gs://BUCKET_NAME \
  --update-labels=env=production,team=data
-- チーム別のコスト分析(ラベル付き)
SELECT
  labels.value AS team,
  SUM(cost) AS total_cost
FROM
  `billing_export.gcp_billing_export_v1_XXXXXX`,
  UNNEST(labels) AS labels
WHERE
  labels.key = 'team'
  AND DATE(usage_start_time) >= DATE_TRUNC(CURRENT_DATE(), MONTH)
GROUP BY
  team
ORDER BY
  total_cost DESC;
ベストプラクティス: コスト分析
  1. BigQuery への Billing データエクスポートは 今すぐ有効化(過去データは取得できない)
  2. すべてのリソースに ラベルを付ける標準化ポリシー を組織で策定する
  3. Looker Studio(旧 Data Studio)で コストダッシュボードを構築して定期共有
  4. コミット使用割引(CUD) を活用して定常的な Compute Engine の利用コストを削減
8.4エンタープライズ視点: BigQuery FinOps 分析

エクスポート設定を有効にすると、その時点以降の請求データが定期的に指定したBigQueryデータセットに自動的にストリーミングされる(過去のデータは遡ってエクスポートされないため、プロジェクト設立直後の設定が不可欠である)。

エクスポートデータの種類スキーマの特徴と分析のユースケース
標準データエクスポート (Standard)プロジェクト、サービス、リージョン、SKUごとの日々の使用量とコストの概要データを含む。一般的な部門別月次レポートの作成や、全体的なトレンド分析に適している。
詳細データエクスポート (Detailed)標準データに加え、仮想マシンやディスクなどの個別の「リソースIDレベル」の精緻な課金データが含まれる。リソースの最適化(無駄なインスタンスの特定)や、ラベル付け戦略の有効性を検証するFinOpsの要となる。
料金・CUDメタデータエクスポート利用可能なSKUの最新の価格表や、確約利用割引(Committed Use Discounts)に関する詳細なメタデータを含む。割引の適用効率を分析し、将来の予約リソース購入計画を立てるために使用する。
09

Chapter 9: Cloud API の有効化と管理

API の有効化(Console・gcloud・Terraform)、主要 API 一覧、認証方式、クォータ管理。

API 管理
9.1Google Cloud API の基本概念
新規プロジェクト作成直後:
  ├── Compute Engine API: ❌ 無効
  ├── Cloud Storage API: ❌ 無効
  ├── Cloud SQL Admin API: ❌ 無効
  └── ...(ほぼすべて無効)

↓ 使いたいAPIを有効化する必要がある

有効化後:
  ├── Compute Engine API: ✅ 有効 → VM を作成できる
  ├── Cloud Storage API: ✅ 有効 → バケットを作成できる
  └── ...

💡 なぜデフォルトで無効?: セキュリティ上の理由から、使わないAPIは無効にしておくことで攻撃面(アタックサーフェス)を最小化します。

9.2API の有効化方法(3通り)
# 単一の API を有効化
gcloud services enable compute.googleapis.com

# 複数の API を一度に有効化
gcloud services enable \
  compute.googleapis.com \
  storage.googleapis.com \
  sqladmin.googleapis.com \
  container.googleapis.com \
  cloudrun.googleapis.com

# 有効化されている API の一覧
gcloud services list --enabled

# API を無効化
gcloud services disable compute.googleapis.com

Terraform による API 有効化(IaC)

# 複数の API をまとめて有効化
locals {
  services = [
    "compute.googleapis.com",
    "storage.googleapis.com",
    "sqladmin.googleapis.com",
    "container.googleapis.com",
  ]
}

resource "google_project_service" "apis" {
  for_each = toset(local.services)

  project            = var.project_id
  service            = each.value
  disable_on_destroy = false  # Terraform 削除時にサービス中断を防ぐ
}
9.3主要な API と対応するサービス
API 名サービス有効化が必要な操作
compute.googleapis.comCompute EngineVM の作成・管理
storage.googleapis.comCloud Storageバケットの作成・管理
container.googleapis.comGKEKubernetes クラスタの作成
run.googleapis.comCloud Runコンテナアプリのデプロイ
sqladmin.googleapis.comCloud SQLDB インスタンスの作成
bigquery.googleapis.comBigQueryデータウェアハウスの利用
cloudfunctions.googleapis.comCloud Functions関数のデプロイ
pubsub.googleapis.comPub/Subメッセージングの利用
secretmanager.googleapis.comSecret Managerシークレットの管理
iam.googleapis.comIAMIAM の高度な操作
cloudresourcemanager.googleapis.comResource Managerプロジェクト・フォルダの管理
monitoring.googleapis.comCloud Monitoringカスタムメトリクスの送信
logging.googleapis.comCloud Loggingログの書き込み
9.4API の認証方式と API キー
【推奨度: 高】
  Workload Identity Federation
    ├── AWS、Azure、GitHub Actions などから GCP API にアクセス
    └── JSON キー不要、動的なクレデンシャルを使用

  Application Default Credentials (ADC)
    ├── ローカル開発環境での利用
    └── gcloud auth application-default login で設定

  インスタンスに紐付けられたサービスアカウント
    ├── GCE / GKE 上のアプリが GCP API にアクセス
    └── JSON キー不要、メタデータサーバーから自動取得

【推奨度: 低(非推奨)】
  サービスアカウント JSON キー
    ├── ローカルファイルに秘密鍵を保存
    ├── 漏洩リスクが高い
    └── 緊急時を除き使用しない
API キーの使い分け:
  ✅ Google Maps JavaScript API(フロントエンドから利用)
  ✅ YouTube Data API など公開データの取得
  ❌ Cloud Storage や Compute Engine などの管理 API
ベストプラクティス: API 管理
  1. 最小権限の原則: 必要な API だけを有効化する
  2. Terraform で API の有効化を IaC 化 して環境再現性を確保
  3. disable_on_destroy = false を設定して Terraform 削除時のサービス中断を防ぐ
  4. API キーは公開 API にのみ使用、クラウドリソース管理には使用しない
  5. API キーを使う場合は 制限(HTTP リファラー / IP アドレス制限) を必ず設定
  6. クォータの利用状況を Cloud Monitoring で監視してアラートを設定
9.5エンタープライズ視点: API 依存関係と Operations Suite

API管理における高度な洞察として、API間の「依存関係」の理解が挙げられる。特定のAPI(例:GKE API)を有効化すると、それが依存する基盤となるAPI(例:Compute Engine API)も非同期に有効化される。TerraformなどのIaCツールを使用してAPIを一括で有効化する際、この非同期的な有効化プロセスと依存関係が原因で競合状態(レースコンディション)が発生することがある。そのため、ベストプラクティスとしては、アプリケーションの実行に真に必要なAPIのみを厳格に特定して有効化し、攻撃者が利用可能なアタックサーフェス(攻撃面)を最小限に抑えることが推奨される。

クラウド環境にデプロイされたリソースの正常性を確保し、障害に迅速に対応するためには、包括的なオブザーバビリティ(可観測性)基盤が必要である。Cloud Monitoringを使用するためには、プロジェクトを「指標スコープ(Metrics Scope)」に追加してワークスペースを構築する。指標スコープの強力な点は、単一のプロジェクト内のリソースだけでなく、複数のGoogle CloudプロジェクトやAWS環境のメトリクスを単一のガラス板(Single Pane of Glass)で一元的に監視できることである。

10

Chapter 10: Domain 1 試験対策まとめ

出題パターン別頻出トピック、重要用語一覧、試験直前チェックリスト、推奨学習リソース。

直前確認
10.1出題パターン別の頻出トピック
【パターン①: リソース階層の設計問題】
典型的な問題文:
「A 社は 3 つの部門(開発・営業・財務)を持ち、
 各部門が複数の環境(開発・本番)を持つ。
 最適なリソース階層はどれか?」

解答の考え方:
Organization: a-company.com
├── Folder: 開発部門
│   ├── Project: dev-dept-dev
│   └── Project: dev-dept-prod
├── Folder: 営業部門
│   ├── Project: sales-dept-dev
│   └── Project: sales-dept-prod
└── Folder: 財務部門
    ├── Project: finance-dept-dev
    └── Project: finance-dept-prod

→ 各部門でフォルダを作り、環境ごとにプロジェクトを分ける
→ 共通のポリシーは上位フォルダで一括設定
【パターン②: コスト管理の自動化問題】
典型的な問題文:
「開発チームが予算を超えた場合、自動的に VM を停止させたい。
 どのアーキテクチャが正しいか?」

正解パターン:
予算アラート(Pub/Sub 通知設定)
    ↓
Pub/Sub トピック
    ↓
Cloud Functions
    ↓
Compute Engine API で VM 停止

よくある不正解:
「予算に上限金額を設定すれば自動停止される」
→ 誤り!予算上限ではリソースは止まりません!
【パターン③: 組織ポリシーの適用問題】
典型的な問題文:
「本番環境のプロジェクトで外部IPを持つVMを作成できないよう
 強制したい。どうするか?」

正解:
組織ポリシー: constraints/compute.disableExternalIpAddresses
を本番環境フォルダに適用する

IAM との違いを理解する:
IAM: 「誰が」VM を作成できるか → ユーザーへの権限付与
組織ポリシー: 「どんな VM を」作れるか → リソース設定の強制
10.2Domain 1 重要用語の一覧
用語説明試験での重要度
Organization階層の最上位ノード。Google Workspace/Cloud Identity に紐付く⭐⭐⭐
FolderOrganization と Project の中間。部門・環境の分離に使用⭐⭐⭐
Project IDグローバルに一意、変更不可⭐⭐⭐
IAM ポリシーの継承上位から下位へ自動継承。下位での取り消し不可(原則)⭐⭐⭐
Billing Accountプロジェクトに正確に1つリンク⭐⭐⭐
予算アラート閾値到達で通知のみ。リソース停止はしない⭐⭐⭐
Pub/Sub + Cloud Functions自動コスト制御の実現手段⭐⭐⭐
BigQuery Billing Export詳細コスト分析の基盤⭐⭐
Organization Policyリソース設定の強制(IAM とは別)⭐⭐⭐
gcloud configプロジェクト・アカウントの切り替え⭐⭐
ADCローカル開発での推奨認証方法⭐⭐
10.3試験直前チェックリスト(Domain 1)

リソース階層とガバナンス

  • ☐ Organization → Folder → Project → Resource の順序を説明できる
  • ☐ IAM ポリシーが上位から下位へ 継承 されることを知っている
  • ☐ 下位レベルで上位の IAM ポリシーを 取り消せない ことを知っている
  • ☐ Project ID は グローバルに一意で変更不可 だと知っている
  • ☐ 削除したプロジェクトは 30日以内 なら復元できることを知っている
  • ☐ Google Workspace または Cloud Identity がないと Organization は作れないことを知っている

組織ポリシー

  • ☐ 組織ポリシーと IAM の違い(設定の強制 vs アクセス制御)を説明できる
  • constraints/iam.disableServiceAccountKeyCreation の効果を説明できる
  • constraints/gcp.resourceLocations の効果を説明できる

請求とコスト管理

  • ☐ 1つのプロジェクトは 正確に1つ の請求先アカウントにリンクされることを知っている
  • ☐ 予算アラートが上限に達してもリソースは 自動停止しない ことを知っている
  • ☐ 自動停止には Pub/Sub + Cloud Functions が必要なことを知っている
  • ☐ BigQuery への Billing データエクスポートの目的と設定方法を知っている
  • ☐ ラベルを使ったコストセンター別分析の方法を知っている
  • ☐ DDoS → オートスケール → コスト急増のリスクと対策(Cloud Armor)を知っている

gcloud CLI と API 管理

  • gcloud config set project でプロジェクトを切り替えられる
  • gcloud config configurations で複数プロファイルを管理できる
  • gcloud auth application-default login の目的を説明できる
  • ☐ 新規プロジェクトでは API を個別に有効化する必要があることを知っている
  • gcloud services enable で API を有効化できる
10.4推奨学習リソース(Domain 1)
リソース内容URL
ACE 試験公式ページ試験構造・登録方法cloud.google.com/learn/certification/cloud-engineer
試験ガイド(公式 PDF)出題範囲の詳細services.google.com/.../exam_guide_english.pdf
リソース階層ドキュメントOrganization/Folder/Project の詳細docs.cloud.google.com/resource-manager/...
IAM 継承のドキュメントポリシー継承の詳細docs.cloud.google.com/iam/docs/...
組織ポリシーの概要組織ポリシーの設定方法cloud.google.com/resource-manager/...
予算アラートのドキュメント予算・アラートの設定docs.cloud.google.com/billing/docs/how-to/budgets
Billing エクスポートの設定BigQuery への課金データエクスポートdocs.cloud.google.com/billing/docs/how-to/...
gcloud 設定ドキュメントgcloud CLI の設定方法cloud.google.com/sdk/docs/configurations
IAM ベストプラクティス権限設計のベストプラクティスcloud.google.com/blog/.../iam-best-practice-guides
Cloud Billing の概要請求先アカウントの仕組みdocs.cloud.google.com/billing/docs/concepts
10.5エンタープライズ視点: Domain 1 の結論

Google Cloud Associate Cloud Engineer認定試験の「Domain 1: クラウドソリューション環境の設定」は、単なる初期設定の操作手順を暗記する領域ではない。それは、堅牢でセキュア、かつコスト効率の高いエンタープライズ・クラウドインフラストラクチャを支える哲学と設計思想を深く理解し、実装する能力を測る領域である。

リソース階層の設計は組織のガバナンスと信頼境界をクラウド上に物理的に反映させる作業であり、フォルダと組織ポリシーの継承メカニズムを前提とした精緻なアーキテクチャ設計が求められる。アクセス制御においては、従来の基本ロールに依存した大雑把な権限付与から脱却し、Workload Identity連携やカスタムサービスアカウントを通じた「最小権限の原則」を徹底する、高度なアイデンティティ管理へと昇華させなければならない。

また、コスト管理は単なる事後的な経費報告であってはならない。BigQueryへの詳細な課金データエクスポートによるリソースレベルのFinOps分析と、Pub/SubおよびCloud Functionsを用いたプログラム駆動型のアラート・強制遮断メカニズムを組み込むことで、クラウドの持つ俊敏性を損なうことなく、財務的な安全性を担保するプロアクティブな防衛線が構築される。そして、これらのすべての設計をコードとして具現化し、反復可能でスケーラブルなオペレーションを実現する入り口となるのが、Google Cloud CLIの的確な操作である。