設計の判断

移行の計画

移行は、Migration Center で今あるものを棚卸しし、ワークロードごとに移行の型を決め、移すものの種類で道具を選ぶ順に進めます。

移行の問題で問われるのは、何をどの順番で決めるかです。最初に Migration Center で現状のサーバーとデータベースと依存関係を洗い出し、ワークロードごとに rehost や replatform などの型を決めます。道具は移すものの種類でほぼ決まります。

移行は 4 つのフェーズで進む

評価棚卸し・TCO計画基盤・移す順番デプロイ移行の道具最適化費用・性能最初はここ
「まず何をするか」と問われたら、答えはたいてい評価のフェーズの作業です。

4 つのフェーズは Google Cloud の移行ガイドの分け方です。評価では棚卸し、依存関係、総保有コスト (TCO)、性能の基準値を取ります。計画では ID 管理、組織とプロジェクト、ネットワークを用意します。中身は リソース階層と請求 と IAM の基本 で学んだとおりです。棚卸しをせずに VM を移し始める選択肢は、順序が逆なので外します。

Migration Center は、オンプレミスの環境をスキャンしてサーバーと SQL Server、MySQL、PostgreSQL のデータベースの一覧を作ります。集めたデータから TCO のレポート、アプリ間とネットワークの依存関係、資産ごとの移行先と費用の見込みを出します。「移行の費用対効果を経営層に示したい」「どのサーバーから移すか判断したい」とあれば Migration Center が答えです。

移行の型はワークロードごとに選ぶ

型何を変えるか選ぶ条件
Rehost (lift and shift)ほぼ何も変えない。VM をそのまま Compute Engine へ期限が厳しい。アプリに手を入れる人がいない
Replatform (lift and optimize)動く場所を変える。コンテナにして GKE へ、DB を Cloud SQL へコードはあまり変えずに運用の手間を減らしたい
Refactor (move and improve)クラウドの機能を使うようにコードを直す性能、費用、機能を移行と同時に改善したい
Re-architect作りを変える。モノリスをマイクロサービスに分ける今の構造が規模の拡大に耐えない
Rebuild (remove and replace)捨てて作り直す直すより書き直すほうが安い
RepurchaseSaaS に置き換える。メールを Google Workspace に自社で持つ理由がない業務用のソフト

迷ったら rehost で移し、最適化のフェーズで直します。移行と改修を同時に行うと、障害の原因を切り分けられません。ただし「移行と同時に運用の負荷を減らす」とあれば replatform を選びます。作る、買う、改修する、廃止するの判断は 要件からアーキテクチャを組む でも扱っています。

試す移行の型を当てる

カード (0/7 枚に回答)

基幹系の VM 200 台

データセンターの契約が 3 か月後に切れる。アプリを直せる人がいない。

移行の型

型を 1 つ選ぶと答え合わせをします

1 つのシステムでも、ワークロードごとに型を選びます。カードの状況から、何を変えるかを読み取ってください。

移すものの種類で道具が決まる

VMMigrate to Virtual MachinesデータベースDatabase Migration ServiceファイルStorage Transfer Service帯域ありTransfer Appliance帯域なしDWHBigQuery Migration Service
道具は移すもので決まります。迷うのはファイルだけで、回線で期限までに送り切れるかで分かれます。

Migrate to Virtual Machines は vSphere、AWS、Azure、Google Cloud VMware Engine の VM を Compute Engine へ移します。Database Migration Service は MySQL、PostgreSQL、SQL Server を Cloud SQL や AlloyDB へ移し、初回のコピーのあと変更を継続的に複製します。「停止時間を最小に」とあればこの継続的な移行を選びます。ダンプと読み込みでは、停止時間がデータ量に比例して延びます。Oracle や SQL Server から PostgreSQL 系へエンジンを変える移行も同じサービスで、変換ワークスペースでスキーマを変換します。

Storage Transfer Service は Amazon S3、Azure Blob Storage、Cloud Storage などからの転送と、エージェントを置いたオンプレミスからの転送を扱います。大規模データの転送ガイドによると、100 TB を送るのに 1 Gbps で 10 日以上、100 Mbps で 100 日以上かかります。期限までに送り切れず増速も間に合わなければ Transfer Appliance を選びます。提供される国が限られる点に注意します。

