Google Cloud ハンズオン教科書|2026-08 版
第 1 章 試験ガイド 5.2 試験ガイド 1.1

Google Cloud の全体像と開発環境セットアップ

無料枠と Cloud Shell で安全に始める。プロジェクト・課金・gcloud の土台

この章で学ぶこと

試験ガイド対応: セクション 5.2(実装の管理 — 開発・運用環境とツールの理解)/セクション 1.1(クラウド ソリューション アーキテクチャの設計と計画の土台)

本書は「手を動かして Google Cloud を設計できるようになる」ための教科書です。その第一歩として、この章では 安全に壊せる学習環境 を作ります。順番が重要です。リソースを作る前に予算アラートという保険を張り、全章で使い回すプロジェクトと Cloud Shell を整え、最後に最初のリソースを「作って、確認して、消す」まで一周します。この 作成 → 確認 → 削除 のループが、以降 17 章すべてのハンズオンの基本動作になります。

Google Cloud の全体像 — インフラ・プロダクト・リソース階層

リージョンとゾーン

Google Cloud の物理的な実体は、世界中に分散したデータセンター群です。独立した地理的エリアをリージョン(region)と呼び、その内部が複数のゾーン(zone)に分かれます。2026-08 時点で 43 リージョン・130 ゾーンが提供されており、日本には東京(asia-northeast1)と大阪(asia-northeast2)のリージョンがあります。ゾーン名は「リージョン名 + 英字 1 文字」で、東京なら asia-northeast1-a のようになります。本書のハンズオンはリージョン asia-northeast1、ゾーン asia-northeast1-b を既定とします。

アーキテクトとして重要なのは、すべてのリソースがスコープ(有効範囲)を持つという点です。VM インスタンスや永続ディスクはゾーンリソース、サブネット(第 3 章)やリージョン静的外部 IP アドレスはリージョンリソース、VPC ネットワークやディスクイメージ・スナップショットはグローバルリソースです(静的外部 IP にはグローバル ロードバランサ用のグローバル型もあります)。ゾーンは障害分離の単位でもあるため、「単一ゾーンの障害に耐えたければ複数ゾーンへ、リージョン規模の災害に備えるなら複数リージョンへ配置する」が高可用性設計の出発点になります。

Google Cloud(グローバル)— 43 リージョン / 130 ゾーン asia-northeast1(東京) ゾーン a VM・ディスク ゾーン b VM・ディスク ゾーン c VM・ディスク リージョンリソース: サブネット / リージョン静的外部 IP us-central1(アイオワ) a b c 各リージョンは独立して障害分離 グローバルリソース: VPC ネットワーク / イメージ / スナップショット
図 1-1 境界の入れ子とリソーススコープ。ゾーンは障害分離の最小単位で、ゾーンリソース(VM 等)を複数ゾーンに分散するのが高可用性の基本。リージョン数・ゾーン数は 2026-08 時点。

プロダクト群と 4 つの操作方法

Google Cloud のプロダクトはコンピューティング・ストレージ・データベース・ネットワーキング・データ分析・AI / ML・セキュリティ・オブザーバビリティといったカテゴリに整理されています。全部を暗記する必要はありません。まずはカテゴリごとの代表プロダクトと「本書のどこで扱うか」の地図を持ってください。

カテゴリ代表プロダクト本書での扱い
コンピューティングCompute Engine / GKE / Cloud Run第 4 章・第 6 章・第 7 章
ストレージCloud Storage第 8 章
データベースCloud SQL / Spanner / Firestore / Bigtable第 9 章・第 10 章
ネットワーキングVPC / Cloud Load Balancing / Cloud DNS第 3 章・第 5 章・第 12 章
データ分析BigQuery / Pub/Sub / Dataflow第 11 章
セキュリティIAM / Cloud KMS / VPC Service Controls第 2 章・第 13 章・第 14 章
オブザーバビリティCloud Monitoring / Cloud Logging第 15 章
AI / MLGemini Enterprise Agent Platform(旧称 Vertex AI)第 18 章(ケーススタディでの位置づけ)

