- 移行の 4 フェーズ(評価 → 計画 → 移行 → 最適化)を説明し、Migration Center で評価フェーズを始められる
- 移行パターン(リホスト / リプラットフォーム / リファクタリング / 再購入 / 廃止など)を要件から選べる
- 運ぶ対象(VM / データベース / データ)ごとに移行ツールを選び、データ量 × 回線帯域から転送手段を計算で決められる
- RTO / RPO を定義し、コールド / ウォーム / ホットの DR パターンとコストのトレードオフを設計できる
- CUD・SUD・Spot・ライトサイジング・請求データの BigQuery エクスポートを組み合わせてコストを最適化できる
試験ガイド対応: セクション 1.4(移行計画の作成)、1.1 / 1.2(ビジネス要件・技術要件を満たす設計)、4.2(ビジネス プロセスの分析)
第 16 章まででゼロから作る設計は一通り揃いました。しかし実務のクラウド案件の多くは「すでに動いているシステムを運ぶ」ところから始まります。この章では既存システムの移行、被災時にも事業を止めない DR(ディザスタリカバリ)、そして運び終えたあとのコスト最適化を扱います。PCA 試験では、この 3 つが「6 ヶ月でデータセンターを退去したい」「RPO 15 分を最小コストで」のようなシナリオ問題として頻出します。数字(RTO / RPO・データ量・期限・予算)を設計に翻訳する練習をしましょう。
移行の進め方 — 4 フェーズと移行パターン
Google Cloud のアーキテクチャセンターは、移行を一発の引っ越しではなく 評価(Assess)→ 計画(Plan)→ 移行(Deploy)→ 最適化(Optimize)の 4 フェーズの反復として定義しています。全ワークロードを一度に運ぶのではなく、優先度をつけた「波」ごとにこのサイクルを回します。
評価フェーズを担う Migration Center
Migration Center は、オンプレミスや他クラウドから Google Cloud への移行を支援する統合プラットフォームです。評価フェーズで必要な作業がひととおり揃っています。
- 資産の検出 — discovery client を環境に置いて継続収集するか、CLI で一回限りのエクスポートを行います。AWS からの自動インポートや、RVTools データ・手動アップロードによる取り込みにも対応します。対象はサーバーに加えて SQL Server・MySQL・PostgreSQL データベースです
- コスト見積もりと TCO レポート — 現在のリソース構成から Google Cloud 移行後のコストを推定します
- 技術適合性の評価 — 検出した資産に対して、適した Google Cloud プロダクトの推奨とアプリ・ネットワークの依存関係の特定を行います
移行パターン — どこまで作り替えるか
公式ガイドは移行タイプを次の 6 つに整理しています。右へ行くほど改修コストが増える代わりに、クラウドの利点を多く得られます。
| パターン | 何をするか | 向く場面 |
|---|---|---|
| リホスト(lift & shift) | 無修正または最小限の修正でそのまま移す | 期限が近い、改修予算がない、まずクラウドに載せたい |
| リプラットフォーム | 実行基盤だけ載せ替えて最適化する(VM → コンテナ、自前 DB → マネージド DB など) | 運用負荷は下げたいがアプリ本体は変えたくない |
| リファクタリング | クラウド機能を活かすようにワークロードを改修する | 性能・機能・コストの改善を狙う |
| 再設計(re-architect) | モノリスをマイクロサービス化するなど構造から変える | スケーラビリティの根本改善 |
| 再構築(rebuild) | 既存アプリを廃棄し、クラウド最適化型として作り直す | 既存実装に価値が残っていない |
| 再購入(repurchase) | 自前運用をやめて同等機能の SaaS に乗り換える | 差別化要素でない業務システム |
評価フェーズの棚卸しでは、この 6 つに入る前にもうひとつの選択肢を必ず検討します。そもそも使われていないアプリは移行せず廃止(リタイア)することです。移行対象が 1 つ減ることが最大のコスト削減になります。
ランディングゾーン — 着地点を先に設計する
計画フェーズの主要な成果物がランディングゾーン(クラウド基盤とも呼ばれます)です。ワークロードを受け入れる前に整えておく組織共通の土台で、公式ドキュメントは次の 4 要素を必須としています。本書でここまでに学んだ内容の総集編でもあります。
- ID プロビジョニング — Cloud Identity とオンプレ ID 基盤の連携、IAM によるアクセス制御(第 2 章)
- リソース階層 — 組織 / フォルダ / プロジェクトの構造と組織ポリシー(第 2 章)
- ネットワーク — 共有 VPC、Cloud Interconnect / Cloud VPN によるハイブリッド接続、Cloud DNS(第 3 章・第 12 章)
- セキュリティ制御 — VPC Service Controls、ファイアウォール、監査ログ(第 13 章・第 14 章)
構築は手作業ではなく Terraform などの IaC + CI/CD で行うことが推奨されています(第 16 章)。Google はサンプル実装として Terraform example foundation を提供しています。
移行ツールとデータ転送 — 何をどう運ぶか
運ぶ対象ごとのツール対応表
| 運ぶもの | ツール | 要点 |
|---|---|---|
| VM | Migrate to Virtual Machines | vSphere(オンプレ)・AWS・Azure・Google Cloud VMware Engine から Compute Engine へ VM とディスクを移行する |
| データベース | Database Migration Service(DMS) | 初期スナップショット + 継続レプリケーションを管理し、最小ダウンタイムで移行。同種移行(MySQL → Cloud SQL for MySQL、PostgreSQL → Cloud SQL / AlloyDB)は追加料金なし。異種移行(Oracle / SQL Server → PostgreSQL 系)は処理 GiB 単位の課金(2026-08 時点) |
| オブジェクト / ファイル(小規模) | gcloud storage | 1 TiB 未満の目安。CLI からの直接アップロード(第 8 章) |
| オブジェクト / ファイル(大規模) | Storage Transfer Service | 1 TiB 以上を想定したマネージド並列転送。S3 / Azure Blob / オンプレ / HDFS から Cloud Storage へ |
| 回線では間に合わない量 | Transfer Appliance | 物理ストレージ装置(TA40 / TA300)にコピーして Google へ返送。オンライン転送に 1 週間以上かかる規模で検討 |
データ量 × 回線帯域の計算 — オンラインか、物理輸送か
転送手段の分かれ目は計算で決まります。転送時間 ≒ データ量 × 8 ÷ 実効帯域です。帯域を 100% 占有できたと仮定した理論値でも、次の表のようになります。
| データ量 | 100 Mbps | 1 Gbps | 10 Gbps |
|---|---|---|---|
| 1 TB | 約 1 日 | 約 2.2 時間 | 約 13 分 |
| 10 TB | 約 9 日 | 約 1 日 | 約 2.2 時間 |
| 100 TB | 約 93 日 | 約 9 日 | 約 22 時間 |
| 1 PB | 約 2.5 年 | 約 93 日 | 約 9 日 |
実際の回線は業務トラフィックと共有するため、実効速度はさらに落ちます。公式ドキュメントの例では、300 TB は 100 Mbps 回線で約 9 ヶ月かかるのに対し、Transfer Appliance なら約 25 日で取り込めます(2026-08 時点)。試験でも「数百 TB を数週間で」「拠点の回線が細い」という条件が出たら Transfer Appliance が答えです。装置内のデータは AES-256 で暗号化され、Cloud KMS の顧客管理鍵も使えます。
ソフトウェアライセンスのマッピング
VM 移行で見落としやすいのが OS・ミドルウェアのライセンスです。持ち込み方は 3 通りあります。
| 方式 | 仕組み | 使いどころ |
|---|---|---|
| ライセンス込みイメージ(従量課金) | RHEL・SLES などのプレミアムイメージを使い、ライセンス料込みで課金される。プレミアムイメージ由来のイメージは BYOL 対象外 | 既存契約に縛られない・台数が変動する |
| BYOL + License Mobility | SQL Server などの対象 Microsoft アプリは、通常の(共有テナントの)VM に既存ライセンスを持ち込める | 対象アプリのライセンス資産を活かす |
| BYOL + 単一テナントノード | 物理コア / 物理プロセッサ単位で課金されるライセンスは、専有物理サーバーである単一テナントノード(sole-tenant node)上で実行する | 物理ハードウェアに紐づくライセンス条件 |
DR 設計 — RTO・RPO とスタンバイの温度
RTO と RPO — 要件を 2 つの数字にする
DR 設計は 2 つの数字を決めるところから始まります。
- RTO(Recovery Time Objective) — サービスが停止していられる最大時間。「何分(何時間)で復旧するか」
- RPO(Recovery Point Objective) — 失ってもよいデータの最大期間。「最後のバックアップ(レプリケーション)から何分ぶんのデータ損失を許容するか」
公式の DR 計画ガイドが強調するのは、RTO / RPO を小さくするほど実装コストと運用負担が増えるというトレードオフです。RPO はデータ同期方式(同期 / 非同期 / 定期バックアップ)を、RTO はフェイルオーバー自動化の必要性を、それぞれ直接決定します。だからこそ数字はエンジニアが勝手に決めるのではなく、ビジネスインパクト分析から導きます。アーキテクチャセンターの例では、アプリを重要度で 3 層に分け、最重要層はゾーン / リージョン障害ともほぼゼロの RTO / RPO、中間層は 15 分〜1 時間、通常層は 1〜12 時間という目標を置いています。
DR パターン — コールド / ウォーム / ホット
DR パターンは公式ガイドがタイヤに例えるとおり 3 段階です。スペアタイヤを持たない(コールド)、スペアタイヤを積んでおく(ウォーム)、パンクしても走り続けられるランフラットタイヤ(ホット)。待機系が「温かい」ほど RTO / RPO は縮み、平時のコストは増えます。
Google Cloud で各パターンを組み立てる建材は、すでに各章で学んだものです。ディスクのスナップショットはグローバルリソースなので別リージョンへの復元にそのまま使えます。バックアップの保管先は Cloud Storage のストレージクラスで選び、月 1 回以下のアクセスなら Nearline、長期保管の最安は Archive です(第 8 章)。リージョン永続ディスクは 2 ゾーンに同期書き込みし、ゾーン障害に耐えます。フェイルオーバーの経路切り替えは Cloud Load Balancing のヘルスチェックや Cloud DNS の API 操作で自動化し(第 5 章)、復旧手順そのものは Terraform 等の IaC にしておきます(第 16 章)。DR 先の VM 容量を確実に確保したい場合は予約(reservation)が使えます。データベース層は Cloud SQL のリージョナル構成やクロスリージョン リードレプリカ、Spanner のマルチリージョン構成が土台になります(第 9 章)。
Backup and DR Service — バックアップを一元管理する
個別にスナップショットを仕込む代わりに、Backup and DR Service でバックアップを一元管理できます。対応ワークロードは Compute Engine の VM とディスク、Cloud SQL / AlloyDB、Google Cloud VMware Engine、VM 上の自己管理 Oracle / SQL Server、NFS / SMB ファイルシステムなどです。中核となるバックアップボールト(backup vault)は、保存したバックアップを変更も削除もできない不変ストレージで、ランサムウェア対策として保持期間を強制できます。Google Cloud コンソール経由の運用では最小 RPO 4 時間、アプライアンス管理コンソール経由では最小 RPO 15 分まで縮められます(2026-08 時点)。
DR の土台になる「バックアップが自動で取られ続ける状態」を作ります。所要 15 分。費用はディスク 10 GB とスナップショット数個を短時間だけ使うので数円未満です(Cloud Shell 実行を想定。ローカルの gcloud でも同じです)。
- バックアップ対象のディスクを作ります(VM は不要です。ディスク単体で試せます)。
PROJECT_IDはgcloud config get-value projectで確認できる自分のプロジェクト ID に読み替えてください
gcloud compute disks create dr-source-disk \
--size=10GB --type=pd-balanced \
--zone=asia-northeast1-b
- スナップショットスケジュール(リソースポリシー)を作ります。毎日 17:00 UTC(翌日 2:00 JST)に取得し、7 日で自動削除する設定です
gcloud compute resource-policies create snapshot-schedule daily-backup \
--region=asia-northeast1 \
--daily-schedule \
--start-time=17:00 \
--max-retention-days=7 \
--on-source-disk-delete=apply-retention-policy
- スケジュールをディスクに適用し、設定を確認します
gcloud compute disks add-resource-policies dr-source-disk \
--resource-policies=daily-backup \
--zone=asia-northeast1-b
gcloud compute resource-policies describe daily-backup \
--region=asia-northeast1
- スケジュール実行を待たずに動きを確かめるため、手動でスナップショットを 1 つ作ります
gcloud compute snapshots create dr-manual-snap \
--source-disk=dr-source-disk \
--source-disk-zone=asia-northeast1-b
gcloud compute snapshots list
list の出力に dr-manual-snap が READY で並べば成功です。このスナップショットは次のハンズオン 17-2 で使うので、まだ削除しないでください。
後片付け: ハンズオン 17-2 の末尾でまとめて削除します。17-2 を実施しない場合は 17-2 末尾のコマンドをここで実行してください。
スナップショットがグローバルリソースであることを利用して、東京のディスクを大阪リージョンに復元します。これがコールド DR の「復元」の実体です。所要 10 分、費用は 10 GB ディスク 1 枚の追加で数円未満です。
- ハンズオン 17-1 で作った
dr-manual-snapから、大阪(asia-northeast2)にディスクを復元します。リージョンをまたぐ指定でもそのまま通ることに注目してください
gcloud compute disks create dr-restored-disk \
--source-snapshot=dr-manual-snap \
--type=pd-balanced \
--zone=asia-northeast2-b
- 復元されたディスクを確認します
gcloud compute disks describe dr-restored-disk \
--zone=asia-northeast2-b \
--format="value(name,sizeGb,status)"
期待される出力: dr-restored-disk 10 READY。本物の DR ではこの後にブートディスクのスナップショットから VM を起動して DNS / LB を切り替えますが、流れは同じ「スナップショット → ディスク → VM」です。この一連の所要時間こそが、コールドパターンで達成できる RTO の実測値です。
後片付け: 17-1 と 17-2 で作ったリソースをすべて削除します
gcloud compute disks delete dr-restored-disk --zone=asia-northeast2-b --quiet
gcloud compute snapshots delete dr-manual-snap --quiet
gcloud compute disks remove-resource-policies dr-source-disk \
--resource-policies=daily-backup --zone=asia-northeast1-b
gcloud compute disks delete dr-source-disk --zone=asia-northeast1-b --quiet
gcloud compute resource-policies delete daily-backup \
--region=asia-northeast1 --quiet
gcloud compute disks list
gcloud compute snapshots list
最後の 2 コマンドで一覧が空(またはこの章以外のリソースのみ)になっていれば削除完了です。
コスト最適化 — 割引・ライトサイジング・可視化
クラウド移行はコストの性質を変えます。オンプレはサーバー購入という先行投資(CAPEX)と減価償却の世界、クラウドは使った分を払う運用費(OPEX)の世界です。OPEX は俊敏ですが、放置すると膨らみます。Google Cloud のコスト最適化は「割引を効かせる」「サイズを適正化する」「見える化する」の 3 本柱で考えます。
3 つの割引 — SUD・CUD・Spot
- 継続利用割引(SUD) — 請求月の 25% を超えて稼働したリソースに自動でかかる割引です。フル稼働の月で最大 30%(N1・M1・M2 など)または最大 20%(N2・N2D・C2 など)。E2 は対象外で、CUD を適用した使用分にも重複しません。申し込み不要なので「何もしなくても効いている」割引です
- 確約利用割引(CUD) — 1 年または 3 年の利用を確約する代わりに受ける割引で、2 種類あります。リソースベース CUD は特定リージョンの vCPU・メモリ・GPU・ローカル SSD などの量にコミットし、割引率は最大 55%(メモリ最適化は最大 70%)。フレキシブル CUD は支出額にコミットし、Compute Engine(主要マシンシリーズ)・GKE・Cloud Run を横断して、単一のプロジェクト・リージョン・マシン構成に縛られず適用されます。割引率はマシンシリーズやサービスで幅があり、標準的な構成は 1 年 28% / 3 年 46%、メモリ最適化(M1〜M4)は 1 年契約では割引なし・3 年で 63% です(いずれも 2026-08 時点)。どちらも使わなかった月も請求され、キャンセルできません
- Spot VM — 中断されうる代わりに大幅割引を受ける余剰キャパシティです(第 4 章)。バッチ・CI・耐障害設計済みワークロード向け
ライトサイジング — Recommender の推奨事項を適用する
割引の前にやるべきなのがサイズの適正化です。Active Assist の一機能として、Compute Engine は過去 8 日間の CPU / メモリ使用率(60 秒間隔の計測)からマシンタイプ推奨事項を自動生成します。コンソールの VM 一覧に電球アイコンで表示されるほか、Recommender API・gcloud からも取得でき、適用するとインスタンスは停止 → マシンタイプ変更 → 再起動という流れで置き換わります(MIG には別途、グループ向けの適用手順があります)。「4 vCPU で作ったが平均使用率 5%」のような VM は、推奨に従って縮めるだけで恒久的にコストが下がります。
可視化 — 予算アラートと請求データの BigQuery エクスポート
最適化は測れないと始まりません。土台は第 1 章で設定した予算アラートです。それより一歩進んだ分析にはCloud Billing データの BigQuery エクスポートを使います。種類は 4 つあります(2026-08 時点)。
- 標準の使用料金 — サービス・SKU・プロジェクト・ラベル・クレジットなどのコスト明細。まず有効化すべき基本形
- 詳細な使用料金 — 標準に加えて VM 単位などリソースレベルの明細
- 料金 — SKU ごとの単価表
- FOCUS 形式(プレビュー)— FinOps 標準仕様に正規化されたデータ
重要な性質がひとつあります。エクスポートは有効化した時点からのデータしか蓄積されません(データセットが US / EU マルチリージョンの場合に前月分まで遡って入るのが唯一の例外)。あとから 1 年前のコストを分析したくなっても取り戻せないので、プロジェクトを作ったら早めに有効化するのが定石です。リソースにラベルを付けておけば、エクスポートしたデータをチーム別・環境別に集計するコスト配賦も SQL だけでできます。
標準の使用料金エクスポートを有効化し、コスト分析クエリを流します。所要 15 分 + データ到着待ち。エクスポート自体は無料で、BigQuery の保存・クエリも学習用の量なら無料枠(2026-08 時点でストレージ 10 GiB / クエリ月 1 TiB)に収まります。請求先アカウントの管理権限が必要です(第 1 章で自分で作ったアカウントなら持っています)。
- エクスポート先の BigQuery データセットを作ります
bq --location=asia-northeast1 mk --dataset billing_export
- エクスポートの有効化はコンソールで行います(gcloud には対応コマンドがありません)。ナビゲーションメニュー →「お支払い」→「課金データのエクスポート」→「BigQuery エクスポート」で 標準の使用料金 の「設定を編集」を選び、プロジェクトと
billing_exportデータセットを指定して保存します - データは即時には現れず、数時間〜1 日程度で
gcp_billing_export_v1_XXXXXXという名前のテーブルが自動作成されて溜まり始めます。到着後、サービス別のコストを集計してみましょう(テーブル名は BigQuery コンソールで実名を確認して置き換えます)
bq query --use_legacy_sql=false '
SELECT
service.description AS service,
ROUND(SUM(cost), 2) AS total_cost,
currency
FROM `billing_export.gcp_billing_export_v1_XXXXXX`
GROUP BY service, currency
ORDER BY total_cost DESC'
期待される出力: この教材で使ってきた Compute Engine や BigQuery などのサービス別コストが降順で並びます。予算アラートが「超えたら知らせる」装置なら、こちらは「どこで使ったかを説明できる」装置です。
後片付け: このエクスポートは学習プロジェクトのコスト観察に役立つので、残しておく選択も合理的です(費用はデータ量次第ですが学習規模なら無料枠内が目安)。削除する場合は、先にコンソールの「課金データのエクスポート」で標準の使用料金を無効化してから、データセットを消します
bq rm -r -f -d billing_export
つまずきポイント
--start-time は UTC です。「業務時間外の 2:00 に取りたい」つもりで 02:00 と書くと 11:00 JST、業務ピークにスナップショットが走ります。JST から 9 時間引いた値を指定してください。理解度チェック
Q1. RTO と RPO の違いは?
RTO は「サービスが停止していられる最大時間」、RPO は「失ってもよいデータの最大期間」です。RPO がデータ同期方式(同期 / 非同期 / 定期バックアップ)を決め、RTO がフェイルオーバー自動化の必要性を決めます。どちらも小さくするほどコストが上がります。
Q2. Database Migration Service の料金は、同種移行と異種移行でどう違う?
同種移行(MySQL → Cloud SQL for MySQL、PostgreSQL → Cloud SQL / AlloyDB for PostgreSQL)は追加料金なしで使えます。異種移行(Oracle / SQL Server → PostgreSQL 系)は処理したデータ量(GiB)ベースの課金です(2026-08 時点)。
Q3. 継続利用割引(SUD)と確約利用割引(CUD)の本質的な違いは?
SUD は申し込み不要で、請求月の 25% を超えた稼働に自動適用される割引です(対象は N1 / N2 / C2 などの一部シリーズ。E2 は対象外)。CUD は 1〜3 年の利用を事前にコミットして受ける割引で、割引率は大きい代わりに、使わなくても請求されキャンセルもできません。
Q4.(試験形式)データセンターの賃貸契約が 6 ヶ月後に終了する。vSphere 上の 200 台の VM で動く業務システムを、アプリ改修なしで期限内に Google Cloud へ移したい。最適なアプローチは?
A. 全アプリを Cloud Run 向けにリファクタリングする B. Migrate to Virtual Machines で Compute Engine へリホストする C. Database Migration Service で全 VM を移行する D. Transfer Appliance に VM をコピーして郵送する
B。「期限が近い・改修なし」はリホストのシグナルで、vSphere からの VM 移行は Migrate to Virtual Machines の主用途です。A は 200 台の改修が 6 ヶ月では非現実的でそもそも要件(改修なし)に反します。C は VM ではなくデータベース専用のツールです。D は Cloud Storage へのバルクデータ搬入手段で、稼働中の VM を Compute Engine インスタンスとして移行する仕組みではありません。
Q5.(試験形式)基幹 EC サイトの DR 要件は RPO 15 分・RTO 1 時間。コストは要件を満たす範囲で最小にしたい。どの構成を選ぶ?
A. マルチリージョンのアクティブ / アクティブ構成で常時両系稼働 B. 日次スナップショットのみを別リージョンに保管 C. DR リージョンに最小構成のスタンバイを置き、データを非同期レプリケーションする D. バックアップと Terraform だけ用意し、被災後にゼロから再構築する
C。非同期レプリケーションで RPO 15 分を、最小構成スタンバイのスケールアウトで RTO 1 時間を満たすウォームパターンが、要件を満たす最も安い構成です。A は要件を満たしますがオーバースペックでコスト最小に反します。B は RPO が最大 24 時間になり未達です。D のコールド再構築は RTO 1 時間に収まらないリスクが高い構成です。
まとめと次章へ
- 移行は評価 → 計画 → 移行 → 最適化の反復。評価は Migration Center、計画の成果物はランディングゾーン(ID・リソース階層・ネットワーク・セキュリティの 4 要素)
- 移行パターンは「どこまで作り替えるか」の選択。期限と予算が厳しければリホスト、使っていないものは廃止が最速のコスト削減
- 運ぶ対象でツールが決まる: VM は Migrate to Virtual Machines、DB は Database Migration Service、データは量と帯域の計算で gcloud storage / Storage Transfer Service / Transfer Appliance を選ぶ
- DR は RTO / RPO から逆算し、要件を満たす最も冷たい(安い)パターンを選ぶ。バックアップボールトは変更・削除不可でランサムウェア対策になる
- コストは「割引(SUD 自動 / CUD 確約 / Spot)」「ライトサイジング(8 日間のメトリクスからの推奨事項)」「可視化(予算アラート + BigQuery エクスポート)」の 3 本柱。CUD はキャンセル不可、エクスポートは遡及なし
次の第 18 章はいよいよ総仕上げです。本章までに学んだ道具立てを、PCA 試験の公式ケーススタディ 4 本(EHR Healthcare / Helicopter Racing League / Mountkirk Games / TerramEarth)に当てはめ、要件をアーキテクチャへ翻訳する練習と試験本番のテクニックを扱います。
参考リンク: