- 1 なぜ Migration & Transfer Vol2 か — 移行4層アーキテクチャ概観
- 2 AWS Application Migration Service (MGN) 本番運用 — エージェント配置 / Wave設計 / カットオーバー / ロールバック戦略
- 3 AWS Snow Family 本番運用 — Snowball Edge / Snowcone / 物理輸送ライフサイクル
- 4 AWS Storage Gateway 本番運用 — File / Volume Cached・Stored / Tape 3種統合
- 4.1 Storage Gateway の位置づけと全体像
- 4.2 File Gateway — SMB/NFS → S3 のオンプレファイル共有拡張
- 4.3 Volume Gateway Cached モード — ホットデータはローカル / コールドデータは S3
- 4.4 Volume Gateway Stored モード — オンプレ保持 + S3 スナップショット DR
- 4.5 Tape Gateway — iSCSI VTL で既存バックアップソフトとの互換性
- 4.6 キャッシュサイジング設計
- 4.7 SMB/NFS 認証設計 (File Gateway)
- 4.8 Storage Gateway 監視設計
- 4.9 Storage Gateway 本番運用 キーポイント一覧
- 5 AWS Mainframe Modernization 本番運用 — リファクタ vs リプラットフォーム / Micro Focus / AWS Blu Age
- 6 詰まりポイント7選 + アンチパターン → 正解パターン変換
- 7 Vol1 × Vol2 統合移行アーキテクチャ + 選定フローチャート
- 8 まとめ — Migration & Transfer 二部作完成 + 全軸クロスリンク + 65記事化告知
なぜ Migration & Transfer Vol2 か — 移行4層アーキテクチャ概観
Vol1(データ移行・転送基盤) — 移す・変換する・同期する(DMS/SCT/Migration Hub/Transfer Family/DataSync)
→ Migration & Transfer本番運用 Vol1 を読む
Vol2(サーバ移行・物理輸送・ハイブリッドストレージ・MF近代化・本記事) — 動かす・運ぶ・橋渡しする・刷新する
| 章 | テーマ | 主な施策 |
|—-|——–|———|
| §2 | AWS Application Migration Service (MGN) 本番運用 | エージェント配置・Wave設計・カットオーバー・ロールバック |
| §3 | AWS Snow Family 本番運用 | Snowball Edge / Snowcone / 物理輸送ライフサイクル / クラスタ運用 |
| §4 | AWS Storage Gateway 本番運用 | File / Volume Cached・Stored / Tape 3種 + キャッシュサイジング |
| §5 | AWS Mainframe Modernization 本番運用 | リファクタ vs リプラットフォーム / Micro Focus / AWS Blu Age |
| §6 | 詰まりポイント7選 + 演習 | 頻出パターンの解決策 + アンチパターン変換5問 |
| §7 | Vol1×Vol2 統合移行アーキテクチャ + 選定フローチャート | データ+サーバ統合設計 |

Migration & Transfer を設計・運用するとき、「データを移す仕事」と「サーバ・物理資産を動かす仕事」は性質が根本的に異なる。前者はネットワーク越しの継続的なデータ転送が中心であり、後者は物理デバイスの輸送・エージェントによるブロックレベルレプリケーション・メインフレームのコード変換が中心となる。AWS はこの二軸を9つのサービスでカバーしており、二部作として整理すると全体像が見えやすくなる。
| 部作 | 主題 | 対象サービス |
|---|---|---|
| Vol1(データ転送・継続的同期) | DBスキーマ変換・継続的データ同期・SFTP管理 | DMS / SCT / Migration Hub / Transfer Family / DataSync |
| Vol2(本記事) | サーバ移行・物理輸送・ハイブリッドストレージ・MF近代化 | MGN / Snow Family / Storage Gateway / Mainframe Modernization |
Vol1 でデータ転送基盤を構築し、本 Vol2 でサーバ本体・物理ストレージ・レガシーシステムを AWS へ移行することで、Migration & Transfer 二部作が完成する。
Migration & Transfer 統合4層アーキテクチャ概観(Mermaid01)
flowchart TD
subgraph VOL1["Migration and Transfer Vol1 — データ移行軸"]
DMS["DMS(DB継続レプリケーション)"]
SCT["SCT(スキーマ変換)"]
HUB["Migration Hub(進捗統合管理)"]
TF["Transfer Family(SFTP/FTPS/FTP管理)"]
DS["DataSync(S3/EFS高速転送)"]
end
subgraph L1["Layer 1: サーバ移行(エージェント型)— Vol2"]
MGN_SVC["AWS Application Migration Service (MGN)<br/>エージェント配置 / Wave設計 / カットオーバー / ロールバック"]
end
subgraph L2["Layer 2: 物理輸送・エッジ — Vol2"]
SNOW["AWS Snow Family<br/>Snowball Edge / Snowcone<br/>物理輸送ライフサイクル / クラスタ運用"]
end
subgraph L3["Layer 3: ハイブリッドストレージ統合 — Vol2"]
SG_SVC["AWS Storage Gateway<br/>File / Volume Cached+Stored / Tape<br/>キャッシュサイジング / SMB・NFS認証"]
end
subgraph L4["Layer 4: メインフレーム近代化 — Vol2"]
MF_SVC["AWS Mainframe Modernization<br/>Micro Focus / AWS Blu Age<br/>リファクタ / リプラットフォーム / Wave Group"]
end
VOL1 -->|"データ転送基盤確立後"| L1
L1 -->|"サーバ移行完了後"| L2
L2 -->|"物理データ取込完了後"| L3
L3 -->|"ハイブリッド統合完了後"| L4
L4 -->|"近代化完了"| AWS_NATIVE["AWS ネイティブ運用(フルクラウド移行達成)"]
上記 Mermaid01 は Migration & Transfer 二部作の統合4層アーキテクチャを示す。Vol1 がデータの流れを制御し、Vol2 がサーバ・物理資産・レガシーシステムの移行を担う。二部作を組み合わせることで、AWS への移行プロジェクトにおけるデータとインフラ両軸の設計が完成する。
Vol1 との役割分担
Vol1 と本記事 Vol2 は同一の Migration & Transfer サービス群を扱うが、主題が明確に異なる。
| 観点 | Vol1(データ転送・継続的同期) | Vol2(本記事:サーバ移行・物理輸送) |
|---|---|---|
| 主役サービス | DMS / SCT / Migration Hub / Transfer Family / DataSync | MGN / Snow Family / Storage Gateway / Mainframe Modernization |
| 移行単位 | テーブル・ファイル・オブジェクト(データ単位) | サーバ・物理デバイス・レガシーシステム(インフラ単位) |
| 代表的な運用場面 | DB継続レプリケーション / SFTP管理 / S3高速転送 | Wave設計 / 物理輸送ライフサイクル / Storage Gateway キャッシュサイジング |
| 役割分担 | データ転送で先行して DB/ファイルを AWS へ移行 | DB移行後にサーバ本体・物理ストレージを移行・近代化 |
| 推奨実施順 | Phase 1(先行) | Phase 2(サーバ移行・近代化) |
Vol1 を先に読んで「データを送る基盤」を習得し、本 Vol2 で「サーバ本体とレガシーシステムを動かす設計」を完成させるのが理想的な学習順序である。
本記事で獲得できる設計力
本記事 Vol2 を通じて以下の設計力を習得できる。
- (a) MGN でエージェント配置・Wave設計・launch template・カットオーバー手順・ロールバック戦略を確立する設計力
- (b) Snow Family で Snowball Edge/Snowcone 選定・物理輸送ライフサイクル・物理セキュリティ・クラスタ運用を構築する設計力
- (c) Storage Gateway で File/Volume Cached・Stored/Tape 3種運用・キャッシュサイジング・SMB/NFS認証を設計する設計力
- (d) Mainframe Modernization でリファクタ vs リプラットフォーム判断・Micro Focus/AWS Blu Age 活用・Wave Group設計を実装する設計力
- (e) 詰まり7選+アンチパターン演習5問でサーバ移行・物理輸送の設計力を実践で体得する経験
- (f) Vol1×Vol2 統合移行アーキテクチャ+選定フローチャートでデータとサーバの両軸を統合設計できる総合設計力
旧 Migration 本番運用 Vol1 との位置関係
本シリーズには既に「Migration 本番運用 Vol1(Re-host/Re-platform 概観)」が存在する。あちらは 6Rs(Re-host・Re-platform・Re-factor・Re-purchase・Re-retire・Retain)の判断基準と Lift & Shift の概要を扱う入門編である。本記事はその深堀り編として位置づけられており、MGN の具体的な Wave 設計フローや Snow Family の物理輸送ライフサイクルなど、本番環境で即日実践できる粒度まで掘り下げる。旧 Vol1 がサービス選定の「なぜ」を教えるなら、本 Vol2 はサービス運用の「どう」を教える記事として役割が完結する。
移行プロジェクトにおける Vol2 4サービスの活用場面
Vol2 の4サービスは、移行プロジェクトのフェーズと移行対象の種類によって使い分ける。以下に典型的な活用場面を整理する。
| 移行対象 | 推奨サービス | 活用フェーズ |
|---|---|---|
| 汎用 Linux / Windows サーバ | MGN | メインの移行フェーズ(Wave 設計・カットオーバー) |
| 大容量データ(ネット転送が困難な場合) | Snow Family | データ取込フェーズ(物理輸送) |
| オンプレファイルサーバ・テープバックアップ | Storage Gateway | 移行中〜移行後の並行運用フェーズ |
| COBOL/JCL メインフレームシステム | Mainframe Modernization | 長期近代化フェーズ(1〜3年スパン) |
MGN × Snow Family の組み合わせ
ネットワーク帯域が細い拠点では、まず Snow Family でデータ(DB ダンプ・大容量ファイル)を AWS へ物理輸送し、MGN でサーバ移行を並行して進める。Snow Family の物理輸送はディスク全量のコピーに特化し、MGN は差分レプリケーションで最終的なカットオーバーをカバーするという役割分担が成立する。
Storage Gateway による移行中のブリッジ
MGN でサーバを移行した後も、オンプレ側に残るファイルサーバやバックアップ系のサーバは Storage Gateway でハイブリッド接続を維持することで、段階的な移行を実現できる。Storage Gateway を「橋渡し」として使い、オンプレアクセスを維持しながら徐々にクラウドネイティブな構成へ移行する設計が有効である。
Mainframe Modernization の位置づけ
メインフレームシステムは MGN では移行できない(エージェントをインストールできない専用 OS のため)。Mainframe Modernization は独立したサービスとして、COBOL/JCL プログラムを解析・変換し、Linux/Java/Angular ベースのアプリケーションとして AWS 上で動作させる。このため、メインフレームを持つ企業の移行プロジェクトでは MGN(汎用サーバ)+ Mainframe Modernization(メインフレーム)の2トラック並行進行が典型的なパターンとなる。
第26軸目 二部作完成 / 64→65記事化達成
本記事の公開により、Migration & Transfer 軸が Vol1(データ転送)× Vol2(サーバ移行)として完結し、第26軸目の二部作が完成する。これによりシリーズ全体の記事数は 64 → 65記事 へと更新される。Migration & Transfer という広大なサービス群を二部作で完全カバーすることで、AWS への移行プロジェクト設計力を体系的に習得できる形が整った。次の §2 以降で MGN・Snow Family・Storage Gateway・Mainframe Modernization それぞれの本番運用設計を詳述する。
AWS Application Migration Service (MGN) 本番運用 — エージェント配置 / Wave設計 / カットオーバー / ロールバック戦略
AWS Application Migration Service(MGN)は、オンプレミスや他クラウドのサーバをブロックレベルで AWS へ継続レプリケーションし、Test Launch・Production Launch によるカットオーバーを実現するサービスである。エージェントベースの仕組みを採用しており、OS レベルで動作することから Windows・Linux を問わず広範なソースサーバに対応する。
§1 の fig01(本§より前に掲載)は MGN の Wave 設計とカットオーバーフロー全体を示す。以下、各フェーズを順番に詳述する。
MGNエージェント配置設計
対応 OS・要件
MGN エージェント(AWS Replication Agent)は以下の環境でサポートされる。
| 項目 | Linux | Windows |
|---|---|---|
| 対応 OS | RHEL 6.x+、CentOS 6.x+、Ubuntu 14.04+、Amazon Linux 2 など | Windows Server 2003 SP2 以降 |
| カーネル要件 | 2.6.32 以降(一部制限あり) | N/A |
| Python | Python 3.6+(インストーラが自動確認) | 付属インストーラで自動設定 |
| ディスク空き容量 | /tmp に 500 MB 以上 | C: ドライブに 500 MB 以上 |
| RAM | 1 GB 以上(エージェント自体の要求) | 同左 |
ネットワーク疎通要件
エージェントは AWS レプリケーションエンドポイントへの HTTPS アウトバウンド接続を必要とする。
| 接続先 | ポート | 用途 |
|---|---|---|
mgn.<region>.amazonaws.com | TCP 443 | MGN API エンドポイント |
| Replication Server のプライベート IP | TCP 1500 | ブロックデータ転送(TLS 暗号化) |
s3.<region>.amazonaws.com | TCP 443 | エージェント初期化時の設定取得 |
ダイレクトインターネット接続が不可の環境では、VPC インターフェースエンドポイント(PrivateLink)を使用することでトラフィックを AWS ネットワーク内に留めることができる。エンドポイントは com.amazonaws.<region>.mgn および com.amazonaws.<region>.s3 を作成する。
Replication Server Subnet の選定
Staging Area(レプリケーション先)を配置するサブネットはプライベートサブネットを推奨する。ソースサーバのエージェントは TCP 1500 で Replication Server へ接続するため、サブネット間のルーティングとセキュリティグループ設定が必要となる。
Source Server(オンプレミス)
→ TCP 1500 / TLS → Replication Server(Staging Area Subnet、プライベート)
→ EBS(暗号化レプリカボリューム)
→ Conversion Server(カットオーバー時のみ起動)
→ Target EC2(本番 Subnet)
レプリケーション設計
Staging Area と Replication Server
Staging Area は S3 + EBS でレプリカデータを保持する中間領域である。常時稼働するのは Replication Server(t3.small 相当)のみであり、コストは比較的低く抑えられる。
| 設計項目 | 推奨値 | 根拠 |
|---|---|---|
| Staging Area Subnet | プライベートサブネット | レプリケーションデータの外部露出防止 |
| Replication Server インスタンスタイプ | t3.small(デフォルト) | 1 Gbps 程度の帯域では十分。並列台数が多い場合は t3.medium へ変更 |
| EBS ボリュームタイプ | gp3 | コストと IOPs のバランス。ソースの IOPs プロファイルに応じて調整 |
| EBS 暗号化 | 有効化必須(KMS カスタマーキー推奨) | 転送中・保存中の両方でデータを保護 |
帯域制御(スロットリング)
MGN はレプリケーション帯域をスロットリングする機能を持つ。業務時間帯の帯域圧迫を防ぐために、スロットリングポリシーを設定する。
{
"bandwidthThrottling": 100,
"comment": "Unit: Mbps. 業務時間帯(9:00-19:00 JST)は 100 Mbps に制限"
}
初期同期フェーズ(Initial Sync)は全ディスクデータを転送するため最も帯域を消費する。Initial Sync 完了後は差分レプリケーション(Continuous Replication)に移行し、帯域消費量は大幅に減少する。MGN コンソールで「Healthy」ステータスに遷移したことを確認してから Test Launch へ進む。
EBS 暗号化設計
レプリケーション先の EBS ボリュームには KMS カスタマーキー(Customer Managed Key)を使用することを推奨する。デフォルトの AWS マネージドキーでも暗号化は有効だが、カスタマーキーを使用することでキーのローテーション制御・監査ログの詳細化が可能になる。
KMS Key Policy 最小権限例:
Principal: MGN Service Role(AWSApplicationMigrationServiceRole)
Action: kms:GenerateDataKey, kms:Decrypt, kms:CreateGrant
Resource: arn:aws:kms:<region>:<account-id>:key/<key-id>
Wave設計
MGN では、移行対象のサーバ群を「Wave」単位に分割して順次カットオーバーを進める。Wave 設計の品質がプロジェクト成否を大きく左右する。
Wave 単位の分割粒度
| 分割原則 | 説明 |
|---|---|
| 業務サブシステム単位 | フロント→AP→DB のように依存関係のある一連のサーバを同一 Wave に収める |
| 依存関係の方向性 | 呼び出し元が呼び出し先 Wave より後になるよう配置(DB Wave → AP Wave → Web Wave) |
| Wave あたりのサーバ数 | 5〜15 台を目安(多すぎるとカットオーバー時の確認が煩雑・リスク増) |
| 独立性の確保 | 他 Wave との API/DB 接続を最小化し、カットオーバー影響範囲を局所化する |
| テスト容易性 | Test Launch で全機能を単独で検証できる範囲に収める |
Wave 依存関係グラフの作成
Wave を設計する際は、まず依存関係グラフ(DAG)を作成する。グラフのノードはサーバ(またはサービス)、エッジは「Aが動作するにはBが必要」の依存関係を表す。依存関係グラフが完成したら、トポロジカルソートで Wave 順序を決定する。
依存関係の例:
[DB サーバ] ← [AP サーバ] ← [Web サーバ] ← [CDN/ロードバランサ]
Wave 順序:
Wave 1: DB サーバ(依存なし・最優先)
Wave 2: AP サーバ(DB 移行後に着手)
Wave 3: Web サーバ(AP 移行後に着手)
Wave Group の活用
MGN の Wave Group 機能を使うと、複数の Wave をまとめて管理しカットオーバースケジュールを一元化できる。大規模移行では Wave Group を「フェーズ1(非重要系)・フェーズ2(基幹系)・フェーズ3(決済系)」のように段階的に設計する。
Wave Group A(フェーズ1: 非重要系)
└─ Wave 1: 開発/検証サーバ群(5台)
└─ Wave 2: 静的コンテンツ配信サーバ(3台)
Wave Group B(フェーズ2: 基幹系)
└─ Wave 3: DB サーバ(2台)
└─ Wave 4: AP サーバ(8台)
└─ Wave 5: Web サーバ(10台)
Wave Group C(フェーズ3: 決済・認証系)
└─ Wave 6: 決済 AP サーバ(4台)
└─ Wave 7: 認証サーバ(3台)
並列度の制御
同一 Wave 内のサーバを並列カットオーバーする場合、Replication Server の帯域と Final Sync のタイムアウト設定を考慮する。並列台数が多いと Final Sync 時間が延びリスクが増すため、1 Wave あたりの並列カットオーバーは 10〜20 台以内を推奨する。Final Sync の推定所要時間は「最終24時間の変更量(GB)÷ 実効帯域(Gbps)」で概算できる。
カットオーバー手順
MGN のカットオーバーは Test Launch → 検証 → Production Launch → DNS 切替 の順で実施する。
Step 1: Test Launch(本番前テスト)
Test Launch は本番環境に一切影響を与えずにカットオーバー後の動作を確認できる機能である。ソースサーバの運用を継続しながら、レプリカから EC2 インスタンスを起動して動作確認する。
MGN コンソール → Source Server 選択
→ [Test and Cutover] → [Launch Test Instance]
→ EC2 起動(Conversion Server 経由でブートドライバ適用)
→ 動作確認
→ [Terminate Test Instances](確認後は即削除)
Test Launch 時の確認項目:
| 確認カテゴリ | 確認内容 |
|---|---|
| OS・起動 | OS 正常起動、ログイン可能、必須サービス稼働中 |
| アプリケーション | プロセス一覧確認、ポートリスニング確認、ヘルスチェック応答 |
| ネットワーク | 他サーバへの接続疎通、DB 接続文字列の解決、外部 API 到達 |
| ストレージ | ディスク容量、マウントポイント、ファイルシステム整合性 |
| launch template | タグ適用確認、Security Group ルール確認、IAM Profile 適用確認 |
Test Launch 完了後、テストインスタンスは必ず Terminate Test Instances で削除する(稼働中は EC2 課金が発生する)。
Step 2: Production Launch(本番カットオーバー)
Test Launch での検証が完了したら本番カットオーバーを実施する。カットオーバー直前に以下の事前確認を行う。
| 事前確認項目 | 実施方法 |
|---|---|
| MGN ステータス確認 | コンソールで「Healthy(Continuous Replication)」を確認 |
| launch template 最終確認 | インスタンスタイプ・IAM Profile・SG・タグを再確認 |
| DNS TTL 短縮確認 | 24〜48 時間前に TTL を 60〜120 秒へ短縮済みであること |
| 関係者通知 | カットオーバー実施通知を完了済みであること |
| ロールバック手順 確認 | ロールバック担当者がいつでも実行できる状態であること |
MGN コンソール → Source Server 選択
→ [Test and Cutover] → [Launch Cutover Instance]
→ Final Sync(最後の差分転送)自動実行
→ Conversion Server 起動(ブートドライバ・NIC 設定適用)
→ Target EC2 起動
Production Launch 後の確認項目:
– ターゲット EC2 のヘルスチェック通過
– アプリケーション正常起動と疎通確認
– 他システムとの接続疎通(VPC Peering・Route 53 エンドポイント確認)
Step 3: DNS 切替
Production Launch 確認後、トラフィックをオンプレミスから AWS へ切り替える。
| 切替方法 | 適用場面 | 注意点 |
|---|---|---|
| Route 53 レコード変更 | パブリックドメインの切替 | カットオーバー前日に TTL を 60 秒へ短縮済みであること |
| オンプレ DNS サーバ変更 | 内部 DNS を管理している場合 | 全サーバへの伝播時間を考慮(最大 TTL 分待機) |
| アプリケーション設定変更 | DB 接続文字列をハードコーディングしている場合 | 事前にパラメータ化して環境変数で管理 |
DNS 切替後、元のオンプレサーバへのトラフィックがゼロになったことをアクセスログで確認してから「Mark as Cutover」を実行し、MGN の管理ステータスを更新する。
ロールバック戦略
MGN の最大の特長の一つが、Production Launch 後でも継続レプリケーションを維持し続けることでロールバックを可能にする設計である。
継続レプリケーションの維持
Production Launch 後も、ソースサーバ(オンプレ側)は MGN エージェントが動作し続け、AWS 側への差分レプリケーションが継続する。これにより、カットオーバー後に問題が発覚した場合の切り戻し基盤が確保される。
カットオーバー後の状態(ロールバック可能フェーズ):
オンプレサーバ(稼働中・エージェント動作中)
→ 差分レプリケーション継続 → AWS EBS(最新状態を維持)
問題発覚時:
DNS を元の IP に戻す
→ オンプレサーバを主系に戻す
→ AWS 側インスタンスを停止
旧環境保持期間の設計
| フェーズ | 保持期間の目安 | 判断基準 |
|---|---|---|
| カットオーバー直後〜72時間 | 必ずオンプレ維持 | 初期不具合・データ整合性エラーが多発しやすい期間 |
| 72時間〜1週間 | 原則維持・日次確認 | 月次バッチや夜間処理が正常完了するまで |
| 1週間〜2週間 | 縮小運用(エージェントのみ維持) | 決済・月次締め等の業務サイクル完了まで |
| 2週間以降 | Finalize 判断 | 問題ゼロ確認後に Finalize Cutover を実行 |
切り戻し手順
1. AWS 側ターゲット EC2 を停止(データ書き込みを止める)
2. DNS を元のオンプレ IP に戻す(TTL が短縮済みなら数分で切替完了)
3. オンプレサーバのアプリケーションを主系として再起動
4. MGN コンソールで継続レプリケーションが再開していることを確認
5. ロールバック報告書を作成し、原因分析と再カットオーバー計画を策定
注意事項: AWS 側でディスク書き込みが発生した後に切り戻す場合、AWS 側の変更はオンプレへ自動同期されない。DNS 切替後のデータ変更量を最小化するため、切り戻し判断は可能な限り早期に行うことが重要である。Production Launch から 1 時間以内のロールバックが最もリスクが低い。
launch template 設計
MGN の launch template は EC2 Launch Templates として定義し、カットオーバー時の EC2 設定を事前に確定させる。
必須設定項目と推奨値
LaunchTemplate:
InstanceType: r5.xlarge
IamInstanceProfile:
Arn: arn:aws:iam::123456789012:instance-profile/MGN-TargetInstanceProfile
TagSpecifications:
- ResourceType: instance
Tags:
- Key: Environment
Value: Production
- Key: MigratedBy
Value: MGN
- Key: WaveID
Value: Wave3
- Key: CostCenter
Value: Migration2026
SecurityGroupIds:
- sg-0abcdef1234567890
SubnetId: subnet-0fedcba9876543210
UserData: |
#!/bin/bash
hostnamectl set-hostname prod-appserver-01
timedatectl set-timezone Asia/Tokyo
systemctl enable myapp
systemctl start myapp
| 設定項目 | 推奨・注意点 |
|---|---|
| インスタンスタイプ | ソースサーバのコア数・メモリを基準に選定。t3系は汎用、r5系はメモリ集約型、c5系はCPU集約型 |
| IAM Instance Profile | EC2 が必要とする IAM ロールを事前割り当て(CloudWatch エージェント・S3 アクセス等) |
| タグ | Cost Allocation タグとして Environment/WaveID/MigratedBy を必須化 |
| Security Group | ターゲット VPC のセキュリティグループを明示指定。Staging Area の SG を流用しない |
| User Data | OS 起動後の初期設定(ホスト名設定・タイムゾーン設定・サービス起動)をスクリプト化 |
| Subnet | ターゲットのプライベートサブネットを指定。アベイラビリティゾーンを明示する |
launch template のバージョン管理
Wave ごとに launch template のバージョンを分けて管理することを推奨する。カットオーバー後に問題が発生した場合、どのバージョンでカットオーバーしたかを追跡できるため原因分析が容易になる。
launch-template-wave3-v1 ← Test Launch 時に作成・検証
launch-template-wave3-v2 ← Test Launch 結果を反映して修正
launch-template-wave3-v2 ← Production Launch では最終確認済みバージョンを使用
本番運用 キーポイント
| ポイント | 詳細 |
|---|---|
| Initial Sync 完了確認 | MGN コンソールで「Healthy」ステータスを確認後に Test Launch を実施 |
| カットオーバーウィンドウの選定 | トラフィック最小時間帯(深夜・休日)を選択。Final Sync は数分〜数十分かかる |
| Wave 依存関係の文書化 | Wave 順序と依存関係を Runbook として文書化し、カットオーバー当日に参照 |
| DNS TTL の事前短縮 | カットオーバー24〜48時間前に TTL を 60〜120 秒へ短縮 |
| テストカットオーバーの義務化 | 本番カットオーバー前に必ず Test Launch を実施。省略禁止 |
| エージェントバージョン確認 | カットオーバー前にエージェントを最新バージョンへ更新(コンソールで「Upgrade Agent」) |
| ディスク容量マージン | ターゲット EBS はソースディスクの 120% 以上を確保(Conversion Server の作業領域含む) |
| 帯域制御の解除タイミング | カットオーバーウィンドウ内は帯域制御を解除して Final Sync を高速化 |
① Test Launch の実施(省略禁止)
本番カットオーバー前に必ず Test Launch を行い、OS 起動・アプリ疎通・タグ適用を検証する。Test Launch なしでの Production Launch は高リスクであり、問題発覚時のダメージが大きい。
② Wave 依存関係の設計(DB → AP → Web の順)
カットオーバー順序を誤ると、依存先サービスが未移行のままアプリが切り替わり、接続エラーが発生する。依存グラフを作成し Wave 順序に反映させる。
③ ロールバックウィンドウの確保(最低72時間)
Finalize Cutover を急がず、少なくとも72時間はオンプレサーバのエージェントを稼働させた状態を維持する。問題発覚時の切り戻しコストを最小化するための必須設計である。
❌ エージェントインストール直後にカットオーバー着手
Initial Sync(全ディスク転送)が完了する前にカットオーバーを試みると、レプリカが不完全な状態で EC2 が起動する。
→ ✅ MGN コンソールで「Healthy」ステータスになるまで待機してから Test Launch を実施する。
❌ launch template をデフォルトのままカットオーバー
デフォルトでは t3.small が選択される場合があり、本番負荷に耐えられないインスタンスタイプで起動してしまう。
→ ✅ インスタンスタイプ・IAM Profile・Security Group・タグを事前設定し、Test Launch で確認済みのバージョンを使用する。
❌ Wave を大きく設計(30台以上)してカットオーバー
Wave が大きいほど Final Sync 時間が延び、DNS 切替タイミングがずれるリスクが増加する。問題発覚時の影響範囲も拡大する。
→ ✅ 1 Wave あたり 5〜15 台に抑制し、段階的にカットオーバーを進める。
❌ Finalize Cutover を即日実行
カットオーバー直後に Finalize Cutover を実行するとオンプレ側のレプリケーション基盤が削除され、ロールバックができなくなる。
→ ✅ 少なくとも72時間はレプリケーション状態を維持し、業務サイクルが1周完了してから Finalize を判断する。
AWS Snow Family 本番運用 — Snowball Edge / Snowcone / 物理輸送ライフサイクル