操作方法は 4 つあり、どれも同じ API を呼んでいます。

コンソールの歩き方

コンソールで最初に覚える操作は 3 つです。左上のナビゲーションメニューから各プロダクトの画面へ移動する、上部の検索バーでプロダクト名やリソース名を直接引く、そして画面上部のプロジェクト選択(プロジェクトピッカー)で操作対象を切り替える。コンソールに表示されるリソースは常に「選択中のプロジェクト」のものだけなので、「作ったはずのリソースが見えない」ときは、まず選択中のプロジェクトを疑ってください。本書は手順の再現性を優先して CLI を主役にしますが、リソースの全体像を眺めるにはコンソールが最速です。ハンズオン 1-3 の最後で「CLI で作ったものをコンソールで見る」体験をします。

リソース階層の入口 — 組織・フォルダ・プロジェクト

すべてのリソースはプロジェクト(project)に属します。プロジェクトは API の有効化・課金・権限管理の基本単位で、「環境を分けたければプロジェクトを分ける」が Google Cloud 流の第一原則です。企業利用では、その上位に会社を表す組織(organization)と、部門などでまとめるフォルダ(folder、任意)が置かれ、IAM ポリシーなどが上から下へ継承されます。一方、個人の Google アカウントで作るプロジェクトは組織に属さない「スタンドアロン」でも動きます。本書の学習はスタンドアロンで完結し、階層の設計論は第 2 章で詳しく扱います。

A. 企業利用(組織あり) 組織 example.com 継承 フォルダ(任意・入れ子可) 継承 プロジェクト team-a-dev 継承 VM・バケットなどのリソース B. 個人学習(本書の前提) 組織なし — 個人アカウントで作成 プロジェクト pca-handson 課金アカウント リンク 継承 リソース 第 2 章でフォルダ / 組織ポリシーを詳説
図 1-2 リソース階層の 2 つの姿。A ではポリシーが上位から下位へ継承される。本書は B のスタンドアロンプロジェクト pca-handson(強調)を全章の足場にする。

プロジェクトには 3 つの識別子があります。試験でも実務でも取り違えやすいので、最初に区別を固定しましょう。

識別子例性質
プロジェクト IDpca-handson-1234全世界で一意(削除済み ID の再利用も不可)。6〜30 文字の小文字・数字・ハイフンで先頭は英字。作成後は変更不可
プロジェクト名PCA ハンズオン表示用。4〜30 文字で重複可。いつでも変更可
プロジェクト番号123456789012自動採番・読み取り専用。API やログに現れる
試験の視点: PCA では「本番と開発を分離したい」「チームごとに課金を分けたい」という要件が頻出で、答えはほぼ常に「プロジェクトを分ける」です。またプロジェクト ID が不変であることは、命名規約の設計(第 2 章のリソース階層設計)で効いてきます。

課金の仕組みと「事故らない」ための予算アラート

課金アカウントとプロジェクトは別物

リソースの入れ物であるプロジェクトと、支払い方法を保持する課金アカウント(Cloud Billing account)は独立したリソースで、両者をリンクして初めて有料リソースを作れるようになります。1 つの課金アカウントに複数プロジェクトをリンクでき、利用料金は課金アカウントに集約されます。この分離は組織設計の重要パーツで、コスト配賦や請求データの分析(第 17 章)の土台になります。

無料トライアルと Always Free

Google Cloud を初めて使うアカウントは、$300 分のクレジットを 90 日間使える無料トライアルを利用できます(2026-08 時点)。登録にはクレジットカード等の支払い方法が必要ですが、トライアル中に自動で課金されることはありません。90 日経過または $300 消費のどちらか早い方でトライアルは終了し、その後 30 日間の猶予期間中にリソースは停止・削除予定としてマークされます。継続したい場合は有料アカウントへ手動でアップグレードします。トライアル中は GPU の追加や Windows Server VM の作成、割り当て増加のリクエストなどが制限される点も覚えておきましょう。