依存関係とネットワークを先に計画する

頻繁に通信するアプリとデータベースを別々に移すと、通信が遅くなったり切れたりします。依存関係から、一緒に移すまとまり (ムーブグループ) を決めます。

移行中のオンプレミスとの接続には Cloud VPN か Cloud Interconnect を使います (オンプレミス・マルチクラウドとの接続)。VPC のサブネットの範囲は、オンプレミスと重ならないよう計画のフェーズで決めます。重なるとあとからルーティングできません。移す前には評価で取った性能の基準値を満たすかを試験し、元へ戻す手順 (ロールバック) も決めておきます。

ライセンスで費用が変わる

Compute Engine の Windows Server などのプレミアム イメージは、ライセンスの料金が VM の料金に含まれます。物理コア数や物理プロセッサ数で数えるライセンスを持ち込む (BYOL) なら、物理サーバーをほかの顧客と共有しない単一テナントノードを使います。メンテナンス時の動作を restart-in-place か migrate-within-node-group にすると、VM がノードグループの外へ移らず、数える物理サーバーが増えません。

RHEL や SLES の BYOS、SharePoint Server や SQL Server などは単一テナントノードなしで持ち込めます (Microsoft のアプリは License Mobility の条件によります)。

試してみる

Storage Transfer Service でバケット間を転送します。他クラウドからでも、転送元の指定が変わるだけです。

PROJECT_ID=$(gcloud config get-value project)
SRC=gs://${PROJECT_ID}-dojo-src
DST=gs://${PROJECT_ID}-dojo-dst

gcloud services enable storagetransfer.googleapis.com
gcloud storage buckets create $SRC $DST --location=asia-northeast1

# 転送元にファイルを置く
for i in 1 2 3; do echo "file $i" > /tmp/dojo-$i.txt; done
gcloud storage cp /tmp/dojo-*.txt $SRC/

# Storage Transfer Service のサービス エージェントに必要な権限を付ける
gcloud transfer authorize --add-missing

# 転送ジョブを作る。スケジュールを付けなければ、作成と同時に 1 回実行される
gcloud transfer jobs create $SRC $DST --name=transferJobs/dojo-copy
gcloud transfer operations list --job-names=transferJobs/dojo-copy
gcloud storage ls $DST

移行期間中に転送元への書き込みが続くなら、スケジュールで差分を送り続け、切り替えの直前に最後の 1 回を実行します。

後片付けをします。

gcloud transfer jobs delete transferJobs/dojo-copy
gcloud storage rm --recursive $SRC $DST
rm /tmp/dojo-*.txt

試験で問われる判断

以下は、このカリキュラムで作った例です。

「データセンターの契約が 3 か月後に切れる。数百台の VMware の VM を、アプリに手を入れずに移したい」。rehost で、Migrate to Virtual Machines を使います。VMware のまま運用を続けたいなら Google Cloud VMware Engine も候補です。

「Oracle のライセンス費用をなくすため PostgreSQL 系へ移す。停止時間は最小に」。Database Migration Service の異種移行で AlloyDB か Cloud SQL for PostgreSQL へ移します。

「拠点に 500 TB のデータがあり、回線は 100 Mbps。2 か月以内に移したい」。回線では 100 日を大きく超えるので Transfer Appliance です。

「移行の対象と優先順位をまだ決めていない。経営層に費用の見込みを示したい」。最初の作業は Migration Center での棚卸しと TCO のレポートです。

次のページでは、移したあとのシステムの費用を下げる方法を扱います。

理解度チェック

答えを開く前に、自分で考えてください。結果はこのブラウザにだけ残り、間違えた問題は復習のページでまとめて解き直せます。

思い出す

移行の問題で「まず何をするか」と問われたら、何と答えますか。その作業を最初にする理由も答えてください。

状況で選ぶ

オンプレミスの MySQL (2 TB) を Cloud SQL for MySQL へ移します。注文を受け付けるシステムのデータベースなので、切り替えの停止は 30 分以内にしたいと言われています。アプリのコードは変えません。どう移しますか。

説明する

移行の型で迷ったときに、まず rehost で移すのが基本とされるのはなぜですか。replatform を選ぶのはどんな要件のときかも含めて説明してください。