Snow Family の位置づけと全体像
AWS Snow Family は、ネットワーク帯域が不足している環境や物理的にインターネット接続が困難な現場でペタバイト規模のデータをAWSへ物理輸送するためのマネージドサービス群である。「帯域転送に 1 週間以上かかるデータ量」が Snow Family を検討すべき基準として広く使われている。データ転送だけでなく、AWS Lambda・EC2 相当のエッジコンピューティング機能も内包しており、現場処理→クラウド送信のパイプラインとしても機能する。
本セクションでは Snowball Edge Compute Optimized / Storage Optimized / Snowcone の 3 デバイス特性、ユースケース別選定基準、注文〜返送ライフサイクル、物理セキュリティ機構、Edge クラスタ運用の 5 軸で本番設計要点を整理する。
Snow Family 3デバイス比較
| 項目 | Snowball Edge Compute Optimized | Snowball Edge Storage Optimized | Snowcone |
|---|---|---|---|
| 使用可能ストレージ | 28 TB NVMe | 80 TB HDD + 210 TB S3互換 | 8 TB HDD (SSD版 14 TB) |
| ローカルコンピューティング | 52 vCPU / 208 GB RAM / GPU (optional) | 40 vCPU / 80 GB RAM | 4 vCPU / 4 GB RAM |
| EC2 互換 | C5 相当 + GPU (P3 optional) | C5 相当 | T3 相当のみ |
| 重量 | 約 22 kg | 約 22 kg | 約 2.1 kg |
| 耐衝撃設計 | IP65 防塵防水 | IP65 防塵防水 | MIL-STD-810H 準拠 |
| 電源 | AC 100-240V (UPS 推奨) | AC 100-240V (UPS 推奨) | AC 100-240V またはモバイルバッテリー |
| 主な用途 | ML 推論・動画変換・高度エッジ処理 | 大量データ移行・長期エッジキャッシュ | 遠隔地・軽量輸送・帯域極小環境 |
| クラスタ対応 | 非対応 | 最大 15 台クラスタ | 非対応 (DataSync 連携で補完) |
Snowball Edge Compute Optimized の強み: GPU を搭載できる唯一のデバイスであり、工場ライン・石油掘削設備など電力や通信インフラが不安定な現場でも機械学習推論やリアルタイム画像処理が実行できる。ML フレームワーク (TensorFlow / PyTorch) を EC2 AMI として持ち込み、エッジでの推論結果だけをクラウドへ送信する「エッジ推論 + クラウド集約」パターンに最適である。
Snowball Edge Storage Optimized の強み: 80 TB HDD と S3 互換オブジェクトストレージ (210 TB まで拡張可能) という大容量が最大の特徴である。データセンター廃止・データウェアハウス全体移行・映像アーカイブ大量取込など「まずデータ量を AWS に移動させる」フェーズで主役となる。クラスタモードで最大 15 台を連結することで有効容量を線形に拡張できる。
Snowcone の強み: 2 kg 台の重量と DataSync エージェント内蔵により、撮影現場・船舶・医療移動診断車など「PC バッグに入れて持ち込める」ユースケースを開拓する。帯域が細くても DataSync 経由でのバックグラウンド送信と物理輸送の双方に対応する。
ユースケース別選定基準
Snow Family デバイスの選定は「データ容量・帯域不足度・物理環境制約」の 3 軸で判断する。
| 状況 | 最適デバイス | 根拠 |
|---|---|---|
| 移行データ 50 TB 超、DC 廃止 | Storage Optimized (複数台) | 80 TB / 台 × クラスタで全量カバー |
| エッジ ML 推論が必要 | Compute Optimized (GPU 付) | GPU EC2 インスタンス + 大容量 NVMe |
| 持ち運び可能・超低帯域 | Snowcone | 軽量・DataSync 内蔵・モバイル電源対応 |
| DataSync と組み合わせ段階移行 | Snowcone + DataSync | 物理 + ネットワーク ハイブリッド輸送 |
| 工場・船舶・石油施設 | Compute Optimized または Storage Optimized | IP65 防水・オフグリッド電源対応 |
| 現場動画変換・ストリーム処理 | Compute Optimized | 52 vCPU + GPU でリアルタイム処理 |
| クラスタ構成で PB 規模 | Storage Optimized × 最大 15 台 | S3 互換クラスタストレージで PB 到達 |
帯域損益分岐点の計算例: 100 TB のデータを転送するとき、1 Gbps 専用線では約 9 日かかる。Snow Family の物理輸送 (注文〜データ取込完了) は通常 7〜14 日であるため、帯域が 500 Mbps 以下の環境では Snow Family の方が実質の転送完了日数が短くなる場合がある。実際には「転送中の業務継続コスト」「帯域占有による既存業務影響」も加味して判断する。
物理環境制約チェックリスト:
- 電源: 単相 200V 15A 以上を確保できるか (Snowcone はモバイルバッテリー対応)
- 室温: 0〜45 ℃ の動作範囲内か (Snowcone は -20〜45 ℃ と広め)
- 床耐荷重: Storage Optimized 22 kg × 台数 + ラック重量
- ネット接続: Snowcone は完全 Air-gap 環境でも物理輸送のみで運用可
- S3 バケット: Job 作成時にリージョン指定が確定し後変更不可
注文〜返送ライフサイクル
Snow Family の物理輸送プロセスは 7 ステップで管理される。fig02 はこのライフサイクルを可視化したものである。
Step 1: Job 作成
AWS マネジメントコンソールまたは AWS CLI で Snow Family Job を作成する。Job 作成後に変更できない項目が多いため、事前設計が重要である。
- Job タイプ: Import (→ AWS)・Export (AWS →)・Local Compute and Storage
- S3 バケット: データの取込 / 書出先 (別リージョン指定は不可)
- KMS 暗号化キー: デフォルト管理キーまたはカスタマー管理キー (CMK)
- SNS 通知: ステータス変化を E-mail / SNS Topic で受信
- 配送先住所と連絡先担当者
Step 2: デバイス出荷 (AWS → 現地)
Job 作成から通常 2〜5 営業日でデバイスが配送される。到着時に「E-Ink ラベルに表示された追跡番号」と「AWS コンソールのデバイスシリアル番号」が一致することを確認する。外装・デバイス本体の破損・改ざん検知シール剥離がないか目視確認し、異常があれば AWS サポートへ即時報告する。
Step 3: 現地受領・電源投入・ロック解除
デバイスを電源に接続し、LCD パネルまたは OpsHub (GUI 管理ツール) でネットワーク設定を行う。ロック解除には AWS コンソールから取得する「クライアントアンロックコード」が必要である。アンロックコードは Job 作成者のみが取得可能なため、現地担当者と Job 管理者が異なる場合は事前に安全なチャンネルで共有しておく。
Step 4: データ転送 (現地 → デバイス)
AWS Snowball クライアント CLI または S3 互換 API (Storage Optimized の場合) でデータをコピーする。転送速度の目安は Storage Optimized で最大 1 Gbps (NIC 2 系統ボンディング)、Compute Optimized NVMe では最大 100 Gbps ローカル帯域である。大容量転送では以下の並列化を推奨する。
| 手法 | 効果 |
|---|---|
| 複数クライアントから並列コピー | NIC 帯域を最大利用 |
| snowball cp の –parallel オプション | ファイル単位の並列化 |
| フォルダ分割 + 複数 Job 並列実行 | ジョブ間でデバイスを分散 |
| 差分コピー (–only-new-and-modified) | 再転送コスト削減 |
Step 5: 返送 (現地 → AWS)
転送完了後、デバイスの電源を切りシャットダウンする。E-Ink ラベルが自動更新され返送先 AWS 施設の住所が表示されるため、梱包して宅配業者に引き渡すだけで返送が完了する。自分で送り状を作成する必要はない。返送後は AWS コンソールでデバイスが「In Transit (Return)」ステータスに変化したことを確認する。
Step 6: AWS Import (AWS 施設でのデータ取込)
デバイスが AWS 施設に到着後、約 2〜5 営業日で S3 バケットへのデータ取込が完了する。この過程でデバイス内データは自動的に消去されるため、機密データの残留リスクはない。消去は NIST 800-88 準拠のメディア消去手順で実施される。
Step 7: 検証
S3 バケットのオブジェクト数・容量を Transfer 完了通知受信後に確認する。S3 インベントリレポートと転送元ファイルリストを突き合わせ、欠損・破損がないことを確認する。Snowball クライアントが生成する転送ログ (job-log.txt) にはファイル単位のチェックサム結果が記録されているため、これを照合ツールと組み合わせると効率的である。
物理セキュリティ設計
Snow Family デバイスは「物理輸送中のデータ保護」を多層防御で実現している。
TPM (Trusted Platform Module) 2.0
デバイス内の暗号化キー管理に TPM 2.0 を使用する。キーマテリアルはデバイスの CPU 内にのみ存在し、外部読み出しは物理的に不可能な構造になっている。デバイスが一定回数の認証失敗を検知した場合、TPM がキーを自動破棄する (ブルートフォース耐性)。
改ざん検知シール
デバイスの蓋部分には改ざん検知シールが貼付されており、不正開封を試みると不可逆的に「VOID」表示に変化する。受領時の目視確認フローに「シール確認」を必ず組み込む。
KMS 連携暗号化
デバイス上のデータは 256-bit AES-GCM で暗号化され、暗号化キーは AWS KMS で管理される。KMS CMK を指定することでカスタマーマネージドな鍵ローテーションが可能になる。デバイスがアンロックされていない状態では KMS と通信できずデータアクセス不可であるため、紛失・盗難時のデータ漏洩リスクを極小化できる。
E-Ink ラベル
デバイスの側面に E-Ink ディスプレイが搭載されており、出荷時と返送時で表示住所が自動切替される。物理的な送り状の貼り間違いリスクがなく、デバイスの現在ステータスが常に視覚的に確認できる。
物理セキュリティ チェックリスト:
| 確認項目 | タイミング | 担当 |
|---|---|---|
| 外装破損・改ざん検知シール確認 | 受領直後 | 現地担当者 |
| デバイスシリアル番号の照合 | 受領直後 | 現地担当者 |
| KMS CMK の鍵ポリシー確認 | Job 作成前 | クラウド管理者 |
| アンロックコードの安全共有 | Job 作成後〜受領前 | Job 管理者 |
| 返送後 S3 取込完了確認 | Import 完了通知受信後 | クラウド管理者 |
| 転送ログのチェックサム照合 | Import 完了後 | データ検証担当者 |
クラスタ運用 (Edge クラスタモード)
Snowball Edge Storage Optimized は最大 15 台のクラスタを組み、S3 互換オブジェクトストレージとしてオンプレアプリケーションに提供できる。
クラスタの基本構成
クラスタ最小構成は 3 台 (クォーラム維持のため奇数台推奨)。各ノードは AWS コンソールで「クラスタ Job」として一括作成する。ノード間通信には 10 GbE または 25 GbE の専用スイッチを使用する。クラスタ Job に割り当てる S3 バケットはノード間で共通化され、単一の S3 エンドポイントとしてアプリケーションに公開される。
HA 構成と障害耐性
| クラスタ規模 | 耐障害ノード数 | 有効容量目安 |
|---|---|---|
| 3 台 | 1 台まで障害許容 | 約 160 TB |
| 5 台 | 2 台まで障害許容 | 約 280 TB |
| 15 台 | 7 台まで障害許容 | 約 900 TB |
ノードが障害になると自動的にクラスタから除外され、残存ノードでサービスを継続する。交換デバイスの投入はコンソールでの「ノード追加」操作と物理接続のみで完了する。
S3 互換オブジェクトストレージ
クラスタ上の S3 互換 API は AWS S3 API のサブセットを実装している。対応操作: PUT / GET / DELETE / HEAD / LIST (Bucket / Object)。非対応: S3 Versioning・ライフサイクルルール・クロスリージョンレプリケーション。アプリケーション側は AWS SDK の endpoint_url パラメータをデバイス IP に変更するだけで S3 互換ストレージを利用できる。
ローカルコンピューティング連携
EC2 インスタンス (AMI は AWS コンソールからデプロイ) が S3 互換ストレージと同一デバイス上で動作するため、データを外部に転送せずにローカル処理してからクラスタに書き込む「ローカル処理 + ローカル保存」パターンが実現できる。Lambda 関数のデプロイも可能なため、イベントドリブンなエッジ処理パイプラインを構築できる。
OpsHub による GUI 管理とモニタリング
AWS OpsHub は Snow Family デバイスをローカル GUI で管理するための無償ツールである。データ転送 CLI の操作に不慣れな担当者でも、OpsHub を使えばドラッグ&ドロップ感覚でファイル転送・デバイス管理・EC2 インスタンス操作が行える。
OpsHub の主な機能
| 機能 | 説明 |
|---|---|
| ファイル転送 | S3 バケット操作 (アップロード / ダウンロード / 一覧表示) をブラウザ UI で実行 |
| インスタンス管理 | EC2 互換インスタンスの起動・停止・コンソール接続 |
| デバイスメトリクス | CPU 使用率・ストレージ使用量・ネットワーク転送速度をリアルタイム表示 |
| Lambda デプロイ | AWS Lambda 関数のデプロイと実行ログの確認 |
| ネットワーク設定 | IP アドレス・DNS・MTU のオンプレ環境に合わせた変更 |
CLI と OpsHub の使い分け
| シナリオ | 推奨ツール |
|---|---|
| 大量ファイルの並列転送 (本番移行) | snowball cp CLI (スクリプト化可能・並列化フラグ対応) |
| 初期設定・ネットワーク調整 | OpsHub (視覚的に確認しやすい) |
| EC2 インスタンス操作・Lambda テスト | OpsHub (GUI でのインスタンス操作) |
| 自動化・CI 統合 | AWS CLI + snowball CLI (スクリプト連携) |
Snow Family と AWS DataSync の連携戦略
Snow Family と DataSync を組み合わせる「ハイブリッド移行」は、移行期間中もネットワーク帯域を有効活用しながら物理輸送でデータを一括移行するベストプラクティスである。
段階移行パターン (Snowcone + DataSync)
- Phase 1: Snowcone で「過去データ (コールド) 」を物理輸送で AWS へ取込
- Phase 2: DataSync を Snowcone 内の組み込みエージェントで起動し、「現在データ (ホット) 」を差分転送
- Phase 3: Snowcone 返送後、DataSync エージェントをオンプレ Linux サーバに移行し継続同期
このパターンにより、初期移行のネットワーク帯域使用を最小限に抑えながら、運用中の継続的同期を DataSync が担う体制が完成する。
DataSync タスク設計のポイント
| 設定 | 推奨値 | 理由 |
|---|---|---|
| 検証モード | ONLY_FILES_TRANSFERRED | 全ファイル検証は時間コストが高い。移行時は転送ファイルのみ検証 |
| 上書きモード | NEVER (初回移行後) | 移行完了後はオンプレ側の変更をAWSに反映しない |
| スケジュール | 1 時間ごと (差分フェーズ) | 業務時間外の帯域を活用した定期差分転送 |
Snow Family 本番運用 キーポイント一覧
| # | キーポイント | 詳細 |
|---|---|---|
| 1 | Job 設定は作成後変更不可 | S3 バケット・KMS キー・リージョンは Job 作成時に確定する |
| 2 | 帯域損益分岐点の事前計算 | 実効帯域 × 転送日数 vs Snow 物理輸送日数を比較 |
| 3 | 受領時の物理確認 3 点セット | 外装破損・改ざん検知シール・シリアル番号照合 |
| 4 | 転送並列化で速度最大化 | snowball cp –parallel + NIC ボンディングで限界帯域を狙う |
| 5 | クラスタは奇数台で構成 | クォーラム維持のため 3 / 5 / 7 台を選択 |
| 6 | Manifest + チェックサム照合 | S3 インベントリと job-log.txt を突き合わせ欠損ゼロを確認 |
| 7 | KMS CMK でカスタム鍵管理 | 組織の鍵ローテーションポリシーに KMS CMK を合わせる |
| 8 | Snowcone + DataSync で段階移行 | 物理輸送しながら差分を DataSync で逐次送信するハイブリッド |
| 9 | E-Ink ラベル確認で誤返送防止 | 返送前に E-Ink 表示が返送先住所に切り替わっていることを確認 |
| 10 | デバイス廃棄前消去は AWS が実施 | NIST 800-88 消去は AWS 施設で自動実施 — 手動消去は不要かつ禁止 |
Q1: データ量は 80 TB を超えるか?
→ YES: Snowball Edge Storage Optimized を複数台 (クラスタ構成も検討)
→ NO: Q2へ
Q2: エッジ ML 推論・動画変換など高度なコンピューティングが必要か?
→ YES: Snowball Edge Compute Optimized (GPU オプション含む)
→ NO: Q3へ
Q3: 重量 2 kg 以内の携帯性が必要か、または DataSync 併用で段階移行したいか?
→ YES: Snowcone (DataSync エージェント内蔵)
→ NO: Snowball Edge Storage Optimized (標準構成)
帯域損益分岐点の目安:
– 10 Gbps 回線: Snow Family 優位は 1 PB 超
– 1 Gbps 回線: Snow Family 優位は 100 TB 超
– 100 Mbps 回線: Snow Family 優位は 10 TB 超
Job 作成前
– [ ] 転送対象データ量の正確な計測 (df / du / ストレージシステムの使用量確認)
– [ ] S3 バケット作成・バケットポリシー設定完了
– [ ] KMS CMK 作成・鍵ポリシーで Snow Job IAM ロールに使用権限付与
– [ ] SNS Topic 設定でステータス変化通知を受信できる状態に
– [ ] 配送先住所・連絡先・受領担当者の確定
受領時
– [ ] 外装破損なし確認
– [ ] 改ざん検知シール VOID 表示なし確認
– [ ] デバイスシリアル番号とコンソール表示の一致確認
– [ ] OpsHub または LCD パネルでネットワーク設定完了
– [ ] アンロックコード取得・安全な経路で現地担当者へ共有
データ転送中
– [ ] snowball cp –parallel で並列転送開始
– [ ] 転送中の電源断・NIC 抜けが発生しないよう UPS 確認
– [ ] 進捗ログを定期確認 (エラーファイルがないか)
返送・Import 完了後
– [ ] E-Ink ラベルが返送先住所に切り替わっていることを確認してから梱包
– [ ] S3 バケットのオブジェクト数・容量を転送元と突き合わせ
– [ ] job-log.txt のチェックサム照合で欠損ゼロを確認
AWS Storage Gateway 本番運用 — File / Volume Cached・Stored / Tape 3種統合