トライアルとは別に、恒常的な無料枠 Always Free があります。代表例を挙げます(いずれも 2026-08 時点)。

プロダクト無料枠(月あたり)注意点
Compute Enginee2-micro 1 台(非プリエンプティブル)us-west1 / us-central1 / us-east1 限定。東京では課金される
Cloud Storageリージョナル 5 GB + Class A 5,000 回・Class B 50,000 回US の上記 3 リージョン限定
BigQueryクエリ 1 TiB + ストレージ 10 GiBリージョン制限なし
Cloud Run200 万リクエスト + メモリ 36 万 GB 秒超過分は従量課金

予算アラート — 最初に張る保険

課金アカウントには予算(budget)を設定できます。既定では実際の支出(actual spend)が予算額の 50%・90%・100% に達した時点で、課金アカウントの管理者とユーザーへメールが送られます。しきい値は追加・変更でき、予測支出(forecasted spend)基準のルールも作れます。さらに Pub/Sub トピックへ通知を発行すれば、Slack への転送やリソースの自動停止処理などプログラムによる対応も組めます。

ここで絶対に誤解してはいけないのは、予算は支出を自動では止めないということです。公式ドキュメントも「アラートのみの予算は使用量や支出の上限にはならない」と明言しています。予算はあくまで検知の仕組みで、止める処理は Pub/Sub 通知を受けた自動化などで自分で作ります。

複数プロジェクト プロジェクト A プロジェクト B 利用料金 課金アカウント (支払い方法を保持) 実績支出を評価 予算アラート 50% / 90% / 100% 既定のしきい値 超過を通知 課金管理者へメール通知 イベント発行 Pub/Sub(プログラム連携) 予算は「通知」のみ — 支出を自動停止しない
図 1-3 課金と予算アラートのデータの流れ。予算は課金アカウント(またはプロジェクト・サービス単位のスコープ)の支出を監視して通知するだけで、止める処理は Pub/Sub の先に自分で作る。
試験の視点: 「予期しない支出を検知したい」→ 予算 + しきい値通知、「支出データを分析したい」→ 請求データの BigQuery エクスポート(第 17 章)、という対応づけが頻出です。「予算を設定すれば超過時に自動停止する」という選択肢は典型的なひっかけです。

Cloud Shell と gcloud CLI — 本書の作業環境

Cloud Shell — ブラウザだけで完結する開発環境

Cloud Shell はブラウザから使える無料のシェル環境です。コンソール右上の「Cloud Shell をアクティブにする」ボタンで起動でき、gcloud CLI・Docker・Git・Helm・Maven・npm・pip などの開発ツールが導入済みで、認証も済んだ状態から始められます。ブラウザ内 IDE の Cloud Shell エディタも付属します。実体はセッションごとにプロビジョニングされる一時的な VM で、$HOME ディレクトリだけが 5 GB の永続ディスクとして保持されます。つまり $HOME の外に置いたものはセッション終了で消えます。

ライフサイクルと制限(2026-08 時点)は図 1-4 の通りです。1 時間の無操作でセッションが終了して VM は破棄され($HOME は残る)、利用時間は既定で週 50 時間、1 セッション最長 12 時間です。120 日間アクセスしないと $HOME も削除されるため、大事な成果物はリポジトリや Cloud Storage へ退避しておきます。

起動 セッション実行中 一時 VM + $HOME 5 GB 1 時間無操作 / 12 時間上限 VM は破棄 $HOME の内容は保持 再接続で再開 120 日間アクセスなし $HOME ディレクトリも削除 利用枠: 週 50 時間(既定) 1 セッション最長 12 時間
図 1-4 Cloud Shell セッションの状態遷移。VM は使い捨てだが $HOME は永続。数値は 2026-08 時点の既定値。

gcloud CLI と構成(configuration)

Google Cloud CLI には gcloud のほか BigQuery 用の bq などが含まれます(旧世代の gsutil も同梱されますが、本書では現行の gcloud storage を使います)。ローカルマシンに導入した場合は gcloud init が認証と初期設定(アクティブなアカウント・プロジェクト・既定リージョン / ゾーン)を対話的に行います。Cloud Shell は認証済みなので、gcloud config set で既定値を入れるだけで使えます。現在の設定は次のコマンドでいつでも確認できます。

