プロジェクト概要
東京都内に本社を置くIT系スタートアップ企業様。BtoB向けの業務効率化SaaSプロダクトをAWSで運用していましたが、機械学習・データ分析機能の強化を目的に、GCPへの移行を決断されました。
AWS ECSで動くマイクロサービス群、RDS(PostgreSQL)のデータベース、S3の大量ファイルストレージを、それぞれGKE・Cloud SQL・Cloud Storageへ移行。さらにBigQueryとVertex AIを活用してML基盤を一新し、データ活用の幅を大きく広げることに成功しました。
テクノスフィアはインフラ設計・移行実装の全工程をワンストップで担当。本番サービスへの影響ゼロで6ヶ月での移行を実現しました。
課題と解決アプローチ
- AWSのML系サービス(SageMaker)のコストが高く拡張に限界
- ECSのクラスター管理が複雑でデプロイに時間がかかる
- BigQuery相当の大規模データ分析基盤がない
- S3のデータ転送コストが毎月高額に
- 本番稼働中のSaaSのため無停止での移行が必須
- ECS → GKE(Autopilot)でKubernetes移行・CI/CD刷新
- RDS(PostgreSQL) → Cloud SQL(Postgres)にデータ移行
- S3 → Cloud Storageへオブジェクトストレージ移行
- BigQuery導入でデータウェアハウスを一元化
- Vertex AIでML基盤を構築・SageMakerからモデル移植
移行前後のアーキテクチャ比較
AWS RDS PostgreSQL 13(Multi-AZ)
Amazon S3 × 4バケット(計 12TB)
AWS SageMaker:MLモデル学習・推論
Amazon Redshift:データウェアハウス
AWS CodePipeline / CodeBuild:CI/CD
CloudWatch:監視・ログ収集
Route53 / ALB:DNS・ロードバランサ
Cloud SQL PostgreSQL 15(HA構成)
Cloud Storage × 4バケット(計 12TB)
Vertex AI:MLモデル学習・推論
BigQuery:データウェアハウス(列指向)
Cloud Build / Artifact Registry:CI/CD
Cloud Monitoring / Cloud Logging:監視
Cloud DNS / Cloud Load Balancing:DNS・LB
移行の進め方(6段階アプローチ)
Phase 1:調査・設計(月1)
既存AWSアーキテクチャのインベントリ調査、依存関係マッピング、GCPへの対応サービスの選定。移行コスト試算とROI分析も実施。
Phase 2:GCP基盤構築(月1〜2)
Terraform によるGCPインフラのコード化(Infrastructure as Code)。VPC・サブネット・IAM・GKEクラスター・Cloud SQL・Cloud Storageを構築。
Phase 3:コンテナ移行(月2〜3)
ECS TaskDefinitionからKubernetes Manifestへの変換。Helmチャートで各マイクロサービスをGKEにデプロイ。Cloud Build でCI/CDパイプラインを再構築。
Phase 4:データ移行(月3〜4)
RDS → Cloud SQL:pg_dumpベースの移行+Database Migration Service(DMS相当)での差分同期。S3 → Cloud Storage:Storage Transfer Serviceで12TBを並列転送(5日間)。
Phase 5:ML基盤移行(月4〜5)
SageMakerのモデルをONNX形式でエクスポートし、Vertex AIにインポート。BigQueryへRedshiftのデータを移行し、分析クエリを書き換え。
Phase 6:切り替え・並行稼働(月5〜6)
AWS・GCP並行稼働期間を2週間設け、全APIの応答を比較検証。DNS切り替えはTraffic Splittingで10%→50%→100%と段階移行し障害リスクをゼロに。
移行結果・成果
(Vertex AI vs SageMaker)
(月8回→月25回)
(BigQuery列指向)
(切り替え時)
クラウド間移行(AWS → GCP)のポイント
- サービスの対応表を先に整理:ECS/Fargate→GKE、SageMaker→Vertex AI、Redshift→BigQueryなど、移行前に対応サービスを確定させることで設計のブレをなくします。
- Terraformでインフラをコード化:AWSとGCPのTerraformプロバイダーは異なりますが、ステート管理のノウハウは共通です。Infrastructure as Codeで再現性を担保。
- データ転送コストに注意:AWS→GCPへの大量データ転送はEgress課金が発生します。Storage Transfer Serviceを活用し、転送中のコストを最小化。
- BigQueryの列指向の活用:RDBの行指向からBigQueryの列指向に変わることで、集計クエリが劇的に速くなります。データモデルの見直しも並行して実施。