Storage Gateway の位置づけと全体像
AWS Storage Gateway はオンプレミスアプリケーションをAWSストレージに透過的に接続するハイブリッドストレージサービスである。既存のファイルサーバ・ブロックデバイス・テープバックアップのプロトコルをそのまま維持しながら、バックエンドを段階的にAWSへ移行・拡張できる「移行の架け橋」として機能する。
3 種のゲートウェイ (File Gateway / Volume Gateway / Tape Gateway) は互いに独立して展開でき、オンプレ環境に VMware ESXi・Microsoft Hyper-V・Linux KVM 上の VM、または Storage Gateway Hardware Appliance として配置する。
File Gateway — SMB/NFS → S3 のオンプレファイル共有拡張
File Gateway はオンプレミスの SMB/NFS クライアントからマウントできるファイル共有を提供し、書き込まれたファイルをリアルタイムで S3 オブジェクトとして保存する。ファイル共有はそのまま利用しながら、バックエンドのストレージ容量が事実上無制限になる。
アーキテクチャ: オンプレ NFS/SMB クライアント → File Gateway VM (ローカルキャッシュ: SSD/HDD) → S3 バケット → S3 ライフサイクルルールで S3 Glacier へ自動移行
ローカルキャッシュの役割
File Gateway はアクセス頻度の高いファイルをローカルキャッシュ (SSD 推奨) に保持し、レイテンシを LAN 内相当に抑える。キャッシュから evict されたデータの読み取りは S3 から再フェッチするため、読み取りレイテンシが増大する。したがって、ホットデータ率を把握してキャッシュをオーバープロビジョニングすることが推奨される。
主な設定項目
| 設定 | 推奨値・注意点 |
|---|---|
| ファイル共有タイプ | SMB (Windows 環境) / NFS (Linux 環境) — 同一 Gateway で混在可能 |
| SquashRoot | NFS の場合、root 権限を nobody にマップ (本番推奨設定) |
| バケットプレフィックス | 複数共有が同一バケットを使う場合、プレフィックスで分離 |
| キャッシュ容量 | ホットデータ × 1.2 以上を確保 |
| S3 ストレージクラス | デフォルト S3 Standard。低頻度アクセスは S3-IA または Intelligent-Tiering |
ユースケース例:
- 社内ファイルサーバの S3 移行 (NFS/SMB インターフェイス維持)
- 動画素材の S3 保管 (NLE ソフトウェアからは NFS マウントとして見える)
- ホームディレクトリの S3 統合 (複数サイトからの同一 S3 バケット参照)
- DataSync との連携でコールドデータを自動アーカイブ
Volume Gateway Cached モード — ホットデータはローカル / コールドデータは S3
Volume Gateway Cached モード は iSCSI ブロックデバイスとしてオンプレサーバにマウントされる。ボリュームの実体は S3 に保存され、頻繁にアクセスされるデータのみがローカルキャッシュに保持される「S3 バックド iSCSI ボリューム」である。
動作原理
読み取りアクセス時: ローカルキャッシュにあれば LAN 速度で応答 → なければ S3 からフェッチしてキャッシュに入れてから応答 (キャッシュミス = レイテンシ増大)
書き込みアクセス時: まずローカルキャッシュに書き込み (高速) → バックグラウンドで S3 へ非同期アップロード
容量設計
| パラメータ | 説明 | 設計のポイント |
|---|---|---|
| ボリューム容量 | 最大 32 TB / ボリューム × 最大 32 ボリューム = 1 PB | ビジネス要件に合わせて設定 |
| キャッシュ容量 | ホットデータ率 × ボリューム容量 × 安全係数 1.2 | 不足すると頻繁な S3 フェッチでレイテンシ悪化 |
| アップロード帯域 | 平均書き込み速度 × 安全係数 1.5 以上を確保 | 帯域不足で S3 アップロードが詰まると読取性能にも影響 |
EBS スナップショットと DR
Volume Gateway Cached のボリュームは定期的に EBS スナップショットとして保存される。スナップショットから Amazon EBS ボリュームを作成して EC2 にアタッチすることで、オンプレ停止時も数分以内に AWS 上で同一ボリュームを参照できる。「オンプレ主体 + AWS DR」の非対称 DR 構成を低コストで実現できる。
Volume Gateway Stored モード — オンプレ保持 + S3 スナップショット DR
Volume Gateway Stored モードは iSCSI ボリュームの実体がオンプレローカルストレージに残る構成である。S3 は「スナップショットバックアップ先」として機能し、定期的なスナップショットが EBS Snapshot として S3 にアップロードされる。
Cached vs Stored の使い分け
| 観点 | Cached モード | Stored モード |
|---|---|---|
| ボリューム実体の場所 | S3 (ローカルはキャッシュのみ) | オンプレローカルストレージ |
| 読み取りレイテンシ (キャッシュヒット時) | LAN 相当 | 常に LAN 相当 |
| 読み取りレイテンシ (キャッシュミス時) | S3 フェッチで増加 | 常に LAN 相当 |
| オンプレストレージ要件 | キャッシュ分のみ | ボリューム全量のローカルストレージ必須 |
| 適合ユースケース | キャッシュで主要アクセスをカバーできる場合 | 全データへの一様な低レイテンシ要求 |
Stored モードのスナップショット設計
スナップショットは増分バックアップであるため、初回以降の転送量は差分のみである。スナップショット頻度の目安:
- 重要業務 (日次変更量 5 GB 超): 4 時間ごと
- 通常業務 (日次変更量 1〜5 GB): 12 時間ごと
- アーカイブ系 (日次変更量 1 GB 未満): 24 時間ごと
スナップショットは CloudWatch イベントまたは Data Lifecycle Manager (DLM) ポリシーで自動化する。
Tape Gateway — iSCSI VTL で既存バックアップソフトとの互換性
Tape Gateway は物理テープライブラリを仮想化し、既存のバックアップソフトウェア (Veeam / Veritas / CommVault 等) が物理テープと同様に扱える仮想テープライブラリ (VTL) を提供する。仮想テープのデータは S3 (アクティブ) および S3 Glacier / S3 Glacier Deep Archive (アーカイブ) に保存される。
仮想テープのライフサイクル
| ステータス | 保存先 | アクセス速度 |
|---|---|---|
| アクティブ (ドライブ内) | Tape Gateway キャッシュ + S3 | リアルタイム |
| VTS (Vault に格納) | S3 Standard | 数秒〜数分 |
| アーカイブ済み | S3 Glacier | 3〜5 時間 (標準取り出し) |
| ディープアーカイブ済み | S3 Glacier Deep Archive | 12 時間 |
物理テープ廃止移行シナリオ
既存の物理テープライブラリを Tape Gateway に置き換える場合、バックアップソフトの「テープライブラリ接続先」を iSCSI VTL に変更するだけで移行が完了する。物理テープの輸送・管理・劣化リスクをゼロにしながら、バックアップの取得・復元フローをそのまま維持できる。
コスト設計のポイント
| 項目 | 設計指針 |
|---|---|
| アクティブテープ容量 | 月次バックアップ量 × 保持期間 × 圧縮率の逆数 |
| アーカイブタイミング | 最終バックアップジョブ完了後 30 日を目安に S3 Glacier へ移行 |
| 取り出しポリシー | DR の RTO に応じて Glacier (3-5h) か Deep Archive (12h) を選択 |
| テープサイズ | 1 テープ = 最大 5 TB。テープ数が増えすぎると管理コスト増加 |
キャッシュサイジング設計
Storage Gateway の File Gateway および Volume Gateway Cached において、ローカルキャッシュのサイジングは性能を左右する最重要設計要素である。
計算式
キャッシュ容量 = 7日Working Set × 安全係数
| 変数 | 説明 | 取得方法 |
|---|---|---|
| ホットデータ率 | 過去 7 日間にアクセスがあったデータの割合 | ストレージシステムのアクセスログ分析 |
| 7日Working Set | 7 日間で使用されたユニークデータ量 (重複除く) | ファイルシステムの atime / mtime 分析 |
| 安全係数 | 1.2〜1.5 (アクセスパターンの変動を吸収) | 業務の季節性・月末集中等を考慮 |
実例: 製造業ファイルサーバのキャッシュ設計
| 条件 | 値 |
|---|---|
| 総ファイル容量 | 20 TB |
| ホットデータ率 (製造系 CAD データ) | 15% |
| 7日 Working Set | 3 TB |
| 安全係数 | 1.3 |
| 必要キャッシュ容量 | 3 TB × 1.3 = 3.9 TB → 実際は 4 TB SSD でプロビジョニング |
キャッシュ不足時の影響:
File Gateway のキャッシュが枯渇すると、S3 からのオブジェクト再フェッチが頻発して読み取りレイテンシが大幅に悪化することがある。Volume Gateway Cached では、キャッシュヒット率が 70% を下回ると IOPS が急落し、業務アプリケーションのタイムアウトが発生する。
CloudWatch メトリクス CacheHitPercent および CacheUsed を監視し、CacheHitPercent が 80% を下回ったらキャッシュ拡張を検討する。
SMB/NFS 認証設計 (File Gateway)
File Gateway の SMB および NFS 共有はそれぞれ異なる認証機構を持ち、オンプレの Active Directory 環境と統合できる。
SMB 認証の選択肢
| 認証方式 | 概要 | 適用ユースケース |
|---|---|---|
| Active Directory 統合 | AD ドメインに File Gateway を参加させ、ユーザー・グループ単位でアクセス制御 | 既存 AD 環境を持つ企業の標準選択 |
| Guest Access | 認証なしで SMB 共有にアクセス可能 | 開発検証環境・内部ツール共有 (本番非推奨) |
| ローカルグループ | Gateway ローカルの Users グループでアクセス制御 | AD 導入前の過渡期環境 |
AD 統合の設定手順
- File Gateway を AD ドメインに参加させる (コンソール or Gateway API で DN / パスワードを入力)
- SMB 共有作成時に「AD 認証を有効化」を選択
- S3 バケットポリシーで File Gateway の IAM ロールに PutObject / GetObject 権限を付与
- AD 側で共有アクセスを許可するグループ/ユーザーを Gateway の ACL に追加
NFS 認証の設定 (RootSquash)
NFS v3/v4.1 対応の File Gateway では RootSquash を有効化することで、NFS クライアントの root ユーザーを nobody にマップしてファイル所有権の乱用を防ぐ。
| 設定 | 動作 |
|---|---|
| RootSquash 有効 | クライアント root → nobody (uid 65534) にマップ。全クライアントでオブジェクト所有権が統一 |
| RootSquash 無効 | クライアント root がそのまま root 権限で書き込み (本番非推奨) |
| AllSquash 有効 | 全ユーザーを nobody にマップ (読み取り専用共有で使用) |
NFS 共有の IP 制限 (クライアント IP 許可リスト)
File Gateway の NFS 共有はコンソールで「クライアント IP アドレス範囲」を指定できる。CIDR 形式で記入し、許可されたアドレス範囲のみが NFS マウントできる状態にすることで、不正マウントを防ぐ。
Storage Gateway 監視設計
Storage Gateway の本番運用では CloudWatch を活用したメトリクス監視が不可欠である。キャッシュ不足や帯域逼迫を事前に検知してスケールアウト対応するための監視設計を以下に整理する。
主要 CloudWatch メトリクス
| メトリクス | ゲートウェイ種別 | アラーム閾値の目安 | 意味 |
|---|---|---|---|
| CacheHitPercent | File / Volume Cached | < 80% で警告、< 60% で緊急 | キャッシュヒット率が低下するとレイテンシ急増 |
| CacheUsed | File / Volume Cached | > 80% で警告 | キャッシュ残量が少なくなると evict が増加 |
| UploadBufferUsed | File / Volume Cached / Stored | > 80% で警告 | S3 アップロード待ちデータが蓄積している |
| IoWaitPercent | File / Volume | > 30% で警告 | Gateway VM のストレージ IO がボトルネック |
| ReadBytes / WriteBytes | 全種 | 業務閾値の 90% で警告 | NIC 帯域の使用量をトラッキング |
| TapeRecallSize | Tape | Glacier 取り出しリクエスト量 | 想定外の大量 Recall はコスト増加の兆候 |
アラーム設計の推奨構成
CloudWatch Alarm を SNS Topic と組み合わせて「警告 → メール / Slack 通知」「緊急 → PagerDuty / オンコール通知」の 2 段階エスカレーションを設定する。アラーム対応のランブックには「キャッシュ不足時はキャッシュディスクを追加してから Gateway を再起動する」手順を明記しておく。
ログ設計
File Gateway と Volume Gateway は CloudWatch Logs にエラーログを送信できる。ログレベルは本番では「WARN」以上を推奨する。DEBUG ログは API コール単位で出力されるため、大量転送時にログコストが急増する点に注意する。
Storage Gateway 本番運用 キーポイント一覧
| # | キーポイント | 詳細 |
|---|---|---|
| 1 | ゲートウェイ種別は変更不可 | File/Volume/Tape の種別は作成後に変更できないため事前に確定 |
| 2 | キャッシュ容量を過小設定しない | CacheHitPercent < 80% でレイテンシ急増。7日 Working Set × 1.3 が基準 |
| 3 | VM スペックは最小要件を必ず守る | vCPU × 4 以上・RAM 16 GB 以上・キャッシュ SSD 推奨 |
| 4 | SMB は AD 統合を優先 | Guest Access は本番環境では必ず無効化 |
| 5 | NFS は RootSquash を有効化 | 本番環境で root スカッシュなしは root 権限乱用リスクがある |
| 6 | Volume Cached: アップロード帯域を確保 | S3 へのアップロード帯域不足が詰まりの最大原因 |
| 7 | Volume Stored: スナップショット頻度を RPO に合わせる | スナップショット間隔 = 最大データ損失量 (RPO) を決定する |
| 8 | Tape Gateway: テープアーカイブタイミング | VTS からの Glacier 移行は最終書き込み後 30 日目安 |
| 9 | CloudWatch アラームを必ず設定 | CacheHitPercent / CacheUsed / IoWaitPercent の 3 メトリクスを監視 |
| 10 | Gateway アップデートを定期実施 | セキュリティパッチと機能追加は Gateway コンソールから適用 |
| 要件 | 推奨ゲートウェイ | 理由 |
|——|————–|——|
| 既存 NFS/SMB ファイルサーバを S3 に拡張 | File Gateway | プロトコル変更なしに S3 容量を透過利用 |
| iSCSI ブロックボリュームを低コストで S3 バックアップ | Volume Gateway Cached | ホットデータはローカルで高速、コールドは S3 |
| オンプレに全データ保持 + DR として EBS Snapshot | Volume Gateway Stored | ローカルストレージ完全保持 + S3 DR スナップショット |
| 物理テープライブラリを廃止し VTL に移行 | Tape Gateway | バックアップソフト変更不要で物理テープを仮想化 |
| オンプレファイルサーバと AWS クラウドを同一 S3 で共有 | File Gateway | 複数拠点からのファイル共有基盤として機能 |
Gateway VM スペック最小要件 (本番環境):
– vCPU: 4 以上 (キャッシュ書き込みが CPU バウンドになりやすい)
– RAM: 16 GB 以上 (File Gateway は 1 TB キャッシュあたり 1 GB RAM 追加)
– キャッシュディスク: SSD 推奨 (HDD の場合 IOPS 上限に注意)
– ネットワーク: 1 Gbps 以上 (S3 アップロード帯域)
展開前
– [ ] ゲートウェイ種別 (File/Volume/Tape) の確定 — 後変更不可
– [ ] VM ホスト (ESXi / Hyper-V / KVM) のスペック確認 (vCPU 4+, RAM 16 GB+)
– [ ] キャッシュ容量計算: 7日 Working Set × 1.3 以上を SSD で確保
– [ ] アップロード帯域確認: 平均書き込み速度 × 1.5 以上の帯域を S3 方向に確保
– [ ] IAM ロール作成 (S3 PutObject / GetObject / DeleteObject / ListBucket)
File Gateway 追加確認
– [ ] SMB 認証方式決定 (AD 統合 / Guest Access のどちらか)
– [ ] NFS RootSquash 有効化確認
– [ ] NFS クライアント IP 制限設定
– [ ] S3 バケットの所有権設定 (BucketOwnerEnforced 推奨)
Volume Gateway 追加確認
– [ ] Cached/Stored モード選択とキャッシュ / ボリューム容量設定
– [ ] EBS スナップショット自動化ポリシー (DLM) の設定
– [ ] アップロード帯域 CloudWatch アラーム設定
Tape Gateway 追加確認
– [ ] バックアップソフトウェアの iSCSI VTL 設定変更完了
– [ ] 仮想テープのサイズ (最大 5 TB/テープ) と本数の設計
– [ ] S3 Glacier アーカイブポリシーの設定
– [ ] DR テスト: 仮想テープから実際にリストアできることを確認
運用中の継続監視
– [ ] CacheHitPercent ≥ 80% (File GW / Volume Cached)
– [ ] CacheUsed < 80% (キャッシュ圧迫アラーム)- [ ] IoWaitPercent < 30% (ストレージ IO ボトルネック検知)- [ ] Gateway アップデートを月次で確認・適用
AWS Mainframe Modernization 本番運用 — リファクタ vs リプラットフォーム / Micro Focus / AWS Blu Age