# アクティブな構成のアカウント・プロジェクト・リージョン等を表示
gcloud config list

gcloud の操作対象は「アクティブな構成(configuration)」に保存されたプロジェクトです。プロジェクトの切り替えは gcloud config set project で行い、アカウントや既定リージョンごと使い分けたい場合は構成を複数持つこともできます(gcloud init を再実行すると、アクティブな構成の再初期化・別の構成への切替・新規作成を選べます)。どのプロジェクトに向いているかを常に意識することが、誤操作防止の基本です。もう 1 つの前提が API の有効化です。Google Cloud の各サービスはプロジェクトごとに API を有効化(gcloud services enable)して初めて使えます。API を無効化してもデータは削除されず、ストレージ課金は続く点に注意してください。

PCA 試験の全体像と本書の学び方

Professional Cloud Architect(PCA)は Google Cloud 認定資格の中でも設計力を問う上位資格です。試験の基本情報(2026-08 時点)は次の通りです。

出題範囲は 6 セクションに分かれます。本書の各章はこのセクションに対応づけて構成しており、章冒頭の「試験ガイド対応」で参照できます。

セクション出題範囲比重
1クラウド ソリューション アーキテクチャの設計と計画約 24%
2ソリューション インフラストラクチャの管理とプロビジョニング約 15%
3セキュリティとコンプライアンスを考慮した設計約 18%
4技術プロセスやビジネス プロセスの分析と改善約 18%
5実装の管理約 11%
6ソリューションとオペレーションの信頼性の確保約 14%

本書の学び方はシンプルです。各章のハンズオンを必ず手で実行し、最後に必ず後片付けまで行うこと。PCA はプロダクト名の暗記ではなく「この要件ならどれを選ぶか」を問う試験なので、実際に作って壊した経験が最も効きます。各章の「試験の視点」と章末の試験形式問題で、実務の理解を試験の言い回しに変換していきます。

ハンズオン 1-1|予算アラートで課金事故の保険を張る

無料トライアルを開始し、リソースを作る前に予算アラートを設定します。所要 15 分。費用: 0 円(アカウント登録・予算の作成とも無料。トライアル中の自動課金はありません)。

  1. cloud.google.com/free から無料トライアルを開始する。Google アカウントと支払い方法(クレジットカード等)の登録、本人確認が必要です
  2. コンソールのナビゲーションメニューから「お支払い」を開き、課金アカウントが作成されていることを確認する
  3. 「予算とアラート」→「予算を作成」を選ぶ。スコープは課金アカウント全体のまま、予算額に月 1,000 円など小さめの金額を入れる
  4. しきい値ルールが既定の 50% / 90% / 100%(実績ベース)になっていることを確認して保存する

gcloud で作る場合は次の通りです(Cloud Shell のセットアップはハンズオン 1-2 で行うので、後から試しても構いません)。通貨は課金アカウントの通貨に合わせます。

# 課金アカウント ID を確認(0X0X0X-0X0X0X-0X0X0X 形式)
gcloud billing accounts list

gcloud billing budgets create \
  --billing-account=0X0X0X-0X0X0X-0X0X0X \
  --display-name="pca-learning-budget" \
  --budget-amount=1000JPY \
  --threshold-rule=percent=0.5 \
  --threshold-rule=percent=0.9 \
  --threshold-rule=percent=1.0

確認方法: 「予算とアラート」の一覧に作成した予算が表示されれば完了です。以後、しきい値に達すると課金管理者へメールが届きます。

後片付け: この予算は本書全体の保険なので削除せず残します(維持費はかかりません)。不要になったときは次で削除できます。

gcloud billing budgets list --billing-account=0X0X0X-0X0X0X-0X0X0X
gcloud billing budgets delete BUDGET_ID --billing-account=0X0X0X-0X0X0X-0X0X0X
ハンズオン 1-2|学習用プロジェクトを作り gcloud を初期化する

