試験の全体像と学習ロードマップ
ACE認定資格の概要、試験構成、出題ドメインと配点比率、6〜8週間の学習ロードマップ。
Google Cloud Associate Cloud Engineer (ACE) は、Google Cloud を使ったアプリケーションやインフラのデプロイ・保守を担うエンジニア向けの入門〜中級認定資格です。
| レベル | 説明 |
|---|---|
| 推奨経験 | Google Cloud での実務経験 6ヶ月以上 |
| スキルセット | クラウドインフラの設計、デプロイ、監視、セキュリティ設定 |
| 次のステップ | Professional Cloud Architect / Professional DevOps Engineer |
| 試験タイプ | 試験時間 | 設問数 | 受験料 | 有効期限 |
|---|---|---|---|---|
| Standard Exam(新規・再取得) | 2時間 | 50〜60問 | $125 | 3年 |
| Renewal Exam(有効期限内の更新) | 1時間 | 20問 | $75 | 3年 |
| ドメイン | テーマ | 配点比率 |
|---|---|---|
| Domain 1 | クラウドソリューション環境の設定 | ≈ 23% |
| Domain 2 | クラウドソリューションの計画と実装 | ≈ 30% |
| Domain 3 | 正常なオペレーションの確保 | ≈ 27% |
| Domain 4 | アクセスとセキュリティの構成 | ≈ 20% |
💡 学習のコツ: Domain 2(計画と実装)が最大配点です。Compute Engine、GKE、Cloud SQL などの実装パターンを重点的に学習しましょう。
ACE試験には、初回の認定または失効した認定の再取得を目的とする「スタンダード試験(Standard Exam)」と、有効期限内の更新を目的とする「更新試験(Renewal Exam)」の2つのパスが用意されている。
| 試験タイプ | 試験時間 | 設問数 | 受験料 | 有効期限 | 出題範囲の特徴 |
|---|---|---|---|---|---|
| Standard Exam | 2時間 | 50〜60問 | $125 | 3年 | クラウド環境の設定、計画・実装、運用、アクセスとセキュリティの全領域。 |
| Renewal Exam | 1時間 | 20問 | $75 | 3年 | 実装(約40%)、運用(約40%)、セキュリティ(約20%)に焦点を当てた実務中心の内容。 |
試験ガイドに基づく主要な出題ドメインは、クラウドソリューション環境の設定(約23%)、クラウドソリューションの計画と実装(約30%)、正常なオペレーションの確保(約27%)、アクセスとセキュリティの構成(約20%)の4つに大別される。これらのドメインは、インフラストラクチャのライフサイクル全体を網羅しており、理論的な知識だけでなく、実務におけるシナリオベースの問題解決能力が問われる。
クラウドソリューション環境の設定とガバナンス
リソース階層、IAMポリシー継承、請求先アカウント、予算アラート、自動コスト制御アーキテクチャ。
Google Cloud のすべてのリソースは、以下の厳密な階層構造で管理されます。
| レベル | 役割 | 具体例 |
|---|---|---|
| Organization | 企業・組織全体のルート | 「example.com」 |
| Folder | 部門・事業部の区分け | 「開発部」「財務部」 |
| Project | ビリングと信頼境界の単位 | 「prod-webapp」「dev-backend」 |
| Resource | 実際のクラウドリソース | VM、バケット、DBなど |
IAMポリシーの継承
- 企業組織構造をフォルダ階層に反映する(部門→プロジェクト)
- 同じ信頼境界のリソースは同一プロジェクトにまとめる
- 複数プロジェクト共通の権限は親フォルダで付与(管理オーバーヘッド削減)
- Google Workspace または Cloud Identity アカウントに組織を紐付ける
請求先アカウントの構造
| 階層 | エンティティ | 説明 |
|---|---|---|
| 1 | 支払いプロファイル | クレジットカード情報・支払者情報 |
| 2 | 請求先アカウント (Billing Account) | 支払いプロファイルに紐付く請求単位 |
| 3 | Project A / Project B / Project C … | 各プロジェクトは正確に 1 つの請求先アカウントにリンク |
💡 各プロジェクトは 正確に1つ の請求先アカウントにリンクされます。
予算アラートの設定フロー
1. 予算を設定(月次/四半期/年次) 2. スコープを設定(組織 / フォルダ / プロジェクト / ラベル) 3. 閾値を設定(例: 50% / 90% / 100%) 4. 通知先を設定(メール or Pub/Sub)
Google Cloud は予算の上限に達しても リソースを自動停止しません。
自動停止を実現するアーキテクチャ:
| リスク | 原因 | 対策 |
|---|---|---|
| 暗号資産マイニング | 認証情報漏洩 | Secret Manager 利用、キーの定期ローテーション |
| DDoS によるオートスケール過多 | トラフィック急増 | Cloud Armor でエッジ防御 + スケーリング上限設定 |
- Cloud Billing データを BigQuery へエクスポート し、SQL でコスト分析・監査を実施する
- 予算は実際のコストだけでなく 予測コスト に対してもアラートを設定する
- ラベル(Labels)を活用してリソースをコストセンター単位で分類する
Google Cloudのリソースは厳密な階層構造で管理される。リソース階層の設計においては、実際の企業の組織構造(部門、事業部、チームなど)をクラウド階層にミラーリングすることがベストプラクティスとされる。Identity and Access Management (IAM) のポリシーは、この階層を通じて上位レベルから下位レベルへと継承されるため、組織レベルで適用されたアクセス制御ポリシーは、その配下にあるすべてのリソースに自動的に適用される。
プロジェクトは企業内の信頼境界(Trust Boundary)を表すため、同じ信頼境界を共有するリソースは同一のプロジェクトにグループ化することが推奨される。複数のプロジェクトにまたがる役割をユーザーに付与する必要がある場合は、プロジェクト単位で設定するのではなく、親フォルダレベルで役割を設定することで管理のオーバーヘッドを削減できる。
クラウドの運用において、コストの監視と管理は極めて重要である。Google Cloudの請求システムは、支払いプロファイルに紐づく請求先アカウント(Billing Account)を中心に構成されており、各プロジェクトは正確に一つの請求先アカウントにリンクされる必要がある。効果的なコスト管理のためには、「価格(設定された料金)」と「コスト(使用量に基づく実際の支出)」の根本的な違いを理解することが不可欠である。
予期せぬ請求を防ぐための主要なメカニズムが「予算(Budgets)」と「アラート」である。これらは月次、四半期、年次などの期間で設定でき、組織、フォルダ、プロジェクト、または特定のリソースラベルごとにスコープを限定することが可能である。実際のコストや予測コストが設定した閾値に達した際、指定した受信者にメールで通知が送信される。しかし、ここで注意すべき重要な仕様は、Google Cloudは予算の上限に達してもリソースを自動的にシャットダウンしないという点である。プログラムによる自動的なコスト制御(例えば、特定のリソースの停止)を実現するには、予算アラートの通知先としてPub/Subトピックを設定し、Cloud Functionsなどをトリガーするアーキテクチャを構築する必要がある。
また、セキュリティインシデントがコストに与える影響も考慮しなければならない。誤って漏洩した認証情報が悪用されて暗号資産のマイニングが行われたり、DDoS攻撃によってフロントエンドの負荷が急増し、オートスケーリングが不必要にトリガーされたりすることで、多額の請求が発生するリスクがある。これらの脅威を軽減するためには、スケーリングの上限を適切に設定し、ネットワーク境界でCloud Armorを利用して脅威を検出・緩和することが推奨される。さらに、詳細なコスト分析や監査の基盤として、Cloud BillingデータをBigQueryへ継続的にエクスポートする設定を有効にすることが求められる。
コンピューティングリソース
Compute Engine、Spot VM、Cloud Run の詳細と選定基準。OS Login、Workload Identity、サーバーレスネットワーキング。
| サービス | 制御レベル | 抽象化 |
|---|---|---|
| Compute Engine | ★★★★★ (最高) | VM (IaaS) |
| GKE Standard | ★★★★ | マネージド Kubernetes (ノード管理あり) |
| GKE Autopilot | ★★★ | フルマネージド Kubernetes |
| Cloud Run | ★★ | サーバーレスコンテナ |
| Cloud Functions | ★ (最低) | サーバーレス関数 |
| サービス | 特徴 | 最適なユースケース |
|---|---|---|
| Compute Engine | 完全な OS 制御が可能な VM | レガシー移行、特定ライセンスが必要なアプリ |
| Spot VM | 最大91%割引、いつでも停止される可能性あり | バッチ処理、レンダリング、ML トレーニング |
| GKE | マネージド Kubernetes | マイクロサービス、コンテナ化アプリ |
| Cloud Run | フルマネージドサーバーレスコンテナ | HTTP API、イベント駆動の処理 |
| Cloud Functions | イベント駆動の関数 | 軽量なグルーロジック、Webhookなど |
| マシンファミリー | 特徴 | 用途 |
|---|---|---|
| General Purpose (N2, E2) | バランス型 | Web サーバー、開発環境 |
| Compute Optimized (C2) | 高 vCPU 性能 | ゲーム、HPC |
| Memory Optimized (M2) | 大量メモリ | SAP HANA、インメモリ DB |
| Accelerator Optimized (A2) | GPU 搭載 | ML トレーニング、推論 |
セキュアな SSH アクセス管理
| 観点 | ❌ 静的 SSH 公開鍵 (メタデータ登録) | ✅ OS Login 有効化 |
|---|---|---|
| 退職者対応 | 鍵が残り続けるリスク | IAM 削除で即時アクセス失効 |
| 鍵の管理 | 棚卸しが困難 | IAM ポリシーで一元管理 |
| アクセス制御 | 鍵ベースで粒度が荒い | IAM ポリシーで SSH アクセスを細粒度に制御 |
| 監査ログ | 限定的 | 詳細な監査ログが自動記録 |
OS Login の設定:
# プロジェクト全体に OS Login を有効化 gcloud compute project-info add-metadata \ --metadata enable-oslogin=TRUE # 本番環境では 2FA も必須に gcloud compute project-info add-metadata \ --metadata enable-oslogin-2fa=TRUE
- OS Login + 2FA を本番環境で必須化
- 特権サービスアカウントをアタッチした VM への SSH を避ける
- JIT (Just-In-Time) アクセス で一時的な権限付与を採用
- スナップショットは 1時間ごと に取得(障害復旧の備え)
プリエンプトへの備え:
# シャットダウンスクリプトで状態を Cloud Storage に保存 #!/bin/bash # /etc/google-cloud/metadata/shutdown-scripts gsutil cp /var/app/checkpoint.dat gs://my-bucket/checkpoints/
| 設定値 | 動作 |
|---|---|
STOP(推奨) | 停止後、キャパシティ回復時に再起動。ローカルディスクのデータ保持 |
DELETE | VM が削除される。コスト節約を最優先の場合 |
- フォールトトレラント(障害耐性) なアプリケーション設計を前提とする
- MIG(Managed Instance Group)と組み合わせてプリエンプト後に自動再作成
- チェックポイント機能を実装し、処理を途中から再開できるようにする
- 終了アクションは
STOPに設定してディスクデータを保持する
ネットワーク接続: Direct VPC Egress
💡 第1世代 vs 第2世代: スループットを最大化するには 第2世代の実行環境 + Direct VPC egress を選択。VPC コネクタより高速です。
- ステートレス(状態をコンテナ外に保存)なワークロードに使用
- VPC 内のリソースへのアクセスには Direct VPC Egress(第2世代)を使用
- コールドスタートを最小化するために 最小インスタンス数 を設定
- シークレットは Secret Manager から環境変数として注入
コンピューティングサービスの選択は、ワークロードの性質、必要な制御レベル、およびコスト効率の要件に依存する。
| サービス名 | 特徴とユースケース | 管理と運用のベストプラクティス |
|---|---|---|
| Compute Engine (GCE) | OSレベルの制御が必要なレガシーシステムや特定のライセンスを伴うソフトウェアのホスティングに使用される仮想マシン(VM)。 | OS Loginを有効にし、IAMポリシーに基づいたきめ細かいLinuxアカウントのライフサイクル管理を実施する。 |
| Spot VMs | 通常のVMより最大91%安価に提供されるが、Google側のキャパシティ要件によりいつでもプリエンプト(強制停止)される可能性がある。 | フォールトトレラント(障害耐性)のあるレンダリングやバッチ処理に最適。マネージドインスタンスグループ(MIG)と組み合わせ、自動的に再作成されるように設計する。 |
| Cloud Run | コンテナ化されたアプリケーションを実行するフルマネージドのサーバーレスプラットフォーム。ゼロへのスケールダウンが可能。 | HTTPリクエストやEventarcイベントでトリガーされるステートレスなワークロードに使用。VPCリソースへの高速なアクセスにはDirect VPC egressを利用する。 |
Compute Engineの運用において、VMへのセキュアなアクセスを確立することは最優先事項である。従来の静的なSSHキー管理に代わり、OS Loginを使用することで、IAMポリシーを通じた継続的なアクセス評価が可能になる。本番環境のVMに対しては、OS Loginにおける二要素認証(2FA)を必須とし、メタデータ enable-oslogin-2fa を TRUE に設定することが推奨される。また、永続的な脅威を防ぐため、特権サービスアカウントがアタッチされたVMへのSSHアクセスは避け、JIT(Just-In-Time)アクセスを採用して一時的に権限を付与する運用がベストプラクティスとされる。
Spot VMを利用する場合、アプリケーションはプリエンプションに耐えうる設計でなければならない。停止イベントを適切に処理するために、シャットダウンスクリプトを構成し、Cloud Storageへのチェックポイントの保存やクリーンな終了プロセスを実行する時間を確保する。また、終了アクションを STOP に設定することで、キャパシティが再び利用可能になった際にVMを再起動し、ローカルディスクのデータを保持することが可能になる。
Cloud Runなどのサーバーレス環境を設計する際、ネットワークトポロジの制約とトラフィックルーティング戦略が重要となる。サーバーレスVPCアクセス(Serverless VPC Access)を通じて、外部IPを持たない内部リソース(Cloud SQLやMemorystoreなど)への安全な接続が提供される。
パフォーマンスとスループットを最大化するためには、第2世代の実行環境を利用し、従来のVPCコネクタを使用する代わりに「Direct VPC egress」を設定してネットワークの送信スループットを高速化することが推奨される。また、大規模なデプロイメントにおいてIPアドレスの枯渇を防ぐため、RFC 1918以外のIPv4アドレスの使用、Cloud NATやPrivate Service Connectの活用、さらにはIPv4とIPv6のデュアルスタックサブネットの導入といった戦略が有効である。
コンテナと Kubernetes (GKE)
GKE Autopilot vs Standard、Workload Identity、Binary Authorization、Security Posture Dashboard。
Autopilot モード は Google がノードのプロビジョニング・スケーリング・アップグレード・セキュリティ制約をすべて管理し、課金は Pod が要求する vCPU/Memory 単位(デフォルト推奨)。Standard モード はユーザーがノードプールを直接管理し、課金はノード単位。特権コンテナの実行・カーネルパラメータのチューニング・DaemonSet(ロギング/監視)など低レベル制御が必要な場合に選択する。
| 項目 | Autopilot | Standard |
|---|---|---|
| ノード管理 | Google が自動管理 | ユーザーが管理 |
| セキュリティ標準 | Baseline 強制 | ユーザー設定 |
| 特権コンテナ | ❌ 不可 | ✅ 可能 |
| Workload Identity | 自動有効 | 手動設定が必要 |
| 課金単位 | Pod リソース | ノード(VM) |
| アイドルコスト | なし | あり |
Workload Identity Federation(最重要!)
設定例:
# KSA と GSA を紐付け gcloud iam service-accounts add-iam-policy-binding \ GSA_NAME@PROJECT_ID.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[NAMESPACE/KSA_NAME]"
Binary Authorization(コンテナ整合性の保証)
Security Posture Dashboard
GKE の「セキュリティポスチャダッシュボード」が自動スキャン:
- Pod 仕様の設定上の懸念事項
- コンテナイメージの CVE(脆弱性)
- 修正アクションの推奨
- 新規クラスタは Autopilot モードをデフォルト で選択
- Google Cloud API アクセスには必ず Workload Identity を使用(静的キー禁止)
- Binary Authorization でデプロイ可能なイメージを承認済みのみに制限
- Security Posture Dashboard を定期的に確認して脆弱性を解消
- コンテナイメージは Artifact Registry に格納し、脆弱性スキャンを有効化
GKEはコンテナ化されたアプリケーションのデプロイを管理するマネージドKubernetesサービスであり、クラスタの動作モードとして「Autopilot」と「Standard」の2つを提供する。
Autopilotモードは、ノードのプロビジョニング、スケーリング、アップグレード、およびセキュリティ制約の管理をすべてGoogleが代行するフルマネージド環境であり、新規クラスタのデフォルトとして推奨される。課金モデルはPodが要求するリソース(vCPU、メモリ、エフェメラルストレージ)に基づいており、アイドル状態のノードに対するコストが発生しないため、負荷変動の激しいワークロードにおいてコスト効率が高い。一方、Standardモードは、ユーザーがノードプールを直接管理するIaaSに近いモデルであり、特権コンテナの実行、特定のカーネルパラメータの調整、高メモリインスタンスの指定、またはロギングや監視用のDaemonSetの実行が必要な場合に選択される。
セキュリティの観点から見ると、AutopilotクラスタはKubernetes Baselineセキュリティ標準をデフォルトで適用し、特権コンテナやホスト名前空間の利用をブロックする。また、Workload Identity Federationが自動的に有効化されており、Podがノードのメタデータサーバーに直接アクセスして機密情報を取得することを防ぐ。アプリケーションがGoogle CloudのAPI(Secret Managerなど)にアクセスする際は、静的なサービスアカウントキーをクラスタ内に保存するのではなく、このWorkload Identityを利用してKubernetesのサービスアカウントとGoogle CloudのIAMサービスアカウントを紐付けることが最も安全なアプローチである。
さらに、GKEのセキュリティ態勢を高めるための機能として、セキュリティポスチャダッシュボード(Security Posture Dashboard)が存在する。この機能は、Podの仕様における構成上の懸念事項や、コンテナイメージ内のワークロードの脆弱性を自動的にスキャンし、影響度の高いセキュリティ情報(CVEリンクや推奨される修正アクション)をプロアクティブに提示する。コンテナイメージの完全性を保証するためには、Binary Authorizationを利用し、事前に承認されたイメージのみがクラスタにデプロイされるようポリシーを強制する設定が求められる。
データ・ストレージアーキテクチャ
Cloud Storage の4クラス、OLM、Soft Delete、Signed URL、データベース選定フローチャートと比較表。
| クラス | アクセス頻度 | 最小保存期間 | アクセスコスト | 保管コスト | ユースケース |
|---|---|---|---|---|---|
| Standard | 高 (随時) | なし | 無料 | $ | 頻繁アクセスデータ、Web コンテンツ |
| Nearline | 月 1 回 | 30 日 | あり | $$ | バックアップ、月次レポート |
| Coldline | 年 4 回未満 | 90 日 | 高め | $$$ | 災害復旧、四半期データ |
| Archive | 年 1 回未満 | 365 日 | 最高 | $$$$ | 法規制保管、年次データ |
Object Lifecycle Management (OLM) で自動コスト最適化
# ライフサイクルポリシーの例
lifecycle:
rule:
- action:
type: SetStorageClass
storageClass: NEARLINE
condition:
age: 30 # 30日経過後 Nearline に移行
- action:
type: SetStorageClass
storageClass: COLDLINE
condition:
age: 90 # 90日経過後 Coldline に移行
- action:
type: Delete
condition:
age: 365 # 365日後に削除バケット名のベストプラクティス
| ルール | 理由 |
|---|---|
| 個人情報・機密情報を含めない | バケット名は公開されるため |
| 意味のないコードネームやランダムサフィックスを付ける | 第三者による推測防止 |
goog で始まる名前は使用不可 | Google 予約済み |
google のスペルミス変形は使用不可 | Google 予約済み |
論理削除(Soft Delete)
- デフォルトで有効(7日間保持)
- 削除後10分以内は同名バケットを再作成できない仕様に注意
署名付きURL(Signed URLs)
# Google アカウントなしでも一時的アクセスを提供 gcloud storage sign-url gs://BUCKET/OBJECT \ --duration=1h \ --private-key-file=KEY_FILE
- 有効期間は最大 7日間
- X-Goog-Algorithm、X-Goog-Expires などの情報が URL に含まれる
- OLM を必ず設定 してストレージクラスを自動移行
- バケット名に PII(個人識別情報)を含めない
- 一時アクセスは 署名付きURL を使用(IAM ロール付与は避ける)
- 規制データには Bucket Lock / Object Retention Lock を設定
- バージョニングを有効化して誤上書きを防止
データは構造化? ├── YES → SQL が必要? │ ├── YES → グローバル分散が必要? │ │ ├── YES → Cloud Spanner(99.999% SLA) │ │ └── NO → 高性能 PostgreSQL? │ │ ├── YES → AlloyDB │ │ └── NO → Cloud SQL │ └── NO → NoSQL │ ├── 大規模時系列・IoTデータ → Cloud Bigtable │ └── モバイル/リアルタイム同期 → Firestore └── NO → 非構造化 → Cloud Storage(オブジェクト)
| サービス | 種別 | 特徴 | ユースケース |
|---|---|---|---|
| Cloud SQL | リレーショナル | MySQL / PostgreSQL / SQL Server のマネージドサービス | Web アプリ、ERP、EC サイト |
| Cloud Spanner | リレーショナル | グローバル分散、水平スケール、99.999% SLA | グローバル金融、在庫管理 |
| AlloyDB | リレーショナル | PostgreSQL 互換、標準比4倍の性能、ML 最適化 | 高性能 OLTP、分析混在 |
| Firestore | NoSQL(ドキュメント) | サーバーレス、リアルタイム同期、強整合性 | モバイルアプリ、IoT バックエンド |
| Cloud Bigtable | NoSQL(ワイドカラム) | ミリ秒レイテンシ、ペタバイトスケール、HBase互換 | 時系列データ、ML フィーチャーストア |
| Memorystore | インメモリ | Redis / Memcached マネージドサービス | キャッシュ、セッション、リーダーボード |
| BigQuery | データウェアハウス | サーバーレス分析、SQL で ML モデル作成 | BI、大規模データ分析 |
| Bare Metal Solution | 専用ハードウェア | 低レイテンシ専用ハード | Oracle のリフト&シフト |
試験頻出: Cloud SQL vs Cloud Spanner vs AlloyDB
Cloud SQL: 小〜中規模、シングルリージョン、標準的なRDB
↓ スケールが足りなくなったら
Cloud Spanner: グローバル、水平スケール、99.999% SLA が必要
AlloyDB: PostgreSQL 互換を維持したまま性能を4倍に上げたいデータの性質とアクセスパターンに応じて、最適なストレージクラスやデータベースソリューションを選択することが、システムの性能とコストに直結する。
Cloud Storageは非構造化データの保存に使用され、アクセス頻度に応じて4つのストレージクラス(Standard、Nearline、Coldline、Archive)を使い分ける。コストを最適化するためには、オブジェクトの年齢や新しいバージョンかどうかに基づいて、自動的により低コストなストレージクラスへ移行させるか、削除を行うObject Lifecycle Management (OLM) を設定することが不可欠である。
セキュリティの観点からは、バケット名やオブジェクト名に関する厳格なベストプラクティスが存在する。バケット名は全ユーザー間でグローバルに一意である必要があり、URLとして公開される性質を持つため、個人情報や機密情報を含めてはならない。第三者による推測を防ぐため、意味を持たないコードネームやランダムなサフィックスを付与することが推奨される。
誤削除からの復元を担保する「論理削除(Soft Delete)」機能は、デフォルトで有効化されており、削除されたオブジェクトを7日間保持する。特定のユーザーに一時的なアクセスを許可する場合は、リソースに直接アクセスするための署名付きURL(Signed URLs)を生成する。このURLには、使用されるアルゴリズム(X-Goog-Algorithm)や有効期限(X-Goog-Expires、最大7日間)が含まれ、Googleアカウントを持たないユーザーとのセキュアなデータ共有を可能にする。
| データベースタイプ | サービス名 | アーキテクチャと最適なユースケース |
|---|---|---|
| リレーショナル (SQL) | Cloud SQL | MySQL、PostgreSQL、SQL Serverのフルマネージドサービス。標準的なWebフレームワーク、ERP、Eコマースなど、厳格なACID特性とスキーマを必要とするワークロードに最適。 |
| リレーショナル (SQL) | Cloud Spanner | リレーショナル構造とNoSQLの水平スケーラビリティを兼ね備えたグローバル分散データベース。99.999%の可用性を持ち、グローバルな金融システムやインベントリ管理に使用される。 |
| リレーショナル (SQL) | AlloyDB | PostgreSQL互換の高性能データベース。標準的なPostgreSQLの4倍のトランザクション性能を持ち、機械学習を活用した最適化を提供する。 |
| 非リレーショナル (NoSQL) | Firestore | サーバーレスのドキュメント指向データベース。モバイルアプリケーションやIoTのバックエンドにおいて、強力な一貫性とリアルタイム同期を提供する。 |
| 非リレーショナル (NoSQL) | Cloud Bigtable | ワイドカラム型データベース。ミリ秒未満のレイテンシで数十億行、ペタバイト規模のデータを処理可能。時系列データや機械学習の分析に最適。 |
| インメモリ | Memorystore | RedisおよびMemcachedのマネージドサービス。マイクロ秒レベルの応答が求められるキャッシング、リーダーボード、セッション管理に使用される。 |
データウェアハウスの用途や、SQLを用いた機械学習モデルの構築にはBigQueryが最適であり、既存のOracleデータベースをリフト&シフトでクラウドに移行する場合は、低遅延のハードウェアを提供するBare Metal Solutionが選択肢となる。
ネットワークとロードバランシング
Google Cloud VPC のグローバル特性、Shared VPC、VPC Peering、Cloud NAT、Cloud DNS、ロードバランサ選定。
通常のクラウド(他社):
リージョンごとに別々の VPC が必要
↓
Google Cloud VPC:
1つの VPC がグローバルに広がる!
東京・米国・欧州のサブネットを1つの VPC で管理可能Shared VPC(共有VPC) — 大規模組織での推奨構成
ホストプロジェクト(ネットワーク管理)
├── サブネット A(開発チーム用)
│ ↑ ネットワーク使用権限付与
│ サービスプロジェクト 1(開発チーム)
│ └── VM, Cloud Run など
│
└── サブネット B(本番チーム用)
↑ ネットワーク使用権限付与
サービスプロジェクト 2(本番チーム)
└── VM, GKE などメリット:
- ネットワーク管理と開発を 職務分掌(最小特権の原則)
- セキュリティポリシーを集中管理
- サービスプロジェクトは独自のコスト管理が可能
VPC Network Peering
VPC A ──── Peering ──── VPC B
│
Peering
│
VPC C
⚠️ 注意: A → B, B → C でも A → C は通信できない!
(Peering は推移的でない)Cloud NAT(プライベートインスタンスのインターネット接続)
プライベート VM(外部 IP なし)
↓
Cloud NAT(送信元 IP を変換)
↓
インターネットポート枯渇の監視(Cloud Monitoring MQL クエリ):
fetch nat_gateway | metric 'compute.googleapis.com/nat/port_usage' | align mean_aligner() | every 1m
Cloud DNS ベストプラクティス
| シナリオ | 設定方法 |
|---|---|
| オンプレミス → Cloud DNS のプライベートゾーンを解決 | インバウンドサーバーポリシー を設定 |
| Google Cloud → オンプレミスの DNS を解決 | 転送ゾーン(Forwarding Zone) を設定 |
対象トラフィックは HTTP/HTTPS?
├── YES → Application Load Balancer (L7)
│ ├── グローバル配信が必要 → Global External ALB(Premium Tier)
│ └── リージョン内のみ → Regional ALB
│
└── NO → Network Load Balancer (L4)
├── SSL オフロードが必要 → Proxy Network LB
└── 送信元 IP を保持したい → Passthrough Network LB| ロードバランサ | レイヤ | 特徴 | 送信元 IP 保持 |
|---|---|---|---|
| Global External ALB | L7 | Premium Tier でグローバル分散 | ❌(X-Forwarded-For ヘッダ参照) |
| Regional External ALB | L7 | 特定リージョン内に限定 | ❌ |
| Proxy Network LB | L4 | TCP プロキシ、SSL オフロード対応 | ❌ |
| Passthrough Network LB | L4 | TCP/UDP/ESP/GRE/ICMP | ✅(そのまま転送) |
管轄区域の規制で データを特定リージョン内に留める必要がある場合は、必ず「リージョナル」ロードバランサを選択!グローバルスコープでは不可。
Google CloudのVirtual Private Cloud (VPC) は、単一のVPCがグローバルに広がり、すべてのリージョンにまたがってサブネットを配置できるという独自の特徴を持つ。このアーキテクチャにより、マルチリージョン展開におけるネットワークの複雑さが大幅に軽減される。
大規模組織においては、Shared VPC(共有VPC) の導入がベストプラクティスである。Shared VPCは、1つのホストプロジェクト内でネットワークリソース(サブネット、ルート、ファイアウォール)を集中管理し、複数のサービスプロジェクトに属するリソースが共通のVPCネットワークを使用してセキュアに通信できるようにする機能である。これにより、ネットワーク管理タスクとインスタンス作成タスクの職務分掌(最小特権の原則)を徹底でき、例えば「Network User」ロールをサブネットレベルで特定のグループに付与することで、厳密なアクセス制御が実現する。
VPC間の接続には、VPC Network Peeringが一般的に使用される。これはGoogleのSDNを通じて2つのVPCを内部IPで高速に接続する手法であるが、重要な制約として「推移的(Transitive)ではない」点が挙げられる。VPC AがVPC Bとピアリングし、VPC BがVPC Cとピアリングしていても、AとCは直接通信できない。また、ピアリングするVPC間でIPアドレスの範囲が重複している場合、接続は確立できない。より複雑なトポロジやオンプレミスとの接続が必要な場合は、Cloud VPNやCloud Interconnectを利用し、動的ルーティング(BGP)によってネットワークの到達性をグローバルまたはリージョナルに管理する。
外部へのアウトバウンドトラフィックを制御し、プライベートIPしか持たないインスタンス群からインターネットへの安全なアクセスを提供するためには、Cloud NATを使用する。Cloud NATの運用においては、各VMに割り当てられるポートの枯渇を防ぐことが重要であり、Cloud MonitoringとMQLクエリ(compute.googleapis.com/nat/port_usage)を活用してポートの利用状況を継続的に監視する運用が不可欠である。
オンプレミスネットワークとGoogle Cloud間でのシームレスな名前解決を実現するためには、Cloud DNSのベストプラクティスを適用する。オンプレミス環境からCloud DNSのプライベートゾーンを解決するためには、インバウンドのサーバーポリシーを設定し、逆にGoogle CloudからオンプレミスのDNSを解決するためには、転送ゾーン(Forwarding zones)を使用してトラフィックをルーティングする。
| トラフィック層 | ロードバランサの種類 | アーキテクチャと最適なユースケース |
|---|---|---|
| レイヤ7 (L7) | Application Load Balancer | HTTP/HTTPSトラフィックを処理し、高度なルーティングやSSL終端を提供する。グローバル外部ALBはPremium Tierを使用して世界中に分散されたバックエンドへトラフィックをルーティングし、レイテンシを最小化する。 |
| レイヤ4 (L4) | Proxy Network Load Balancer | TCPトラフィックをプロキシとして処理し、SSLオフロードをサポートする。クライアントとの接続を終端してからバックエンドへ新しい接続を確立するため、デフォルトではクライアントIPは保持されない。 |
| レイヤ4 (L4) | Passthrough Network Load Balancer | TCP、UDP、ESP、GRE、ICMPなどのプロトコルを処理する。クライアントの接続を終端せず、パケットの送信元IPなどの情報をそのままバックエンドVMへ転送する(ダイレクトサーバーリターン)。 |
管轄区域のコンプライアンス要件により、トラフィックを特定のリージョン内に留める必要がある場合や、TLSの終端を厳密に特定の地域で行う必要がある場合は、グローバルスコープではなく、必ず「リージョナル」ロードバランサを選択しなければならない。
Infrastructure as Code (Terraform)
State ファイル管理、リモートバックエンド、CI/CD 統合、GitOps、キーレス認証。
| 用語 | 説明 |
|---|---|
State ファイル (terraform.tfstate) | Terraform コードと実際の GCP リソースのマッピング情報 |
Plan (terraform plan) | 適用前に変更内容を確認するコマンド |
Apply (terraform apply) | 実際にインフラを変更するコマンド |
| Backend | State ファイルの保存場所(ローカル or リモート) |
❌ アンチパターン: State をローカルに保存 問題点: ・チームメンバー全員が別々の State を持つ ・並行作業で State が競合する(State Corruption) ・State の紛失リスク
✅ 推奨: Cloud Storage リモートバックエンド
# backend.tf
terraform {
backend "gcs" {
bucket = "my-terraform-state-bucket"
prefix = "terraform/state"
}
}Cloud Storage バケットの設定:
- オブジェクトバージョニング を有効化(State の変更履歴を保存)
- State ロック を有効化(並行作業による競合を防止)
terraform.tfstate ファイルを 手動で直接編集しない!設定の破損を招きます。標準的なデプロイフロー: 1. コードを変更 └── git commit & push 2. プランファイルを生成・確認 └── terraform plan -out=tfplan └── プランファイルの内容をレビュー 3. 承認後に適用 └── terraform apply tfplan ※ プランファイルは実行環境に依存するため、 環境間を移動する際は注意が必要
既存リソースの Import
従来の方法(Terraform < 1.5):
terraform import google_compute_instance.vm_instance \
projects/PROJECT/zones/ZONE/instances/VM_NAMEモダンな方法(Terraform >= 1.5):
# main.tf に import ブロックを追加
import {
to = google_compute_instance.vm_instance
id = "projects/PROJECT/zones/ZONE/instances/VM_NAME"
}→ terraform plan と terraform apply を一連のパイプラインに統合できる。
リポジトリ構造:
environments/
├── dev/ ← dev ブランチへの merge で自動 apply
│ ├── main.tf
│ └── variables.tf
└── prod/ ← main ブランチへの merge で自動 apply
├── main.tf
└── variables.tf認証のベストプラクティス(キーレス認証)
❌ アンチパターン:
# Cloud Build にサービスアカウント JSON キーを渡す
env:
- GOOGLE_CREDENTIALS=${{ secrets.SA_KEY }} # 危険!
✅ 推奨:
Cloud Build のサービスアカウント
↓ Workload Identity Federation / ADC を使用
権限借用(Impersonation)で一時クレデンシャルを取得
↓
Terraform apply を実行- State ファイルは必ず Cloud Storage のリモートバックエンド に保存
- 適用前に必ず
terraform planで変更内容を確認 - CI/CD 認証には JSON キーを使わず ADC/Workload Identity を使用
- 環境(dev/staging/prod)は 別ディレクトリ or ワークスペース で管理
- Terraform コードは Git リポジトリ で管理し、PR レビューを必須化
インフラストラクチャの一貫性と再現性を担保するため、Terraformを利用したIaCのプラクティスがACE試験で問われる。
Terraformの運用において最も重要な概念は、状態(State)ファイルの管理である。terraform.tfstate ファイルは、Terraformの構成コードと実際のGoogle Cloudリソースのマッピングを維持する重要なファイルであり、このファイルを手動で直接変更することは構成の破損を招くため固く禁じられている。チームでの並行作業による競合を防ぐため、状態ファイルはローカルに保存するのではなく、Cloud Storageバケットをリモートバックエンドとして構成し、オブジェクトバージョニングと状態ロックを有効にして管理することがベストプラクティスである。
構成変更のデプロイプロセスにおいては、適用前に必ず terraform plan コマンドを実行し、出力されたプランファイル(例: terraform plan -out=tfplan)をレビューする手順を遵守する。この保存されたプランファイルは、実行環境のアーキテクチャや絶対パスに依存するため、実行環境間での移動には注意が必要である。また、コンソールから手動で作成された既存のリソースをTerraformの管理下に取り込む場合、従来は terraform import コマンドを使用していたが、Terraform バージョン 1.5 以降では構成コード内に import ブロックを記述することで、プランと適用を一連のパイプラインに統合するモダンなアプローチが可能となっている。
CI/CDの統合においては、Cloud Buildなどのマネージドサービスを使用し、GitOpsのメソドロジーを採用することが推奨される。例えば、リポジトリ内の environments/dev や environments/prod ディレクトリを使用して環境を論理的に分離し、ブランチへのマージをトリガーとして自動的に terraform apply が実行されるパイプラインを構築する。この際、パイプラインの実行にはサービスアカウントのJSONキーを使用するのではなく、クラウドプロバイダー固有の権限借用メカニズムやApplication Default Credentials (ADC) を活用してセキュアに認証を行う。
オペレーション・モニタリング・ロギング
Ops Agent、SLO 定義、監査ログ3種類、Log Router、BigQuery エクスポート、スナップショット管理。
Ops Agent の役割
Compute Engine VM
└── Ops Agent をインストール
├── Fluent Bit(ログ収集)
│ └── アプリログ、システムログ → Cloud Logging
└── OpenTelemetry Collector(メトリクス収集)
└── メモリ使用量、ディスク I/O → Cloud MonitoringKubernetes / GKE のモニタリング
GKE クラスタ
└── Google Cloud Managed Service for Prometheus
↓
オープンソース Prometheus と互換性あり
運用オーバーヘッドなし(マネージド)
↓
Cloud Monitoring でクエリ・アラート設定SLO(サービスレベル目標)の設定
SLI(指標)の定義:
例: 「99.9% のリクエストが 200ms 以内に応答する」
SLO の設定:
Cloud Monitoring → SLO 作成
↓
SLO 違反時にアラート発報
↓
PagerDuty / Slack へ通知💡 単純な「CPU 使用率 > 80%」アラートより、ユーザー体験に直結する SLO 監視を推奨。
監査ログ(Audit Logs)の種類
| ログ種別 | 内容 | デフォルト有効 |
|---|---|---|
| 管理アクティビティ | リソースの作成・削除・設定変更 | ✅ 常に有効 |
| データアクセス | データの読み書き(BigQuery, Cloud Storage 等) | ❌ 手動有効化 |
| システムイベント | Google によるシステム動作(VM マイグレーションなど) | ✅ 常に有効 |
ログのルーティング戦略
Cloud Logging(Log Router)
├── Cloud Logging バケット(デフォルト: 30日保持)
│
├── BigQuery(長期保存 + SQL 分析)
│ └── 法規制対応、セキュリティ監査
│
├── Cloud Storage(低コスト長期保管)
│ └── コンプライアンス保管
│
└── Pub/Sub(リアルタイム処理)
└── SIEM へのストリーミング- 監査ログは BigQuery にエクスポート して SQL で分析・監査
- データアクセスログ は機密データを扱う API で有効化
- GKE ノードで Linux auditd ログ を有効化(セキュリティ調査用)
- ログの 保持期間とエクスポート先 を事前に設計しコスト最適化
| 種類 | 方法 | 整合性レベル |
|---|---|---|
| クラッシュ整合性 | アプリ停止なしで取得 | OS 再起動後の整合性 |
| アプリケーション整合性 | データをフラッシュしてから取得 | 完全な整合性 |
Linux でのスナップショット高速化:
# スナップショット前に未使用ブロックをフラッシュ sudo fstrim -v / # または、マウント時に discard オプションを付与 # /etc/fstab: # /dev/sdb /data ext4 defaults,discard 0 0
→ スナップショットのサイズが小さくなり、取得が高速化されます。
- 本番環境では 1時間ごと にスナップショットを取得(スナップショットスケジュール使用)
- アプリケーション整合性が必要な場合は 停止前にデータをフラッシュ
fstrimまたはdiscardオプションでスナップショットを最適化
Compute Engineの永続ディスクのバックアップとして、スナップショットを定期的に取得する運用が推奨される(ベストプラクティスとしては1時間に1回)。スナップショットの取得プロセスにおいて、アプリケーションを停止せずに取得するクラッシュ整合性(Crash Consistent)スナップショットと、未書き込みのデータをフラッシュしてから取得するアプリケーション整合性(Application Consistent)スナップショットの違いを理解することが重要である。Linux環境では、スナップショットのサイズを最小化し作成を高速化するために、作成前に fstrim コマンドを実行するか、discard オプションを付けてマウントする手法が推奨される。
Cloud Storageに保存された重要なデータの保護においては、誤削除からの回復を提供する「論理削除」機能に加え、規制遵守要件を満たすための保持ロック機能が存在する。特定のバケット内のすべてのオブジェクトに対して必須の保持期間を強制するバケットロック(Bucket Lock)や、オブジェクト単位で特定の期限まで削除・上書きを禁止するオブジェクト保持ロック(Object Retention Lock)を活用することで、強力なデータガバナンスが実現する。
システムの健全性を可視化するためには、Cloud MonitoringとCloud Loggingを連携させた統合的なアプローチが必要である。VM内の詳細なシステムメトリクス(メモリ使用量など)やサードパーティアプリケーションのログを収集するためには、Compute EngineインスタンスにOps Agentをデプロイする。Ops Agentは、ログ収集にFluent Bitを、メトリクス収集にOpenTelemetry Collectorを利用する統合エージェントである。Kubernetes環境におけるメトリクス収集においては、オープンソース標準との互換性を保ちながら運用オーバーヘッドを削減するために、Google Cloud Managed Service for Prometheusを利用することがベストプラクティスとされる。
Cloud Loggingは、アプリケーションのログやインフラストラクチャのログを一元的に収集する。特に重要なのが、システムへのアクセス履歴や設定変更の履歴を記録する監査ログ(Audit Logs)である。監査ログには、「管理アクティビティ(リソースの構成変更)」、「データアクセス(データの読み書き)」、「システムイベント(システムの動作)」の3種類が含まれ、セキュリティ要件に不可欠なデータソースとなる。GKE環境においては、これらの監査ログを無効化することはできず、さらにContainer-Optimized OSを使用するノードでは、バイナリの実行履歴などを追跡するために詳細なLinux auditdログを有効化することがセキュリティインシデントの調査において有効である。蓄積された膨大なログデータは、Log Routerの機能を利用してフィルタリングし、長期保存や高度なSQLクエリ分析を行うためにBigQueryへルーティング(エクスポート)することで、コストと運用効率のバランスを取る。
IAM とセキュリティ
IAMロール3種類、最小特権の原則、サービスアカウント管理、権限借用、組織ポリシー、Cloud Asset Inventory。
基本ロール(Basic Roles)
├── Viewer (閲覧のみ)
├── Editor (閲覧 + 編集)
└── Owner (すべての権限)
⚠️ 粒度が粗すぎる → 本番環境での使用は原則禁止
事前定義ロール(Predefined Roles)
├── roles/compute.instanceAdmin.v1
├── roles/storage.objectViewer
└── ... (Google が用意した細かいロール)
✅ 基本的にこれを使用する
カスタムロール(Custom Roles)
└── 特殊なワークフローのみ自前で定義
⚠️ 管理コストが増えるため最小限に必要な権限だけを、必要な期間だけ、必要なリソースにのみ付与する
❌ アンチパターン: 静的 JSON キーの使用
サービスアカウント JSON キーを生成
↓
開発者のローカル PC / CI/CD に保存
↓
キーが GitHub に誤コミット or 漏洩!
↓
悪用されて莫大な請求が発生...| シナリオ | 推奨手法 |
|---|---|
| ローカル開発 | gcloud auth application-default login → ADC を使用 |
| CI/CD パイプライン | Workload Identity Federation で動的クレデンシャルを交換 |
| GCE/GKE 内 | インスタンスにサービスアカウントをアタッチ(キー不要) |
| 外部クラウド(AWS等)から | Workload Identity Federation を設定 |
権限借用(Impersonation)
ユーザー A(通常権限)
↓ 権限借用(SA_B の impersonation 権限を持つ)
サービスアカウント B(管理者権限)
↓ 短期有効な認証情報(Short-lived credentials)を取得
管理タスクを実行
↓
「誰がいつ何を実行したか」が監査ログに残る# 権限借用でリソースを操作 gcloud storage ls \ --impersonate-service-account=SA_EMAIL@PROJECT.iam.gserviceaccount.com
PAM(Privileged Access Manager)
高度なエンタープライズ要件では PAM API を使用:
- 承認ワークフロー付きで一時的に特権を付与
- 自動的な権限取り消し(期限設定)
- 詳細な監査ログ
| ポリシー例 | 効果 |
|---|---|
constraints/iam.allowedPolicyMemberDomains | 特定ドメインのユーザーのみ IAM に追加可能 |
constraints/compute.disableExternalIpAddresses | 外部 IP を持つ VM の作成を禁止 |
constraints/gcp.resourceLocations | リソースを特定リージョンに限定 |
constraints/iam.disableServiceAccountKeyCreation | SA キー生成を組織全体で禁止 |
Cloud Asset Inventory
組織全体のリソースと IAM ポリシーを一元管理 主な機能: ・全リソースの検索・エクスポート ・IAM ポリシーの変更履歴の確認 ・特定のリソースへのアクセス権を持つユーザーの一覧表示
# 組織内のすべての VM を一覧表示 gcloud asset search-all-resources \ --asset-types='compute.googleapis.com/Instance' \ --scope='organizations/ORG_ID'
- 基本ロール(Editor/Owner)の本番環境での使用を禁止
- サービスアカウント認証は JSON キーではなく Workload Identity / ADC
- 権限借用(Impersonation) で特権操作を一時的に実施(監査ログ付き)
- 組織ポリシー で SA キー生成・外部 IP 付与などを組織全体で制限
- Cloud Asset Inventory で定期的なアクセス権棚卸しを実施
IAMによるアクセス制御の根幹は「最小特権の原則(Principle of Least Privilege)」である。権限の割り当てにおいて、「編集者(Editor)」や「オーナー(Owner)」などの基本ロール(Basic Roles)はプロジェクト全体に対して過剰な権限を付与するため、レガシー環境や初期設定時を除き、本番環境での使用は厳しく制限されるべきである。代わりに、Googleによってキュレーションされた細かな権限の集合である「事前定義ロール(Predefined Roles)」を使用し、それでも要件を満たせない特殊なワークフローに対してのみ、独自の「カスタムロール(Custom Roles)」を定義する。
サービスアカウントの管理においては、認証情報の漏洩リスクを最小化する戦略が問われる。開発者がローカル環境からAPIにアクセスする際や、CI/CDパイプラインからリソースを操作する際に、静的なサービスアカウントキー(JSONファイル)を生成して使用することはセキュリティ上の重大なアンチパターンである。代わりに、ローカル開発環境では gcloud auth application-default login コマンドを使用してApplication Default Credentials (ADC) を生成し、外部のクラウドリソース(AWSやオンプレミス)からのアクセスには「Workload Identity連携」を設定して、動的なクレデンシャルを交換する手法が推奨される。
さらに、特権の永続的な割り当てを防ぐため、特定の管理タスクを実行する必要があるユーザーには、サービスアカウントの「権限借用(Impersonation)」を利用させる。これにより、ユーザー自身の権限を拡大することなく、短期有効な認証情報(Short-lived credentials)を用いて一時的に特権操作を実行させることが可能となり、詳細な監査ログを通じて「誰がいつ、どのサービスアカウントを利用したか」を正確に追跡できる。より高度なエンタープライズ要件に対しては、Privileged Access Manager (PAM) APIを利用して、承認ベースのアクセス権付与ワークフローを実装する。
複雑化するクラウド環境全体の設定や脆弱性を把握するためには、統合的な可視化ツールが不可欠である。Cloud Asset Inventoryは、組織全体にわたるGoogle CloudリソースやIAMポリシーの履歴を検索、分析、およびエクスポートする機能を提供し、リソースの階層構造やアクセス権の状況を一元的に把握することを可能にする。
生成AI と高度な運用最適化
Gemini Cloud Assist の機能と活用例。アーキテクチャ図自動生成、RCA、FinOps Hub 連携。
ACE 試験の最新出題範囲として、Gemini Cloud Assist の活用が含まれています。
| 機能 | 説明 |
|---|---|
| アーキテクチャ図の自動生成 | 自然言語プロンプトから Cloud アーキテクチャ図を生成 |
| IaC テンプレート作成 | ベストプラクティス準拠の Terraform テンプレートを自動生成 |
| 根本原因分析(RCA) | ログ、メトリクス、構成変更を横断的に分析して障害原因を特定 |
| コスト最適化提案 | FinOps Hub 連携でリソースの無駄遣いを AI が分析・提案 |
活用例
コンソールの Gemini Cloud Assist に入力:
「us-central1 で 2時間前から Cloud Run が 503 を返しています。原因を調査してください」
↓
Gemini が以下を自動分析:
・Cloud Logging のエラーログ
・Cloud Monitoring のメトリクス
・Cloud Asset Inventory の設定変更履歴
↓
根本原因と修正アクションを提示最新の運用プラクティスとして、生成AIである「Gemini Cloud Assist」の活用がACE試験の出題範囲に組み込まれている。Gemini Cloud Assistは、自然言語によるプロンプトを通じて、インフラストラクチャのアーキテクチャ図の自動生成や、ベストプラクティスに準拠したデプロイ用テンプレート(Terraformなど)の作成を支援する。また、複雑なトラブルシューティングにおいては、Cloud Loggingのログ、Cloud Asset Inventoryの構成変更履歴、およびメトリクスデータを横断的に分析し、システム障害の根本原因(Root Cause Analysis)を特定する調査機能を提供する。FinOps Hubと連携することで、リソースの稼働率や無駄な支出を分析し、コスト最適化の機会をAIが提示する機能も備えており、クラウド運用における意思決定を強力にサポートする。
試験直前チェックリスト & 推奨学習リソース
Domain 1〜4 のチェックリスト全項目、推奨学習リソース、エンタープライズ視点の結論。
- ☐ IAM ポリシーの継承方向(上位 → 下位)を理解している
- ☐ 組織 → フォルダ → プロジェクト → リソースの階層を説明できる
- ☐ 予算アラートが上限達成時にリソースを 停止しない ことを知っている
- ☐ 自動コスト制御には
Pub/Sub + Cloud Functionsが必要だと知っている - ☐ Cloud Billing を BigQuery にエクスポートする目的を説明できる
- ☐ Spot VM のユースケースとプリエンプト対応設計を説明できる
- ☐ GKE Autopilot vs Standard の使い分けを説明できる
- ☐ Workload Identity Federation が JSON キーより安全な理由を説明できる
- ☐ Cloud SQL / Spanner / AlloyDB / Bigtable / Firestore を使い分けられる
- ☐ OLM(Object Lifecycle Management)の設定方法を知っている
- ☐ Shared VPC とサービスプロジェクトの構成を説明できる
- ☐ Terraform の State ファイルをリモートバックエンドで管理できる
- ☐ VPC Peering が推移的でないことを知っている
- ☐ Ops Agent が必要なメトリクス(メモリ等)を知っている
- ☐ 監査ログの3種類(管理アクティビティ / データアクセス / システムイベント)を説明できる
- ☐ ログを BigQuery にルーティングする方法を知っている
- ☐ スナップショットスケジュールの推奨頻度(1時間ごと)を知っている
- ☐ SLO ベースの監視の重要性を説明できる
- ☐ 基本ロール(Editor/Owner)を本番で使うべきでない理由を説明できる
- ☐ サービスアカウント JSON キーのリスクと代替手法(ADC/WIF)を説明できる
- ☐ 権限借用(Impersonation)の利点(監査ログ + 最小特権)を説明できる
- ☐ 組織ポリシーで SA キー生成を禁止できることを知っている
- ☐ Binary Authorization の役割を説明できる
| リソース | URL |
|---|---|
| ACE 公式認定ページ | https://cloud.google.com/learn/certification/cloud-engineer?hl=en |
| ACE 試験ガイド(公式 PDF) | services.google.com/fh/files/misc/...exam_guide_english.pdf |
| Google Cloud スキルブースト | https://cloudskillsboost.google/ |
| Cloud Architecture Center | https://cloud.google.com/architecture |
| Google Cloud ドキュメント | https://cloud.google.com/docs |
| IAM ベストプラクティスブログ | cloud.google.com/blog/...iam-best-practice-guides |
| リソース階層ドキュメント | docs.cloud.google.com/resource-manager/... |
| Terraform ベストプラクティス | docs.cloud.google.com/docs/terraform/... |
| Cloud Storage ベストプラクティス | docs.cloud.google.com/storage/docs/best-practices |
| GKE Autopilot セキュリティ | docs.cloud.google.com/kubernetes-engine/... |
| ロードバランサ選定ガイド | docs.cloud.google.com/load-balancing/... |
Google Cloud Associate Cloud Engineerとしての実践能力は、単一のサービスの設定方法を暗記することにとどまらず、セキュリティ、コスト、パフォーマンス、そして運用の自動化という多角的な観点から最適なアーキテクチャを設計し、実装する能力にかかっている。
本ガイドで詳述した通り、適切なリソース階層の設計とIAMによる最小特権の徹底、予算アラートやBigQueryエクスポートを通じた厳格なコスト管理は、クラウドジャーニーの基礎である。GKE Autopilotの採用による運用オーバーヘッドの削減とセキュリティ態勢の向上、Shared VPCとCloud DNSによるセキュアなネットワークトポロジの構築、そしてTerraformを用いたインフラストラクチャの状態管理とCI/CDパイプラインの統合は、スケーラブルなエンタープライズソリューションを実現するための核心技術である。
さらに、Ops AgentやManaged Service for Prometheusを通じたオブザーバビリティの確立と、Gemini Cloud AssistなどのAI駆動型ツールによるプロアクティブな障害調査およびコスト最適化は、現代のクラウドエンジニアにとって不可欠なスキルセットとなっている。これらのベストプラクティスと技術的洞察を日常のオペレーションに統合することで、エンジニアはGoogle Cloud環境における強固なガバナンスとアジリティを両立させ、ビジネス要件を満たすインフラストラクチャを継続的に提供することが可能となる。