メインフレームをAWSへ移行する際、最大の決断は「どこまで近代化するか」だ。AWS Mainframe Modernization サービスは2大アプローチ——リファクタ(Re-factor)とリプラットフォーム(Re-platform)——を提供し、それぞれ対応するランタイムエンジンが異なる。
メインフレーム近代化 2大アプローチ比較
| 観点 | リファクタ (Re-factor) | リプラットフォーム (Re-platform) |
|---|---|---|
| 定義 | COBOL/PL1 を Java/Angular に自動変換 | COBOL/JCL/CICS を互換エンジン上でそのまま実行 |
| エンジン | AWS Blu Age | Micro Focus Enterprise Server |
| 移行速度 | 遅い(変換・テスト工数が大) | 速い(コード変更最小) |
| 将来保守性 | 高い(Javaエコシステム活用) | 低い(COBOL依存継続) |
| ライセンスコスト | なし(変換後はOSS Java) | Micro Focus ライセンス費用が発生 |
| 向いているケース | 中長期でCOBOL依存を断ちたい・新機能開発頻度が高い | 短期間でリスク最小化・COBOLコードの改修予算がない |
| リスク | 自動変換の品質保証・回帰テスト工数大 | ランタイム互換性の網羅検証・継続ライセンス費 |
Micro Focus エンジン(Re-platform向け)
Micro Focus Enterprise Server は COBOL/JCL/CICS/VSAM を AWS 上でほぼそのままエミュレートするランタイムだ。AWS Mainframe Modernization の「Managed Micro Focus」環境として提供され、既存コードへの変更を最小化しながら AWS に移行できる。
主な特徴:
– COBOL互換実行: GnuCOBOL/Micro Focus COBOLのバイナリをそのまま動作
– JCL変換: AWS Batch へのジョブ変換を自動マッピング(EXEC PGM= → AWS Batch Job Definition)
– CICS互換: トランザクション処理ミドルウェア互換層を維持
– VSAM互換ストレージ: Amazon S3 + DynamoDB へのVSAMデータセットマッピング
移行フェーズの運用手順:
1. コードアセスメント(Micro Focus Enterprise Analyzer でCOBOLコールグラフを解析)
2. JCL → AWS Batch マッピング定義作成(STEP依存関係を有向グラフで整理)
3. VSAM データセット → S3/DynamoDB 移行(キーレイアウト定義を維持)
4. テスト実行(Micro Focus の単体テストフレームワーク活用)
5. パラレルラン → 本番切替
AWS Blu Age(Re-factor向け)
AWS Blu Age は COBOL/PL1 プログラムを Java(Spring Boot)+ Angular フロントエンドへ自動変換するツールだ。変換後は標準的なJavaアプリとして AWS 上で稼働するため、長期保守性が高まる。
変換プロセス:
1. アセスメント: Blu Age Analyzer で変換対象コードをスキャン・複雑度スコア算出
2. 自動変換: COBOL → Java クラス、JCL → AWS Batch Job、VSAM → RDS/DynamoDB
3. 検証: 変換後 Java コードの回帰テスト(出力データ一致確認)
4. 最適化: 変換後コードのリファクタ(不要ループ除去・ロジック整理)
Blu Age の制約と対処:
– 複雑な COMPUTE 文や REDEFINES 節は手動補完が必要
– CICS 依存トランザクションは Spring MVC への手動マッピングが発生するケースあり
– 変換品質は「変換率」だけでなく「出力値一致率」で評価すること(変換率100%でも出力差分が出ることがある)
アプローチ選定基準
選定は以下4軸で判断する:
| 選定軸 | リプラットフォーム優位 | リファクタ優位 |
|---|---|---|
| 既存COBOL資産量 | 500万ステップ超(変換コスト過大) | 100万ステップ未満(変換が現実的) |
| 改修許容度 | 改修予算・人材なし | Java開発チームが確保できる |
| ライセンスコスト(3〜5年TCO) | Micro Focusライセンスが許容範囲 | ライセンス削減でROIプラス |
| 保守継続意思 | COBOLの長期維持でよい | 将来的にJava化・新機能追加を予定 |
3〜5年TCO比較の考え方:
– リプラットフォーム: Micro Focus ライセンス(年間数千万〜数億円規模)+ 移行工数(小)
– リファクタ: 自動変換ツール費 + 移行工数(大)+ Java保守費。ライセンスゼロが長期でペイする分岐点はおおよそ2〜3年
– TCO計算例(100万ステップCOBOL・Micro Focusライセンス年間5,000万円の場合):
– リプラットフォーム 5年: ライセンス2.5億 + 移行費5,000万 = 3億円
– リファクタ 5年: 変換費2億 + 移行費2億 = 4億円(5年目以降は保守費が年500万程度に低下)
– 6年目以降はリファクタが有利になる計算
カットオーバー戦略
メインフレーム移行のカットオーバーは「パラレルラン」が業界標準だ。
パラレルラン戦略(3フェーズ構成):
- フェーズ1: シャドウモード(1〜3ヶ月)
- 本番はメインフレームで稼働継続
- AWS側も同じ入力を受け取り処理結果を記録(本番反映なし)
出力差分を毎日比較し、乖離0件を目標とする
フェーズ2: 業務選択的切替(1〜2ヶ月)
- 低リスク業務(バッチレポート出力等)からAWS側を本番採用
旧メインフレームで同一業務を並走させ、バックアップとして維持
フェーズ3: 全面切替
- オンライン系・帳票系を含む全業務をAWS側へ
- 切替後30日間はメインフレームを「ウォームスタンバイ」として保持
- 重大障害発生時は48時間以内に旧環境へ切り戻し可能な体制を維持
データ同期方式:
パラレルラン期間中のデータ同期は下記2方式を組み合わせる:
– リアルタイム同期: VSAM/DB2の更新イベントをCDC(Change Data Capture)で捕捉 → AWS DMS → RDS/DynamoDB へ同期
– バッチ同期: 日次EOD(End of Day)バッチ後の差分ファイルをS3へアップロード → AWS Glue でRDSへロード
切戻し可逆性の確保:
– 全面切替後も旧メインフレームのデータをAWS側から逆同期し「切戻し可能状態」を維持
– 切戻し手順書を整備し、少なくとも年1回のDR訓練で検証済みの状態を保つ
– 切戻し判断基準: エラー率が通常時の3倍超、または基幹業務停止が30分超の場合
Wave Group設計
メインフレームの移行を一括で行うのは高リスクだ。Wave Group に分割し、段階的に移行する。
標準的な3グループ分類:
| Wave Group | 対象 | 移行難易度 | 推奨移行順 |
|---|---|---|---|
| バッチ系 | 夜間バッチ(日次集計・帳票生成・ファイル転送) | 低〜中 | 第1Wave(低リスク・結果検証容易) |
| オンライン系 | CICS端末アプリ・Webフロントエンド連携 | 中〜高 | 第2Wave(ユーザ影響あり・十分テスト後) |
| 帳票系 | 帳票生成・印刷スプール・外部連携 | 中 | 第3Wave(帳票品質基準が厳格・法規制対応) |
Wave Group設計のポイント:
– 依存関係マップ: JCLのSTEP依存・プログラム間インターフェースをすべて洗い出す
– 1Wave = 1〜3業務サブシステムが適切な粒度(大きすぎると障害時の原因特定が困難)
– Wave完了基準: パラレルラン出力差分0件 × 3営業日連続 + 本番稼働72時間無障害
Wave Group の詳細設計例:
【受注管理システム Mainframe Modernization Wave計画例】
Wave1(バッチ系):
- 受注日次集計バッチ(ORDBATCH1〜ORDBATCH12)
- 在庫更新バッチ(INVBATCH1〜INVBATCH8)
- テスト期間: 2週間(日次バッチ × 14回)
- 合格基準: 出力CSV差分0件 × 10営業日連続
Wave2(オンライン系):
- CICS受注入力端末(ORDTRANS1〜ORDTRANS5)
- 受注照会Webサービス(ORDQUERY1〜ORDQUERY3)
- テスト期間: 4週間(日中業務 + 夜間バッチ)
- 合格基準: トランザクション処理時間 < 2秒 × 1週間連続
Wave3(帳票系):
- 月次請求書生成(BILLRPT1〜BILLRPT6)
- 出荷伝票印刷(SHPRPT1〜SHPRPT4)
- テスト期間: 1ヶ月(月末帳票を必ず含む)
- 合格基準: 帳票ページ数・金額合計がMF出力と100%一致
アセスメントプロセスと移行計画策定
Mainframe Modernization プロジェクトの成否は「アセスメント精度」で決まる。アセスメント不足で後から問題が発覚するケースが最も多い。
アセスメント4フェーズ:
- インベントリ収集(1〜2週間)
- プログラム一覧(COBOL/JCL/CICS/PL1)を全棚卸し
- データセット一覧(VSAM/GDG/テープ)の洗い出し
外部連携インターフェース(FTP/MQ/RACF)の整理
複雑度分析(2〜3週間)
- Blu Age Analyzer / MF Enterprise Analyzer で全プログラムをスキャン
- 複雑度スコア(Cyclomatic Complexity)を算出
変換困難プログラムのリストアップ(REDEFINES多用・動的CALL等)
リスク評価(1〜2週間)
- 変換困難プログラムの対処方針決定(手動変換 / 留置き / 新規開発)
- 業務停止許容時間と移行スケジュールの整合性確認
パラレルラン環境の調達・構築コスト見積もり
移行計画策定(1〜2週間)
- Wave Group 分割設計と順序決定
- テスト計画(パターン数・合格基準・期間)
- コスト・スケジュール・リスクのトレードオフ調整
アセスメント完了の判断基準:
– 移行対象プログラムの100%棚卸し完了
– 変換困難プログラムの対処方針が全件確定
– Wave Group 間の依存関係グラフが完成
– パラレルラン合格基準が業務部門と合意済み
Micro Focus JCL → AWS Batch マッピング設計
Re-platform 選択時の主要な技術課題は JCL の AWS Batch へのマッピングだ。
JCL STEP と AWS Batch Job の対応関係:
【JCL 側】
//STEP010 EXEC PGM=ORDPROC,PARM='DATE=&DATE'
//INFILEDD DSN=PROD.ORD.INPUT,DISP=SHR
//OUTFILE DD DSN=PROD.ORD.OUTPUT,DISP=(NEW,CATLG)
//SYSOUTDD SYSOUT=A
【AWS Batch 側】
Job Definition: ORDPROC-job
Container: {
image: "123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/mf-ordproc:latest",
environment: [{"name": "PARM_DATE", "value": "<DATE>"}],
mountPoints: [
{"sourceVolume": "infile", "containerPath": "/vsam/ORD_INPUT"},
{"sourceVolume": "outfile", "containerPath": "/vsam/ORD_OUTPUT"}
]
}
Job Queue: mainframe-migration-queue
computeEnvironment: mainframe-compute-env (Fargate)
JCL フロー制御の変換:
| JCL 制御構文 | AWS Batch 相当 |
|---|---|
COND=(0,NE) | Step Functions Choice state(前JOBの終了コード評価) |
IF/THEN/ELSE/ENDIF | Step Functions Conditional branch |
GDG (Generation Data Group) | S3 バージョニング + Lambda でGDG世代管理を実装 |
PROC (カタログドプロシジャ) | AWS Batch Job Definition テンプレート |
JCLLIB | AWS ECR に登録したコンテナイメージ群 |
JCL フロー全体を AWS Step Functions で管理する構成:
{
"StartAt": "STEP010",
"States": {
"STEP010": {
"Type": "Task",
"Resource": "arn:aws:states:::batch:submitJob.sync",
"Parameters": {
"JobName": "ORDPROC-step010",
"JobDefinition": "ORDPROC-job",
"JobQueue": "mainframe-migration-queue"
},
"Next": "CheckRC010"
},
"CheckRC010": {
"Type": "Choice",
"Choices": [
{
"Variable": "$.status",
"StringEquals": "SUCCEEDED",
"Next": "STEP020"
}
],
"Default": "AbendHandler"
}
}
}
本番運用キーポイント
| 項目 | 推奨設定・考え方 |
|---|---|
| アセスメントツール | Blu Age Analyzer / Micro Focus Enterprise Analyzer で複雑度・変換率を事前定量化 |
| パラレルラン期間 | 最低1ヶ月、複雑なオンライン系は3ヶ月以上確保 |
| 差分検証 | 出力ファイル・DB更新件数・帳票ページ数の3軸で毎日比較 |
| Wave粒度 | 1Wave = 1業務サブシステム(最大でも3サブシステム以内) |
| 切戻し保持期間 | 全面切替後30日間はメインフレームウォームスタンバイ維持 |
| ライセンス計画 | Micro Focus はインスタンス数課金 → Auto Scalingとの組み合わせ要確認 |
| テストカバレッジ | 変換後コードの回帰テストは入力パターン網羅率80%以上を目標 |
| 監視 | AWS CloudWatch でバッチジョブ完了時間・エラー率を毎日モニタリング |
即断できる3パターン:
1. COBOL資産が500万ステップ超 かつ 改修予算なし → リプラットフォーム(Micro Focus)
移行期間を最短化。コードそのままでAWS上の互換ランタイムで稼働。長期ライセンスコストを許容できるなら最速の移行路。
2. COBOL資産が100万ステップ未満 かつ Java開発チームあり → リファクタ(AWS Blu Age)
2〜3年でライセンスコストゼロの恩恵が出始め、5年TCOでリプラットフォームを逆転。
3. 混在(基幹200万ステップ + 帳票50万ステップ)→ ハイブリッド戦略
帳票系50万ステップをBlu Ageでリファクタ、基幹200万ステップはMicro Focusでリプラットフォーム。リスクと費用のバランスを最適化。
パラレルランで出力差分が収束しない場合の対処:
差分をカテゴリ分類(ロジック差異 / データ型変換誤り / タイムゾーン差異)し、Wave切替を一時停止して根本原因を修正してから再開すること。「差分は許容範囲」と判断して進むと本番障害に直結する。
全面切替前に確認する7項目:
– [ ] パラレルラン出力差分0件 × 3営業日連続達成
– [ ] データ同期遅延が業務SLA以内(例: EODバッチ完了前にRDS同期完了)
– [ ] 切戻し手順書を最新化し、テスト実行済み(切戻し所要時間を計測・記録)
– [ ] Wave完了基準(本番稼働72時間無障害)を各Waveで達成済み
– [ ] Micro FocusライセンスのAWS環境適用を確認(オンプレ並走中は二重課金に注意)
– [ ] メインフレームのウォームスタンバイ体制(30日間)を運用チームと合意済み
– [ ] 監視アラート(バッチ完了遅延・エラー率上昇)がCloudWatchに設定済み
切戻し判断基準(自動エスカレーション目安):
– エラー率が過去30日平均の3倍超 → Wave単位切戻し検討
– 基幹業務停止30分超 → 即時旧環境へ切戻し
– データ不整合検知(帳票数・DB件数の差異) → 切戻し + 根本原因調査を並行実施
詰まりポイント7選 + アンチパターン → 正解パターン変換
実際の移行プロジェクトで繰り返し発生する詰まりポイントを7つに絞り込み、原因・影響・解決策をセットで整理する。
症状: エージェントをオンプレサーバにインストールしたが、MGN コンソールに「Not Ready」のまま表示される。レプリケーションが一切開始しない。
原因:
– エージェントがMGNサービスエンドポイント(mgn.ap-northeast-1.amazonaws.com)へのアウトバウンド通信を許可されていない
– IAM ロール(AWSApplicationMigrationAgentRole)がエージェントに割り当てられていない
– エージェントのアクティベーションキーの有効期限切れ(デフォルト24時間)
解決策:
1. ファイアウォールルールで TCP 443(HTTPS)と TCP 1500(レプリケーションデータ転送)を許可
2. IAM ロールに AWSApplicationMigrationAgentPolicy のアタッチを確認
3. アクティベーションキーを再発行しエージェントを再登録
予防策: エージェントインストール前に、オンプレサーバからの疎通確認コマンドを必ず実行する。
# MGN エンドポイント疎通確認
curl -s -o /dev/null -w "%{http_code}" \
https://mgn.ap-northeast-1.amazonaws.com/HealthCheck
# 200 が返れば通信OK
症状: Snowball デバイスに平文でデータを転送してしまった状態で物理輸送に出してしまった。デバイスが紛失・盗難に遭った場合のリスクが未評価。
原因:
– Snow Family ジョブ作成時に KMS キーを指定しなかった(デフォルトは暗号化オフ)
– 「デバイス自体が暗号化されている」という誤解(デバイスレベルの暗号化とデータレベルの暗号化は別物)
実際の仕組み:
– Snowball Edge は物理デバイスレベルで TPM チップによる改ざん検知を実装
– データレベルの暗号化は「ジョブ作成時に KMS キーを指定」して初めて有効になる
– 暗号化キーはデバイスに保存されず、AWS KMS に保持される(デバイス紛失時もデータは解読不能)
解決策:
ジョブ作成時に必ず KMS カスタマーキーを指定する。
# Snow Family ジョブ作成時の暗号化指定例
aws snowball create-job \
--job-type IMPORT \
--resources '{"S3Resources":[{"BucketArn":"arn:aws:s3:::my-bucket"}]}' \
--kms-key-arn "arn:aws:kms:ap-northeast-1:123456789012:key/your-key-id" \
--snowball-type EDGE_STORAGE_OPTIMIZED \
--region ap-northeast-1
予防策: ジョブ作成の承認フローに「KMS キー指定確認」チェックを追加する。
症状: File Gateway 経由のファイルアクセスが遅い。特に大容量ファイルの読み込み時にタイムアウトが発生する。
原因:
– キャッシュディスク容量がホットデータサイズに対して小さすぎる
– キャッシュHit率が低く、毎回S3からデータを取得している(キャッシュミスが多発)
適切なキャッシュサイジング:
| 業務パターン | 推奨キャッシュサイズ |
|————|——————-|
| 読み込み専用・低頻度 | 7日間のアクセス頻度上位20%のデータ量 × 1.2 |
| 読み書き混在・高頻度 | 7日間の書き込み量 × 1.5(アップロードバッファ含む) |
| 大容量ファイル(動画・CADデータ) | ピーク時同時アクセス数 × 最大ファイルサイズ × 2 |
解決策:
1. CloudWatch の CacheHitPercent メトリクスを確認(80%以上が目標)
2. CacheHitPercent が低い場合はキャッシュディスクを増設
3. File Gateway VM に追加ディスクをアタッチし、Storage Gateway コンソールから「キャッシュ追加」を実行
予防策: 導入前に7日間のアクセスログを分析し、ホットデータ量を定量化してからキャッシュサイズを決定する。
症状: Volume Cached モードのボリュームで I/O レイテンシが高い。オンプレ時代より応答時間が悪化したとユーザから苦情が出た。
原因:
– Volume Cached モードでは「頻繁にアクセスされるデータ」のみローカルキャッシュに保持し、残りはS3に格納
– キャッシュに乗らないデータへのアクセスは毎回S3から取得するため、ネットワーク遅延が発生
– キャッシュサイズの算出時に「ランダムアクセスパターン」を考慮していなかった
Cached vs Stored の選択基準:
| 判断基準 | Volume Cached 推奨 | Volume Stored 推奨 |
|———|——————|——————|
| アクセスパターン | 20%のホットデータへの集中アクセス | 全データへの均等アクセス |
| ローカルストレージ制約 | ローカルストレージが限られている | 大容量ローカルストレージあり |
| DR要件 | S3スナップショットでDRを代替 | ローカルフルコピー + S3バックアップ両方必要 |
解決策:
ランダムアクセスパターンが多い業務は Volume Stored モードに切り替えるか、キャッシュサイズを総ボリュームサイズの30〜40%まで拡大する。
症状: Wave 2 でAPサーバをカットオーバーしたが、DBサーバはまだオンプレに残っており、AP→DB間の接続が切れた。本番障害が発生。
原因:
– Wave 設計時にサーバ間の依存関係(AP → DB、Web → AP)を整理せずに、物理的な配置(ラック・VLAN)だけでWaveを分けた
– 依存先サービスより先に依存元サービスをカットオーバーしてしまった
依存関係の正しい移行順序:
正しい順序:
Wave1: DBサーバ群(依存されている側を先に移行)
Wave2: APサーバ群(DB接続先をAWS側に更新してからカットオーバー)
Wave3: Webサーバ群(AP接続先をAWS側に更新してからカットオーバー)
誤った順序(よくある失敗):
Wave1: Webサーバ群 → APへの接続は生きているが
Wave2: APサーバ群 → DBはまだオンプレ → AP→DB接続切れ → 障害
解決策:
1. アプリケーション依存関係マップを作成(ツール: AWS Migration Hub、または手動のヒアリング)
2. 依存グラフのトポロジカルソートで正しいWave順序を決定
3. Wave切替時の「接続先設定変更タスク」を各Wave手順書に明示する
予防策: Test Launch フェーズで依存関係の動作確認を必ず行い、本番カットオーバー前に接続パスを全テスト。
症状: AWS Blu Age で変換したアプリをパラレルランしたところ、月末バッチの出力結果がメインフレームと一致しない。調査すると変換対象として登録していないCOBOLバッチプログラムが存在した。
原因:
– アセスメント時のCOBOLプログラム棚卸しが不完全で、長年メンテナンスされていない「隠れバッチ」が移植対象から漏れた
– JCLのSTEP参照リストだけで棚卸しを行い、動的に呼ばれるプログラム(CALL identifier形式)を見落とした
棚卸しの正しいアプローチ:
# 静的 CALL の抽出(JCL STEP PGM= から)
grep -r "EXEC PGM=" ./jcl/ | awk '{print $3}' | sort -u > static_programs.txt
# 動的 CALL の抽出(COBOL ソース内の CALL 文)
grep -r "CALL " ./cobol/ | grep -v "CALL '" | awk '{print $2}' | \
sed "s/['\"]//g" | sort -u > dynamic_calls.txt
# 差分確認(dynamic_callsにあってstatic_programsにないものが漏れ候補)
comm -23 <(sort dynamic_calls.txt) <(sort static_programs.txt)
解決策:
1. Micro Focus Enterprise Analyzer の「Call Graph」機能で動的CALLを含む完全な依存グラフを生成
2. 棚卸しリストと Call Graph の差分をすべて移植対象に追加
3. パラレルランで月末・月初バッチを必ずテスト対象に含める
予防策: アセスメント完了基準に「動的CALL依存グラフの100%カバレッジ確認」を必須項目として加える。
症状: Snowball デバイスをオンプレに受け取ったまま1ヶ月以上放置してしまい、返送期限(デフォルト10日)を大幅に超過。追加費用が請求された。
原因:
– デバイス返送の期限管理をスプレッドシートで手動管理しており、担当者の休暇中に期限を見落とした
– Job ライフサイクルの状態遷移(InProgress → Complete → InTransitToAWS)の監視が自動化されていなかった
Snow Family Job ライフサイクル状態遷移:
Job作成 → PreparingAppliance → InProgress(デバイス使用中)
→ Complete(データ転送完了・返送待ち)※ここから返送期限カウント開始
→ InTransitToAWS(返送輸送中)
→ WithAWS(AWS受取・S3インポート処理中)
→ Completed(完全完了)
自動監視の実装例:
import boto3
from datetime import datetime, timezone
def check_snow_job_deadlines():
client = boto3.client('snowball', region_name='ap-northeast-1')
jobs = client.list_jobs()['JobListEntries']
for job in jobs:
if job['JobState'] == 'Complete':
created = job['CreationDate']
days_elapsed = (datetime.now(timezone.utc) - created).days
if days_elapsed >= 7: # 10日期限の3日前にアラート
print(f"ALERT: Job {job['JobId']} - {days_elapsed}日経過。返送期限まで{10 - days_elapsed}日")
check_snow_job_deadlines()
解決策:
1. CloudWatch Events で JobState = Complete 遷移時に SNS 通知を設定
2. Lambda で定期チェック(日次)し、返送期限3日前にアラートメールを送信
3. デバイス受取時に「返送期限日」をカレンダー登録するオペレーション手順を必須化
アンチパターン → 正解パターン変換
アンチパターン1: MGN launch template 未指定 → IAM Profile + Tag + SG + UserData テンプレ
アンチパターン: launch template を指定せずに Test Launch を実行。移行後インスタンスに正しい IAM Instance Profile・Security Group・Tags が付与されず、本番環境のポリシーと不整合が発生。
正解パターン: EC2 Launch Template を事前に作成し、MGN のレプリケーション設定に紐づける。
{
"LaunchTemplateData": {
"IamInstanceProfile": {
"Arn": "arn:aws:iam::123456789012:instance-profile/MigrationInstanceProfile"
},
"SecurityGroupIds": ["sg-0abc123def456789a"],
"TagSpecifications": [
{
"ResourceType": "instance",
"Tags": [
{"Key": "Project", "Value": "migration-2026"},
{"Key": "Wave", "Value": "wave1"},
{"Key": "Env", "Value": "production"}
]
}
],
"UserData": "IyEvYmluL2Jhc2gKZWNobyAiTUdOIG1pZ3JhdGlvbiBpbnN0YW5jZSBpbml0aWFsaXplZCIK"
}
}
アンチパターン2: Snow データ取込検証スキップ → Manifest検証 + チェックサム必須
アンチパターン: Snowball からS3へのインポート完了後、データ検証をスキップして移行完了と判断。後日、一部ファイルの破損・欠落が発覚。
正解パターン: インポート完了後に Manifest ファイルとチェックサムで整合性を検証する。
# Snow Family インポート後の検証手順
# 1. Job完了後に Manifest ファイルをダウンロード
aws snowball get-job-manifest \
--job-id JID123e4567-e89b-12d3-a456-426614174000 \
--output text > job_manifest.csv
# 2. S3 上のオブジェクトとManifestを比較
aws s3 ls s3://my-import-bucket --recursive | awk '{print $4}' | sort > s3_objects.txt
awk -F',' '{print $1}' job_manifest.csv | sort > manifest_objects.txt
diff manifest_objects.txt s3_objects.txt # 差分0件であることを確認
# 3. チェックサム検証(sha256)
aws s3api head-object --bucket my-import-bucket --key path/to/file \
--query 'ChecksumSHA256'
アンチパターン3: Storage Gateway VM CPU/RAM不足 → 推奨スペック採用
アンチパターン: コスト削減のため Storage Gateway VMを vCPU×2・RAM 4GB で構成。高負荷時にCPUが100%張り付き、ファイルアクセスが極端に遅くなった。
正解パターン: AWS 推奨の最小スペック以上で構成する。
| Gateway種別 | vCPU(最小) | RAM(最小) | ディスク(キャッシュ) |
|---|---|---|---|
| File Gateway | 4 vCPU | 16 GB | 150 GB以上 |
| Volume Gateway | 4 vCPU | 16 GB | キャッシュ+バッファ合計 |
| Tape Gateway | 4 vCPU | 16 GB | 150 GB以上 |
高負荷環境(1日あたり書き込み1TB超)では vCPU×8・RAM 32GB 以上を推奨。Gateway VMのメトリクス(CPU・メモリ・キャッシュHit率)をCloudWatchで常時監視し、閾値超過時にインスタンスタイプを変更する。
アンチパターン4: Mainframe Wave単位粒度過大 → 業務サブシステム単位の細分化
アンチパターン: 「COBOL系バッチ全部を一括移行」というWave設計にしたため、1Waveに300本のJCLが含まれた。パラレルランで差分が出た際の原因特定に3週間かかった。
正解パターン: 1Wave = 1業務サブシステム(最大15〜20本のJCL)に細分化する。
悪い例:
Wave1: バッチ系全体(JCL 300本)
良い例:
Wave1-A: 売上日次集計バッチ(JCL 12本)
Wave1-B: 在庫管理バッチ(JCL 18本)
Wave1-C: 請求書生成バッチ(JCL 9本)
...
細分化のメリット:
– 差分発生時の原因特定が容易(影響範囲が小さい)
– Wave単位のロールバックが現実的な規模に収まる
– パラレルラン期間を短縮できる(検証対象が少ない)
アンチパターン5: MGN テストカットオーバー省略 → Test Launch必須
アンチパターン: スケジュールが厳しいため Test Launch をスキップし、直接 Production Launch を実行。本番環境でアプリが起動しないことが判明。深夜の緊急対応が発生。
正解パターン: 本番カットオーバー前に必ず Test Launch を実行し、全アプリの動作確認を完了させる。
# MGN Test Launch の実行と結果確認
aws mgn start-test \
--source-server-ids '["s-0abc123def456789a"]' \
--region ap-northeast-1
# Test Launch 完了後の確認項目
# 1. EC2インスタンスが「Running」状態になること
# 2. アプリケーションのヘルスチェックURL が200を返すこと
# 3. ログに起動エラーがないこと
# 4. DB接続が正常に確立されること
# Test 完了後は必ず削除(テストインスタンスの費用が継続発生するため)
aws mgn terminate-target-instances \
--source-server-ids '["s-0abc123def456789a"]' \
--region ap-northeast-1
Test Launch は本番環境とは独立した EC2 インスタンスで実行され、本番レプリケーションに影響を与えない。Test Launch 後もレプリケーションは継続されるため、本番カットオーバーへの影響はない。
Vol1 × Vol2 統合移行アーキテクチャ + 選定フローチャート
AWS Migration & Transfer サービス群は「データ移行・転送基盤(Vol1)」と「サーバ移行・物理輸送・ハイブリッドストレージ・MF近代化(Vol2)」の二軸で構成される。Vol1 では DMS・SCT・Migration Hub・Transfer Family・DataSync の5サービスが「データを移す・変換する・同期する」役割を担い、Vol2 では MGN・Snow Family・Storage Gateway・Mainframe Modernization の4サービスが「サーバを動かす・物理データを運ぶ・オンプレをAWSと橋渡しする・レガシーシステムを刷新する」役割を担う。
二部作を通じて学んだ各サービスの役割を統合的に理解することで、「データベース移行」から「大容量ファイル物理輸送」「サーバ丸ごと移行」「メインフレーム近代化」まで、オンプレミス環境に存在するあらゆる資産をAWSへ移行するための完全な設計フレームが完成する。本章では2つのVolを組み合わせた統合移行アーキテクチャと、移行対象の性質に応じた最適サービス選定フローチャートを提供する。
本章で提供する設計指針は以下の4点である。第一に「Migration & Transfer 全9サービス役割分担一覧」で各サービスの責務を明確化する。第二に「Mermaid02 統合選定フローチャート」で移行対象の性質に応じた最適サービス選定パスを示す。第三に「統合移行プロジェクトの典型6フェーズ」でサービスの時系列的な連携を示す。第四に「大規模・中規模の統合パターン」で実際のプロジェクト設計に使えるテンプレートを提供する。
→ Migration & Transfer本番運用 Vol1(データ移行・転送基盤 DMS × SCT × Hub × Transfer × DataSync 編)を読む
Migration & Transfer 全9サービス役割分担一覧
Vol1の5サービスとVol2の4サービスを合わせた全9サービスの役割分担を整理する。移行プロジェクト設計時には、この一覧を参照して必要なサービスを漏れなく選定すること。各サービスの「主な役割」欄に記載された用途が移行要件と一致するかどうかをチェックし、選定理由をアーキテクチャ設計書に明記することを推奨する。
| 軸 | サービス | 主な役割 | Vol |
|---|---|---|---|
| データ転送 | AWS Database Migration Service (DMS) | リレーショナルDB継続レプリケーション・オンライン移行・CDC | Vol1 |
| データ転送 | AWS Schema Conversion Tool (SCT) | 異種DB間スキーマ・ストアドプロシージャ自動変換 | Vol1 |
| データ転送 | AWS Migration Hub | 移行プロジェクト進捗一元ダッシュボード・追跡・レポーティング | Vol1 |
| データ転送 | AWS Transfer Family | SFTP / FTPS / FTP マネージドファイル転送サーバ・カスタムIDプロバイダ | Vol1 |
| データ転送 | AWS DataSync | オンプレミス → S3 / EFS / FSx 高速オンライン同期エージェント | Vol1 |
| サーバ移行 | AWS Application Migration Service (MGN) | サーバ丸ごとレプリケーション・Wave設計・launch template・カットオーバー | Vol2 |
| 物理輸送 | AWS Snow Family (Edge / Cone) | オフライン大容量データ物理輸送・Edge Computing・クラスタ運用 | Vol2 |
| ハイブリッドST | AWS Storage Gateway | File / Volume Cached・Stored / Tape Gateway オンプレ←→AWS透過接続 | Vol2 |
| MF近代化 | AWS Mainframe Modernization | COBOL/JCL リファクタ (Blu Age) / リプラットフォーム (Micro Focus) | Vol2 |
Mermaid02: Vol1×Vol2 統合選定フローチャート
移行対象の性質と制約条件(ネットワーク帯域・データ容量・コード改修許容度・ダウンタイム許容時間)によって推奨サービスの組み合わせは大きく変わる。フローチャートはまず「何を移行するか」の大分類から始まり、各分岐で制約条件に応じた具体的な推奨サービスを導出する。複数の移行対象が存在する場合は、それぞれのパスを辿って必要なサービス群を列挙し、最終的に Migration Hub で一元管理する。
選定フローチャートの活用手順:
- 移行対象の種別(DB / ファイル / サーバ / メインフレーム / テープ)を特定する
- 各分岐の質問に回答し、推奨サービスのノードに到達する
- 複数の移行対象がある場合は、それぞれのパスを辿り、必要なサービス群を列挙する
- 全サービスを Migration Hub に集約し、プロジェクト全体の進捗を一元管理する
- 選定したサービス群をもとに「フェーズ別サービス活用計画」を作成し、ステークホルダーと合意する
フローチャートの注意点として、移行対象が複数ある場合は各パスを独立して辿ること。例えば「サーバ500台 + Oracle DB 30本 + テープアーカイブ 100TB」という移行要件の場合、Q1 から3つのパス(MGN / DMS → SCT / Snow Family)をそれぞれ辿り、必要なサービス群を「MGN + DMS + SCT + Snowball Edge + Tape Gateway + Migration Hub」として確定する。
flowchart TD
START([移行対象を特定]) --> Q1{何を移行するか?}
Q1 -->|データベース| Q2{DB移行の種別?}
Q1 -->|ファイル・オブジェクト| Q3{ネットワーク帯域は十分か?}
Q1 -->|サーバ・VM| Q4{移行サーバの特性?}
Q1 -->|メインフレーム| Q5{コード改修の許容度?}
Q1 -->|テープバックアップ| TAPE[Tape Gateway<br>iSCSI VTL互換接続]
Q2 -->|同種DB・継続同期必要| DMS[AWS DMS<br>継続レプリケーション + CDC]
Q2 -->|異種DB・スキーマ変換必要| SCT[AWS SCT → DMS<br>スキーマ変換 + 移行]
Q3 -->|帯域十分・オンライン転送可| DS[DataSync<br>エージェント配置・高速同期]
Q3 -->|帯域不足・大容量TB級| Q3a{容量規模は?}
Q3a -->|8TB以内・辺境環境| CONE[Snowcone<br>小型・軽量・IoT対応]
Q3a -->|80TB以内・標準輸送| SBE[Snowball Edge<br>Storage Optimized]
Q3a -->|クラスタ・Edge処理必要| SBE2[Snowball Edge<br>Compute Optimized × クラスタ]
Q4 -->|Windows / Linux サーバ| MGN[MGN<br>エージェント + Wave設計 + カットオーバー]
Q4 -->|SFTP / FTP サーバ| TF[Transfer Family<br>SFTP / FTPS マネージド移行]
Q4 -->|オンプレ継続 + AWS接続| SGV[Storage Gateway<br>File / Volume Gateway]
Q5 -->|コード改修OK・Java変換| BLUAGE[Mainframe Modernization<br>AWS Blu Age リファクタ]
Q5 -->|コード改修最小・互換重視| MICROFOCUS[Mainframe Modernization<br>Micro Focus リプラットフォーム]
DMS --> HUB[Migration Hub<br>全移行進捗一元管理]
SCT --> HUB
DS --> HUB
SBE --> HUB
SBE2 --> HUB
CONE --> HUB
MGN --> HUB
BLUAGE --> HUB
MICROFOCUS --> HUB
TAPE --> HUB
TF --> HUB
SGV --> HUB
HUB --> DONE([移行完了 — AWS環境への定着])
統合移行プロジェクトの典型フェーズ
大規模オンプレミス → AWS 移行プロジェクトは以下の6フェーズで進行する。各フェーズで活用するVol1 / Vol2サービスの組み合わせを正確に把握することが移行成功の鍵である。特に「Phase 3 事前データ転送」では Vol1・Vol2 の複数サービスが並走するため、スケジュール調整と進捗管理が最重要になる。
| フェーズ | 主な作業内容 | 活用する主要サービス |
|---|---|---|
| Phase 1: アセスメント | 既存環境インベントリ収集・依存関係マッピング・Wave優先度付け | Migration Hub(追跡・可視化) |
| Phase 2: 移行設計 | Wave設計・ネットワーク設計・Target環境構築・launch template 定義 | MGN Wave設計 / Migration Hub |
| Phase 3: 事前データ転送 | DB事前同期・ファイル事前転送・大容量データ物理輸送(並走) | DMS / DataSync / Snow Family |
| Phase 4: Wave実行 | Wave単位テスト移行・検証・本番カットオーバー(Wave単位で繰り返し) | MGN / Migration Hub |
| Phase 5: 検証・DNS切替 | アプリ動作確認・DNS切替・旧環境並走期間管理・切戻し準備 | MGN / DMS(継続同期維持) |
| Phase 6: 定着・ハイブリッド | 旧環境廃棄・継続運用拠点はStorage Gatewayで接続維持 | Storage Gateway / DataSync |
Vol1 × Vol2 統合設計のチェックポイント
統合移行アーキテクチャを設計する際に見落としやすいポイントを以下に示す。設計レビュー時のチェックリストとして活用すること。
- DB移行とサーバ移行のタイミング整合: DMS CDC によるDB継続レプリケーションとMGN Wave実行のカットオーバーを同じタイミングに揃えること。DBカットオーバーとサーバカットオーバーがずれると、アプリとDBが異なる環境を向く「スプリットブレイン」状態になる。
- Snow Family 物理輸送期間の事前計上: Snow Family の物理輸送には2〜4週間かかる。DataSync によるオンライン転送と並走して事前転送を実施し、カットオーバー直前のデータ差分をDataSyncのみで補完する計画を立てること。
- Storage Gateway キャッシュサイジングの事前設計: 移行後もオンプレ拠点が継続運用する場合は、Storage Gateway のキャッシュ容量をWave実行前に決定しておく。ホットデータ率 × 業務量 × 7日Working Set で算出し、余裕を持った容量にすること。
- Mainframe 移行はMGN Waveと分離して設計: Mainframe Modernization の移行タイムラインはMGN Waveとは別に設計する。MF移行はリファクタ/リプラットフォームの開発工程が伴うため、通常のサーバ移行より1〜2年長い期間が必要になる。
- Transfer Family の移行後役割の確認: Transfer Family は「移行ツール」ではなく「移行後も継続稼働するマネージドSFTPサーバ」である。移行後のファイル受信アーキテクチャとして継続運用するかどうかを事前に決定すること。
- Migration Hub への全サービス統合: DMS / MGN / Snow Job のすべてを Migration Hub でトラッキングする。各サービスが独立して進捗を管理すると、ステークホルダーへの報告コストが膨大になり、問題検知が遅れる。
- ロールバック可逆性の維持期間設定: MGN は本番カットオーバー後も継続レプリケーションを維持することで旧環境への切戻しが可能。旧環境保持期間(通常2〜4週間)を明示的に設定し、全関係者に周知してから旧環境を廃棄すること。
- DataSync とSnow Family の役割分担明確化: オンライン転送(DataSync)と物理輸送(Snow Family)は排他ではなく補完的に使う。大容量データはSnowで先行輸送し、輸送期間中の増分はDataSyncで継続同期するハイブリッド転送が最もコスト効率が高い。
- アセスメントフェーズでの Migration Hub 早期導入: Migration Hub はアセスメントフェーズから導入し、インベントリ収集・依存関係マッピング・Wave優先度付けを一元管理する。後続のDMS / MGN / DataSync 全サービスをHubに接続することで、プロジェクト全体の進捗をリアルタイムに可視化できる。
- SCT の事前変換レポート活用: DMS による異種DB移行の前に、SCT の変換レポートで「自動変換可能」と「手動変換が必要」な箇所を事前に分類すること。手動変換量がWave実行スケジュールに与える影響を過小評価すると、DBカットオーバーがサーバ移行のボトルネックになる。
Vol1 × Vol2 サービス間連携の典型データフロー
移行フェーズを通じて Vol1 / Vol2 のサービスは以下のように連携する。どのフェーズでどのサービスがデータを受け渡すかを把握することで、移行設計の全体像が明確になる。
| フェーズ | Vol1 サービス(データ転送軸) | データ / 処理 | Vol2 サービス(サーバ移行軸) |
|---|---|---|---|
| アセスメント | Migration Hub | 移行対象インベントリ・依存関係マッピング | MGN Wave設計のインプット情報 |
| DB事前同期 | DMS CDC | 継続レプリケーション開始・差分追跡 | Migration Hub で進捗を追跡 |
| ファイル事前転送 | DataSync | S3へのファイル高速同期 | Snow Family 輸送後の差分補完に連携 |
| 物理輸送 | — | Snow Family で大容量データ物理輸送 | AWS Import 後 S3 格納・検証 |
| サーバWave移行 | Migration Hub | Wave進捗のリアルタイム管理 | MGN カットオーバー実行のGo判断 |
| ハイブリッド接続 | Transfer Family | SFTPファイル受信 | Storage Gateway でオンプレ共有に連携 |
| MF移行並走期間 | DMS | MF → AWS間データ継続同期 | Mainframe Modernization パラレルラン中 |
| 定着後継続運用 | DataSync | 継続差分同期 | Storage Gateway キャッシュデータ補完 |
この連携フローを設計に組み込むことで、Vol1 / Vol2 が独立した「点」ではなく、移行プロジェクト全体を流れる「線」として機能することが理解できる。各サービスの依存関係と連携タイミングを明示した移行設計書を作成することを推奨する。このデータフロー表をベースに、プロジェクト固有の制約(ダウンタイム許容時間・ネットワーク帯域・コンプライアンス要件)を重ね合わせてカスタマイズすること。
以上のサービス間連携パターンを踏まえた上で、次に実際の移行設計に即した「大規模エンタープライズ」と「中規模ハイブリッド」の2つの統合パターンを示す。
シナリオ: オンプレミスサーバ1,500台・データベース200本・テープアーカイブ3PBを持つ大企業がAWS移行を計画。本番サービスのダウンタイム許容はゼロ。移行期間の目標は18ヶ月以内。Direct Connect 10Gbps 回線が確立済み。
Vol1 活用(データ転送軸):
– DMS: データベース200本の継続レプリケーション。カットオーバー直前まで同期を維持し、ゼロダウンタイム移行を実現。Oracle → Aurora PostgreSQL 変換(異種DB 50本)はSCTと組み合わせて自動変換
– SCT: 異種DB間スキーマ変換(Oracle / SQL Server → Aurora)。手動変換不要部分を自動変換し、移行工数を70%削減。変換レポートでDBA確認が必要な箇所を事前に把握
– DataSync: NASデータ50TBをDirect Connect 10Gbps経由でオンライン転送。夜間バッチで事前転送し、カットオーバー時のデータ差分を最小化
– Migration Hub: 全1,500台 + 200本DBの進捗を一元可視化。ステークホルダーへの週次報告を自動化し、Wave実行のGo / No-Go判断を迅速化
Vol2 活用(サーバ移行軸):
– MGN: 1,500台を30 Wave に分割(Wave あたり50台)。週次カットオーバーで12ヶ月かけて全台移行。各Wave完了後にMigration Hubでステータスを更新
– Snow Family: テープアーカイブ3PB → Snowball Edge Compute Optimized × クラスタ40台で物理輸送。帯域による転送では18ヶ月かかる規模を3ヶ月に短縮。輸送期間中は並走でDataSyncが増分を転送
– Tape Gateway: 移行後も継続するテープバックアップ要件をiSCSI VTL互換で受け継ぎ。バックアップソフトウェアの改修なしにAWS上でテープ運用を継続。長期保存データはS3 Glacier Deep Archiveへ自動階層化
典型タイムライン: アセスメント3ヶ月 → 設計2ヶ月 → Phase 3事前転送(DMS/DataSync/Snow並走)6ヶ月 → MGN Wave実行12ヶ月 → 並走・検証3ヶ月 = 全体18ヶ月(フェーズは重複)
シナリオ: 製造業・本社サーバ100台・データベース20本・工場拠点(低帯域・物理NAS)が継続運用を前提とした中規模移行。本社業務はAWSへ完全移行、工場はオンプレ継続とハイブリッド接続を維持する方針。工場側は変更最小化が必須要件。
Vol1 活用(データ転送軸):
– DMS: 20本のDBをRDS / Aurora へ継続レプリケーション。本番カットオーバーまでゼロダウンタイムで同期を維持。移行完了後もDMSによるCDCレプリケーションを一定期間残すことで切戻しの安全網を確保
– Transfer Family: 工場拠点からのSFTPファイル転送をAWSで受け付け。既存のSFTPクライアントを変更せずにAWS側で受信し、受信後のS3ライフサイクル管理に連携。カスタムIDプロバイダで既存の工場認証サーバと統合
– DataSync: 工場共有ファイルサーバをS3へ定期同期。差分転送で夜間バッチ負荷を最小化し、工場稼働時間の帯域を保護
Vol2 活用(サーバ移行軸):
– MGN: 本社サーバ100台を5 Wave に分割し週次カットオーバー(5ヶ月計画)。工場向けアプリケーションサーバを最終Waveに配置し、Storage Gateway 切替と同時にカットオーバーすることで切替時のリスクを集中管理
– Storage Gateway File Gateway: 工場拠点のNAS → S3透過マウント(SMB互換)。工場PC側の設定変更なし。実体はS3上に保管されるため、本社AWS環境からS3オブジェクトとして直接参照可能。RootSquash設定でNFS書き込み権限を制御
– Storage Gateway Volume Gateway Cached: 工場PLCデータのiSCSIボリュームをS3へバックアップ。キャッシュHit率95%以上を目標にホットデータ率を事前計測し、キャッシュ容量を設計。工場側のストレージ応答性能を本番運用水準に維持
ポイント: 工場拠点をAWSへ完全移行せずStorage Gatewayで継続接続することで、工場システム刷新のタイムラインを本社移行と分離してリスクを低減する。本社AWS環境と工場オンプレをハイブリッドアーキテクチャで統合し、将来的な工場DX(Direct Connect増速・Edge Computing拡張等)への拡張性を確保する。
Vol1 × Vol2 移行規模別サービス選定マトリクス
移行規模と移行対象の組み合わせに応じた推奨サービス選定を以下に整理する。プロジェクト初期段階での概算コスト見積もりと選定根拠の説明資料として活用すること。
| 移行規模 | サーバ移行 | DB移行 | 大容量ファイル転送 | テープ/レガシー |
|---|---|---|---|---|
| 小規模(〜50台) | MGN(Wave 1〜3回) | DMS(継続レプリケーション) | DataSync のみ | Tape Gateway |
| 中規模(50〜300台) | MGN(Wave 5〜10回)+ Migration Hub | DMS + SCT(異種DB含む) | DataSync + Snowball Edge 並走 | Tape Gateway + Storage Gateway |
| 大規模(300台超) | MGN(Wave 10〜30回)+ Migration Hub 必須 | DMS + SCT + Transfer Family | Snowball Edge クラスタ + DataSync 並走 | Tape Gateway + MF Modernization 並走 |
| PB級データ | MGN Wave設計 + 長期スケジュール | DMS 長期CDC | Snowball Edge クラスタ 複数回 | Tape Gateway + Tape Archive移行 |
| メインフレーム含む | MGN + Mainframe Modernization 別計画 | DMS(パラレルラン期間中) | DataSync(並走期間中) | Micro Focus or Blu Age 選択 |
この選定マトリクスは概算の参考指針である。実際のプロジェクトでは、ネットワーク帯域・コンプライアンス要件・ダウンタイム許容時間・予算制約を踏まえた詳細設計が必要である。Migration Hub を早期に導入して移行対象のインベントリを収集し、データドリブンな意思決定を行うことを推奨する。
§7 まとめ: Vol1×Vol2 統合移行設計の本質
Migration & Transfer Vol1 と Vol2 の二部作を通じて理解できる最も重要な設計原則は、「データ移行とサーバ移行は並走するが、独立して管理する」という点である。
- 並走の必要性: DB継続同期(DMS)とサーバWave移行(MGN)は同じ移行期間に並走する。両者が切り離されると、サーバはAWSに移行済みなのにDBが旧環境に残るという「スプリットブレイン」が発生する。
- 独立した管理の必要性: 一方で、DB移行とサーバ移行はそれぞれ独自の依存関係・スケジュール・リスクを持つ。同一のWave設計書に両方を詰め込むと、どちらかのリスクが他方に波及する。DB移行計画とサーバ移行計画は別ドキュメントとして管理し、Migration Hubで統合的に進捗を可視化することが最善の設計パターンである。
- 物理輸送は事前完了が原則: Snow Familyによる物理輸送は、Wave実行開始の8週間前には着手する。物理輸送が遅延すると、Wave実行全体のタイムラインが後ろ倒しになる。
- Storage GatewayとMainframe近代化は長期運用前提: これら2サービスは「移行完了後も継続稼働するアーキテクチャコンポーネント」である。MGNやDMSが「移行完了後に役割を終える一時的ツール」であるのと対照的。Storage GatewayとMF Modernizationを移行後の恒久アーキテクチャとして設計することが重要である。
Vol1×Vol2の9サービスを統合した移行アーキテクチャは、単なる「サービス一覧」ではなく、移行フェーズを通じて連携する「動的なデータ・システム移行フロー」として設計すること。それが Migration & Transfer 二部作の最大の設計実践知識である。
選定フローチャートと統合設計のチェックポイントを活用し、プロジェクト初期段階でVol1 / Vol2 両軸のサービス選定を確定させること。移行設計の遅延は波及的にWave実行スケジュールを後ろ倒しにするため、アセスメントフェーズでの早期確定が最も費用対効果が高い投資となる。Migration & Transfer 二部作を読んだ読者は、本章で提示したフローチャートと統合パターンを、実際のプロジェクト設計書のたたき台として活用してほしい。
まとめ — Migration & Transfer 二部作完成 + 全軸クロスリンク + 65記事化告知
§8-1: Migration & Transfer 二部作完成宣言
AWS Migration & Transfer 本番運用シリーズは、本記事(Vol2)の完成をもって二部作が揃い、第26軸目が完結する。
Vol1(データ移行・転送基盤 編)では DMS による継続レプリケーション・SCT による異種DBスキーマ変換・Migration Hub による進捗一元管理・Transfer Family によるマネージドSFTP・DataSync による高速オンライン同期の5サービスを深堀りした。「データそのものをどう移行し、継続同期し、スキーマを変換するか」に焦点を当てた設計実践知識を体系化した。
→ Migration & Transfer本番運用 Vol1(データ移行・転送基盤 DMS × SCT × Hub × Transfer × DataSync 編)
Vol2(本記事:サーバ移行・物理輸送・ハイブリッドストレージ・MF近代化 編)では MGN によるエージェント配置・Wave設計・カットオーバー手順・ロールバック戦略、Snow Family による物理輸送ライフサイクル・クラスタ運用、Storage Gateway による File/Volume/Tape 3種運用・キャッシュサイジング、Mainframe Modernization によるリファクタ vs リプラットフォーム判断の4サービスを深堀りした。「サーバとストレージの物理・論理移行をどう設計するか」に焦点を当てた設計実践知識を体系化した。
二部作を合わせることで、「データを移す」×「サーバを動かす」×「物理データを運ぶ」×「オンプレをAWSと繋ぐ」×「レガシーを刷新する」の全5移行動詞をカバーする Migration & Transfer 完全体が完成する。
第26軸目完結・65記事化達成: 本記事の完成により、AWSサービス本番運用シリーズは第26軸目を二部作で完成させ、合計65記事を達成する。引き続き全軸シリーズとして AWS 本番運用の設計実践知識を体系化し続ける。
Vol1とVol2を統合して理解することで獲得できる設計力:
– (a) MGN でエージェント配置・Wave設計・launch template・カットオーバー手順・ロールバック戦略を確立できる
– (b) Snow Family で Snowball Edge/Snowcone 選定・物理輸送ライフサイクル・物理セキュリティ・クラスタ運用を構築できる
– (c) Storage Gateway で File/Volume Cached・Stored/Tape 3種運用・キャッシュサイジング・SMB/NFS認証を設計できる
– (d) Mainframe Modernization でリファクタ vs リプラットフォーム判断・Micro Focus/AWS Blu Age 活用・Wave Group設計を実装できる
– (e) Vol1×Vol2 統合移行アーキテクチャでデータ+サーバの両軸を一つの設計フレームで表現できる
– (f) 詰まり7選 + アンチパターン演習5問でサーバ移行・物理輸送設計力を実践レベルで習得できる
65記事達成の意義: AWSサービス本番運用シリーズは Migration & Transfer 二部作(Vol1 + Vol2)の完成をもって、第26軸目を完結し合計65記事を達成した。各軸が独立した深堀りシリーズとして体系化されており、AWS本番運用の設計実践知識を26軸の密度でカバーする。
Migration & Transfer 軸の達成内容:
– Vol1: DMS × SCT × Migration Hub × Transfer Family × DataSync の5サービス深堀り(データ移行・転送基盤)
– Vol2: MGN × Snow Family × Storage Gateway × Mainframe Modernization の4サービス深堀り(サーバ移行・物理輸送・MF近代化)
– 統合: Vol1×Vol2 全9サービスの統合移行アーキテクチャ + 選定フローチャートで二部作を完結
二部作で得られる設計力の全体像: 「データ転送」と「サーバ移行」の両軸を統合して設計できるCloud Architect / Migration Engineerとしての実践力が完成する。大規模エンタープライズ移行から中規模ハイブリッド移行まで、あらゆる規模・形態のAWS移行プロジェクトに対応できる。
§8-2: Vol2 学習達成サマリ
MGN (AWS Application Migration Service) — エージェント配置 → Wave設計 → カットオーバー → ロールバック
– エージェント配置: Linux/Windows 対応・TCP 1500 レプリケーション通信・PrivateLink 対応で閉域環境にも展開可能
– Wave設計: アプリ依存関係を考慮したWave分割・Wave Group内の並行起動・Migration Hubでの進捗追跡
– カットオーバー手順: Test Launch(本番前検証)→ Production Launch → DNS切替。Test Launch を省略しない
– ロールバック戦略: カットオーバー後も継続レプリケーションを2〜4週間維持・旧環境保持期間を全関係者に周知してから廃棄
Snow Family — 3デバイス選定 → 物理ライフサイクル → クラスタ運用
– 3デバイス選定: Snowcone(8TB・軽量・IoT)/ Snowball Edge Storage Optimized(80TB・標準)/ Compute Optimized(クラスタ・Edge処理)
– 物理ライフサイクル: Job作成 → デバイス出荷 → データ転送 → 返送 → AWS Import → Manifest検証
– クラスタ運用: 3〜16台のSnowball Edge でS3互換オブジェクトストレージを形成。ノード障害時の自動フェイルオーバー
– 必須: KMSキーをJob作成時に必ず指定してデータを暗号化。デバイス紛失時のリスクを排除
Storage Gateway — File / Volume / Tape 3種運用 + キャッシュサイジング
– File Gateway: SMB/NFS → S3透過マウント。RootSquash でNFSセキュリティ強化。SMBはAD統合 or ゲストアクセス選択
– Volume Gateway Cached: 頻繁アクセスデータをローカルキャッシュに保持・本体はS3。キャッシュHit率95%以上を目標にサイジング
– Volume Gateway Stored: 本体データをオンプレ保持・S3へEBSスナップショットでDR。RPO = スナップショット間隔
– Tape Gateway: iSCSI VTL互換でバックアップソフトを無改修で移行。長期保存はS3 Glacier Deep Archiveへ自動階層化
Mainframe Modernization — リファクタ vs リプラットフォーム + Micro Focus / AWS Blu Age
– リプラットフォーム(Micro Focus): COBOL/JCL/CICSを変換なしにAWSで実行。コード改修最小・ライセンスコスト継続
– リファクタ(AWS Blu Age): COBOL → Java/Angular 自動変換。長期保守性向上・ライセンスフリー化・クラウドネイティブ化
– 選定基準: 既存資産量・改修許容度・ライセンスコスト・移行期間の4軸で判断
– Wave Group設計: バッチ系 / オンライン系 / 帳票系でWave Groupを分離。パラレルラン期間中はデータ同期を維持
§8-3: 4サービス 本番運用 重要設定一覧
MGN(Application Migration Service)の要点:
エージェント配置はOSを問わずTCP 1500でレプリケーション。Wave設計はアプリ依存関係を優先。Test Launch は本番カットオーバー前に必ず実施。カットオーバー後2〜4週間は継続レプリケーションを維持してロールバックに備える。
Snow Family の要点:
3デバイス(Snowcone/Edge Storage/Edge Compute)の選定はデータ容量とEdge処理要件で決まる。Job作成時のKMS暗号化指定は必須。物理輸送2〜4週間を考慮してDataSyncと並走させる。AWS Import完了後はManifest検証を省略しない。
Storage Gateway の要点:
3種類(File/Volume/Tape)の選定は「ファイル共有/iSCSIブロック/テープバックアップ」のどれかで決まる。Volume Gateway はCachedとStoredで設計思想が異なる(キャッシュ優先 vs オンプレ保持)。キャッシュサイジングはホットデータ率 × 7日Working Setで算出する。
Mainframe Modernization の要点:
リファクタ(Blu Age: COBOL→Java変換)とリプラットフォーム(Micro Focus: COBOL互換実行)の選定は改修許容度で決まる。Wave Groupはバッチ/オンライン/帳票の3系統に分離する。パラレルラン期間(3〜6ヶ月)中はDMSでデータ同期を維持する。
4サービス 本番運用 要点まとめ(表)
| サービス | 最重要設定 / 判断ポイント | 本番運用の鍵 |
|---|---|---|
| MGN | launch template(インスタンスタイプ / IAM Profile / SG / UserData) | Test Launch 必須・ロールバック期間2〜4週間維持 |
| Snow Family | KMS暗号化 / デバイス種別選定(容量・Edge処理要否) | Manifest検証 / クラスタHAノード数 |
| Storage Gateway | キャッシュサイズ(ホットデータ率 × 7日Working Set) | File/Volume/Tape種別選定 / AD統合認証 |
| Mainframe Modernization | リファクタ vs リプラットフォーム判断 | Wave Group分割(バッチ/オンライン/帳票) |
MGN 本番運用 重要設定一覧
| 設定項目 | 推奨値 / 設計指針 |
|---|---|
| Replication Server インスタンスタイプ | m5.large 〜 c5.2xlarge(レプリケーション帯域・同時接続数による) |
| Staging Area Subnet | プライベートサブネット(インターネット非公開)・NAT/PrivateLink経由でエンドポイント通信 |
| EBS暗号化 | KMSカスタマーキー指定(デフォルトキーではなく専用キーを作成) |
| launch template: インスタンスタイプ | 本番ワークロードに合わせた最適化(移行元スペック以上を原則) |
| launch template: IAM Profile | 最小権限のインスタンスプロファイル(必要なAWSサービスアクセスのみ) |
| Test Launch 実施 | 本番カットオーバー前に必ず実施。Test Launch 環境でアプリ動作確認 |
| ロールバック可逆性 | カットオーバー後2〜4週間は継続レプリケーションを維持 |
Snow Family 本番運用 重要設定一覧
| 設定項目 | 推奨値 / 設計指針 |
|---|---|
| デバイス選定 | Snowcone(8TB以内・軽量)/ Snowball Edge Storage Optimized(80TB以内)/ Compute Optimized(Edge処理・クラスタ) |
| KMS暗号化 | Job作成時に必ずKMSカスタマーキーを指定(指定なし = 暗号化なしリスク) |
| クラスタ台数 | 3台以上16台以下。HA構成はノード過半数生存で継続動作 |
| Manifest検証 | AWS Import 完了後に必ずチェックサム一致を確認。検証スキップ禁止 |
| Job有効期間 | デフォルト360日。返送期限を超過しないようにJob期限を監視 |
| ネットワーク設定 | 10GbE推奨(1GbEでは転送速度がボトルネック。100TBで100時間以上) |
Storage Gateway 本番運用 重要設定一覧
| 設定項目 | 推奨値 / 設計指針 |
|---|---|
| Gateway VM スペック | vCPU×4・RAM 16GB 以上(File/Volume)/ Tape は vCPU×4・RAM 8GB 以上 |
| キャッシュサイズ | ホットデータ率 × 業務データ量 × 7日Working Set。最小32GB・推奨150GB以上 |
| アップロードバッファ | キャッシュの50%以上。S3へのアップロード遅延バッファ |
| File Gateway SMB認証 | AD統合(ドメイン参加)推奨。ゲストアクセスは本番環境では非推奨 |
| Volume Gateway スナップショット | 日次スナップショット必須(RPO=24時間以内が要件の場合は複数回) |
| CloudWatchメトリクス監視 | CacheHitPercent / CacheUsed / UploadBufferUsed を継続監視 |
Mainframe Modernization 本番運用 重要設定一覧
| 設定項目 | 推奨値 / 設計指針 |
|---|---|
| アプローチ選定 | リファクタ(Blu Age): Java変換・クラウドネイティブ化。リプラットフォーム(Micro Focus): COBOL互換実行 |
| Assessment実施 | Modernization Assessment で移行対象の複雑度・LOC・依存関係を事前評価 |
| Wave Group分割 | バッチ系 / オンライン系 / 帳票系を独立したWave Groupに分離 |
| パラレルラン期間 | 本番移行後3〜6ヶ月は旧MFと並走。データ整合性を継続確認してから旧MF廃棄 |
| データ同期方式 | パラレルラン中はMF→AWS間のリアルタイムデータ同期が必須。DMS活用を検討 |
| ロールバック計画 | パラレルラン終了前に旧MFへの切戻し手順を文書化・訓練実施 |
§8-4: 全軸クロスリンク
本記事(Migration & Transfer Vol2)と関連度が高いシリーズを以下に整理する。移行プロジェクトの全体設計には、データ移行・ネットワーク・データベース・ストレージの各軸の知識が不可欠である。
関連性: 最高
- Migration & Transfer本番運用 Vol1(DMS × SCT × Migration Hub × Transfer Family × DataSync) — 本記事の二部作ペア。データ移行・転送基盤の深堀り。Vol2のMGN/Snowと組み合わせて移行全体設計が完成する
関連性: 高
- Database本番運用 Vol1(RDS × Aurora × DynamoDB) — MGN移行後のDB本番運用基盤。DMSのターゲットDB運用設計の基礎
- Storage本番運用 Vol1(S3 × EFS × FSx × Storage Gateway) — Storage GatewayのバックエンドS3/EFS運用設計。Snow Family移行後のS3ライフサイクル設計
- Network Hybrid専門編(Direct Connect × VPN × Transit Gateway) — MGNレプリケーション・Storage Gatewayのオンプレ接続に必須なハイブリッドネットワーク設計
- コスト最適化 Vol1 — 移行後のAWSコスト試算・TCO比較・6Rsのコスト評価に必須
- Migration本番運用 Vol1(DMS × MGN × Snow Family × AMS) — 旧シリーズ。サーバ/アプリケーション移行(Re-host/Re-platform)の概観。本記事は同テーマの深堀り編
移行プロジェクト全体設計のための推奨学習順序
移行プロジェクトに携わるCloud Architect / Migration Engineerには以下の学習順序を推奨する:
- Migration & Transfer Vol1(データ転送軸の設計)
- Migration & Transfer Vol2(本記事:サーバ移行軸の設計)
- Network Hybrid編(オンプレ-AWS間接続基盤の設計)
- Database本番運用 Vol1(移行先DBの設計)
- Storage本番運用 Vol1(移行先ストレージの設計)
この順序で学習することで、「オンプレ → AWS」の全移行工程を設計できるCloud Architectとしての体系的な知識が身につく。
§8-5: 結び — Migration & Transfer 二部作完成と今後のシリーズ
AWS Migration & Transfer 本番運用シリーズ(Vol1 + Vol2)を通じて、「データを移す」「サーバを動かす」「物理データを運ぶ」「オンプレをAWSと繋ぐ」「レガシーを刷新する」という5つの移行動詞を体系的に学習した。9サービスの本番運用ノウハウを統合することで、大規模エンタープライズ移行から中規模ハイブリッド移行まで、あらゆる規模・形態のAWS移行を設計できる実践的な知識が身についた。
第26軸目の完成により、AWSサービス本番運用シリーズは65記事を達成した。各軸は独立して学習できるが、統合的に組み合わせることでAWS全体の設計力が飛躍的に向上する。シリーズ全体を通じてAWS本番運用の設計実践知識の体系化を継続する。