全章で使う足場プロジェクト pca-handson を作り、gcloud の既定値を設定します。所要 15 分。費用: 0 円(プロジェクト作成・API 有効化・Cloud Shell とも無料)。コマンドは Cloud Shell 実行を前提にします(ローカルの gcloud CLI でも同じです。その場合は先に gcloud init で認証してください)。

  1. コンソール右上のターミナルアイコン「Cloud Shell をアクティブにする」をクリックし、プロンプトが出るまで待つ
  2. プロジェクトを作成する。PROJECT_ID は全世界で一意(過去に使われた ID も不可)なので、pca-handson-yamada-0816 のように自分だけの接尾辞を付ける
gcloud projects create PROJECT_ID
  1. 課金アカウントをリンクする(これを忘れると有料リソースの作成や多くの API 有効化が失敗します)
gcloud billing accounts list
gcloud billing projects link PROJECT_ID \
  --billing-account=0X0X0X-0X0X0X-0X0X0X
  1. gcloud の既定値(プロジェクト・リージョン・ゾーン)を設定する
gcloud config set project PROJECT_ID
gcloud config set compute/region asia-northeast1
gcloud config set compute/zone asia-northeast1-b
  1. 第 4 章までに使う Compute Engine API を有効化し、設定全体を確認する
gcloud services enable compute.googleapis.com

# 有効化済み API の一覧(--enabled が既定)
gcloud services list

# アカウント・プロジェクト・リージョン / ゾーンを最終確認
gcloud config list

期待される出力: gcloud config list に project = PROJECT_ID、region = asia-northeast1、zone = asia-northeast1-b が並べば完了です。

後片付け: このプロジェクトは全章の足場なので削除しません。プロジェクト自体は空なら無料です。作り直したい場合のみ次で削除します(削除後 30 日間はソフトデリート状態で復元可能、その後完全に削除されます)。

gcloud projects delete PROJECT_ID
ハンズオン 1-3|最初のリソース — gcloud storage でバケットを作って消す

Cloud Storage バケットで「作成 → 確認 → 削除」の基本ループを一周します。所要 10 分。費用: 実質 0 円(数 KB のオブジェクトを数分保存するだけ。Cloud Storage の課金は保存量 × 時間に比例するため、この規模では 1 円未満です)。

  1. バケットを作る。バケット名も全世界で一意なので、プロジェクト ID を含めると衝突しにくい
gcloud storage buckets create gs://PROJECT_ID-first-bucket \
  --location=asia-northeast1 \
  --uniform-bucket-level-access
  1. テストファイルをアップロードし、中身を一覧する
echo "PCA study start" > hello.txt
gcloud storage cp hello.txt gs://PROJECT_ID-first-bucket/
gcloud storage ls gs://PROJECT_ID-first-bucket

# 出力例:
# gs://PROJECT_ID-first-bucket/hello.txt

コンソールの場合はナビゲーションメニューの Cloud Storage → バケットからも同じ内容を確認できます。CLI で作ったものが GUI に見えることを一度確かめておくと、以降の章でのデバッグが楽になります。

後片付け: バケットを中身ごと削除し、消えたことまで確認します。

gcloud storage rm gs://PROJECT_ID-first-bucket --recursive

# 削除の確認(バケットが存在しない旨のエラーが返れば成功)
gcloud storage ls gs://PROJECT_ID-first-bucket

つまずきポイント

Always Free を東京リージョンと勘違いする: 無料の e2-micro と Cloud Storage 5 GB は us-west1 / us-central1 / us-east1 限定です。asia-northeast1 に立てた e2-micro は普通に課金されます(とはいえ少額です。第 4 章のハンズオンで実測します)。「無料枠のはずなのに請求が来た」の典型原因です。
無料トライアル終了の見落とし: トライアルは 90 日または $300 消費で終わり、その後 30 日の猶予期間でリソースは停止・削除予定になります。学習を続けるなら有料アカウントへアップグレードした上で、ハンズオン 1-1 の予算アラートを本命の防衛線にしてください。アップグレード後は無料トライアルの保護(自動課金なし)が外れます。
Cloud Shell の $HOME 以外は消える: /tmp や /usr/local に入れたツールはセッション終了(1 時間無操作)で消えます。さらに 120 日間アクセスしないと $HOME ごと削除されます。書きかけのコードは Git リポジトリか Cloud Storage へ退避する習慣をつけましょう。
「API を無効化すれば課金が止まる」ではない: API の無効化はデータを削除せず、ストレージ課金は続きます。確実に課金を止める最終手段はプロジェクトの削除(gcloud projects delete)です。また、課金アカウント未リンクのプロジェクトでは Compute Engine など一部の API 有効化や有料リソースの作成が失敗するため、「権限はあるのに作れない」ときはリンクを疑ってください。

理解度チェック

Q1. リージョンとゾーンの関係と、高可用性設計での使い分けは?

リージョンは独立した地理的エリアで、内部に複数のゾーン(障害分離の単位)を含みます。単一ゾーン障害への耐性は複数ゾーンへの分散配置で、リージョン規模の災害対策は複数リージョンへの配置で確保します。VM はゾーン、サブネットはリージョン、VPC ネットワークやイメージはグローバルというリソーススコープも併せて押さえましょう。

Q2. プロジェクト ID・プロジェクト名・プロジェクト番号のうち、後から変更できるのはどれ?

変更できるのはプロジェクト名だけです。プロジェクト ID は作成後は変更不可で、全世界で一意(削除済み ID の再利用も不可)。プロジェクト番号は自動採番の読み取り専用です。

Q3. 予算アラートを設定すれば、予算額に達した時点で支出は止まる?

止まりません。予算は既定で実績支出の 50% / 90% / 100% で通知(課金管理者・課金ユーザーへのメール)を送るだけです。自動対応が必要なら Pub/Sub 通知を受けて自分で処理(例: 課金リンクの解除やリソース停止)を実装します。

Q4.(試験形式)開発チームに検証用プロジェクトを払い出す。予期しない支出をすばやく検知し、チャットツールにも自動通知したい。最適な方法は?
A. 課金レポートを毎週目視で確認する運用を定める B. プロジェクトをスコープにした予算を作成し、しきい値通知と Pub/Sub 連携を設定する C. Always Free 枠内に収まるよう全リソースを US リージョンに作らせる D. 予算を作成し、しきい値到達時の自動リソース停止機能を有効にする

B。予算はプロジェクト単位のスコープを設定でき、しきい値通知(メール)に加えて Pub/Sub でプログラム連携できます。A は検知が遅く自動化もできません。C は無料枠の制約でチームの要件を満たせるとは限らず、検知の仕組みにもなりません。D の「自動リソース停止機能」は予算アラートには存在しないひっかけです(アラートのみの予算は支出を止めません)。

Q5.(試験形式)東京リージョンで提供中の Web アプリを、単一ゾーンの障害でも継続させたい。コストを抑えつつ実現する構成は?
A. asia-northeast1-b に VM を 2 台並べる B. asia-northeast1 内の複数ゾーンに VM を分散配置する C. 大阪リージョンに同一構成を常時稼働で複製する D. VM を us-central1 の無料枠 e2-micro に移す

B。ゾーンは障害分離の単位なので、同一リージョン内の複数ゾーンに分散すれば単一ゾーン障害に耐えられ、追加コストも最小です。A は同一ゾーンごと落ちます。C は要件(ゾーン障害対策)に対して過剰でコストが倍増します。D はレイテンシ悪化と可用性向上の混同で、要件を満たしません。具体的な実装(インスタンスグループ)は第 4 章で扱います。

まとめと次章へ

足場は整いました。第 2 章では、今日は入口だけ触れたリソース階層を IAM と組み合わせ、「誰が・何に対して・何をできるか」という権限設計をアーキテクトの視点で組み立てます。

参考リンク: