テクノロジーとインフラストラクチャ→マルチクラウド戦略と同期
マルチクラウド戦略と同期
1)なぜマルチクラウドなのか
マルチクラウド-2つ以上のパブリッククラウド(またはオンプレミスとの組み合わせ)を使用して:- レジリエンスとDR:クラウド固有のリスク(地域/プラットフォームの障害)を削減します。
- 地理とコンプライアンス:適切な管轄区域(データ居住地)での保管と処理。
- パフォーマンスとコスト:POP近くへのルート、価格/クォータの市場裁定。
- ベンダーからの独立:技術と交渉力の自由。
- 問題の価格は、データ、ネットワーク、アイデンティティ、変更プロセスを同期する複雑さです。
2)基本的な展開モデル
2.1資産責任(マルチクラウドDR)
ProdはCloud-Aに住んでいます。クラウドB-暖かい/ホットスタンバイ。
RTO/RPOは、分単位(ジャーナリング)から時間(バックアップ/リストア)まで、レプリケーションの深さに依存します。
長所: より簡単で安い。短所:RTOが高いほど、設定「ドリフト」のリスク"
2.2資産(戦闘機2機)
トラフィックはCloud-A/Cloud-B (GeoDNS/Anycast、 GSLB、国レベル/ASN)間で分散されます。
思慮深いデータ一貫性と「ブラスト半径」の分離が必要です。
長所:低いRTO/RPO、ユーザーに近い。短所:一貫性とテストの複雑さ。
2.3ドメイン単位で分割(機能セグメンテーション)
PSPへの最高のプライベート接続を備えたクラウドの決済コア。content/directory-別のディレクトリで。
クロスクラウドホットトラック同期を最小限に抑えます。
3)データ同期: 戦略とパターン
3.1コンシステンシータイプ
Strong-Transactional同期レプリケーション(通常は同じクラウド/リージョン内)。
最終(最終的な):非同期レプリケーション;カタログ、プロフィール、分析のために適した。
ホット垂直の外の読み取りのための有限staleness有効なラグ(秒/分)。
3.2レプリケーション・テクニック
CDC (Change Data Capture): journal→events→application in another cloud;DWH/reporting/cachesに適しています。
イベントソーシング:真実のソース-ドメインイベントのストリーム;これらはそれぞれの雲の中で組み立てられた投影です。
CRDT/コンフリクトフリー構造:編集可能なエントリ/カウンタの場合(例:評価/リーダーボード)。
idempotencyによる二重書き込み:イベントによる記録と公開;受信側は重複排除(outbox/inbox)を提供します。
オブジェクトストア:バージョン管理+クロスリージョン/クロスクラウドレプリケーション(エグレスオーバーヘッド付き)。
3.3紛争解決(例)
ドメインルール:同じタイプのidempotentコマンドの場合のみ"last operation wins'。
真実のソースに従って注文:支払いステータスはウォレットを最終化し、その逆ではありません。
ベクトルクロック/論理ラベル:資産資産レコードのまれな衝突の場合。
補償(サガ):相違の場合-ドメイン補償(残高のブロックを解除し、トランザクションを逆転)。
3.4実用的なレイアウト(財布と支払い)
コマンド(デビット/クレジット)はCloud-A/Cloud-Bのローカルログに移動します。
イベントのウォレット。changed'はクラウドバス経由で両方のクラウドに公開されます。
ステータスの確定-PSPの確認のみ。'operation_id'による重複除外。
最終レポートは、各クラウドでCDC→DWHを収集します。ベンダー依存のフィールドは正規化されます。
4)ネットワーク層および全体的な交通
GSLB (Global Server Load Balancing): GeoDNS/Anycast、ヘルスサンプル/クラウド、セッションあたりの粘着性。
メッシュオーバーインターネット/プライベートリンク:IPsec/クラウド間の相互接続/プライベートピアリング。
出力制御:allow-listによるNAT-IPをPSP/KYCに固定。QoSと限界。
セグメンテーション:prod/stageの個別のサブネット。東西交通管理は、インタークラウドです。
[Users] → [GSLB/Anycast] → (Cloud-A: Edge/API) ↔ (Cloud-B: Edge/API)
[Services / Data A] ↔↔↔ [Services / Data B]
^ Inter-cloud Mesh ^
[DWH/CDC A] [DWH/CDC B]
5)アイデンティティ、秘密、コンプライアンス
IAMフェデレーション:単一のIdP (OIDC/SAML)、両方のクラウドに投影されたロールモデル。「雪片」を除きます。
秘密とKMS:各クラウドの側のキー(必要に応じてBYOK/HYOK)、回転が合意しました。マスターキーを直接複製しないでください。
mTLS/signature:クラウド間の相互TLSサービス;イベントとWebhookはHMACによってクラウドのキーで署名されます。
データ常駐:タグ/データクラス、ルーティング/ストレージポリシー(PII/PCIは国に残ります)。
監査:WORMログ、クロスクラウドトレーシング、統一された変更ログ。
6)プラットフォームと抽象化
Kubernetesマルチクラスタ:各クラウドのクラスタ;GitOps (Argo/Flux)、クラスタプロファイル、ポリシー・アズ・コード(OPA/ゲートキーパー)による統一。
サービスメッシュ(マルチクラスタ):mTLS、再試行/ブレーカ、局所認識ルーティング;クロスクラウド通話を明確に制限します。
ストレージ(CSI)とキャッシュ:必須の同期インタークラウド書き込みでステートフルセットを回避します。キャッシュ/読み取り-ローカル、非同期ウォームアップ。
IaC:クラウドアーティファクトのためのテラフォーム/クロスプレーン。ベンダー固有の「inserts」を持つ単一のモジュール。
DevPortal/Service Catalog:クラウドごとのロケーションと依存関係のメタデータ。
7) CI/CDおよび変更管理
クラウドパラメータ化(機能、クォータ、バランサの種類)を備えた単一のモノレポ/モノスペック。
Canary/Blue-Green per-cloud: Cloud-A/Cloud-B+メトリック比較で個別にリリースします。
テストマトリックス:統合テスト「oblako↔oblako」、リプレイインシデント、ジオシンセティクス。
契約バージョン管理:スキーマレジストリ全般、下位互換性のあるMINORルール。
EOL移行時にフリーズを変更:クラウド間でトラフィックを切り替えるとき。
8)観察可能性およびSLO管理
エンドツーエンドのtrace_id:ゲートウェイ→サービス→ブローカー→消費者を別のクラウドでサイジングする。'cloud'、 'region'、 'api_version'、 'partner'。
SLO per-cloud/per-region: availability/latency/errorダッシュボードとinter-cloud lag (replication latency)。
クラウド間の同期異常:DLQの増加に対するアラート、「競合率」の増加、CDCの遅延。
ステータスページ:クラウドと地域別の公開ステータス。
9) FinOps: マルチクラウドコスト
出口とクラウドチャネル間:主なコスト項目。チャッター、集計イベントを最小化し、ローカル投影を使用します。
重複リソース:各クラウドのウォームプール、予約済みインスタンス/コメント→バランス。
ロードプロファイル:クリティカルでないバックグラウンドジャブを最高の価格/クォータでクラウドにシフトします。
「一貫性コスト」カウンタ:$/sec lag、 $/GBレプリケーション、$/conflict-ビジネスの透明性。
10) iGaming/fintech用ケース
支払い/財布(厳格な一貫性レベル):高速フェイルオーバーによる資産責任;ステータスの確定イベントは唯一の真実の源です。ログ・レプリケーション。
ゲームカタログ/プロモーション/評価:最終的な資産、統計のためのCRDTカウンター;読み取りごとのTTLキャッシュ。
レギュレータへのレポート:ローカルDWHストアフロント、クロスクラウドアグリゲーション非同期;鮮度保証(SLO鮮度)。
マーケティング/通知:地理/クラウドオーケストレーション、クロスクラウド通話制限;提出物の重複排除。
KYC/AML:異なるクラウドにおける並列プロバイダ、応答の正規化、単一の意思決定ポリシー。
11)サンプルソリューション(フラグメント)
11.1アウトボックス→CDC (idempotency)
BEGIN TX apply(domain_command)
insert into outbox(event_id, aggregate_id, type, payload, hash)
COMMIT
//Replicator reads outbox, publishes to inter-cloud bus;
//receiver executes inbox-dedupe on event_id/hash.
11.2紛争政策(擬似)
if operation. type in {CAPTURE, REFUND}:
source = PSP_EVENT elif operation. type in {LIMIT_SET, LIMIT_REMOVE}:
source = RG_SERVICE apply_if_newer(source, aggregate_version)
11.3ネットワークポリシー
クラウド間の呼び出しは'events'、 'idp'、 'catalog-sync'に対してのみ許可されます。ストレート・ウォレット。write'-許可されていません(ローカル)。
12)安全性とリスク
Blast-radius:エラー/ループが両方のクラウドに「フラッド」されないように、クラウド間の帯域幅とキューの制限。
自動化のGardrails: AI-Ops/ranbooksは、マルチシグナルなしで2つのクラウドの構成を同時に変更することはできません。
コミュニケーションブレイクテスト:スプリットブレインの動作、キューの成長、タイムアウト、自動劣化。
13)実装チェックリスト
1.厳密/最終的な整合性ドメインと、ドメインごとのターゲットRPO/RTOが定義されています。
2.選択したモデル(資産責任/資産-資産/ドメインのセグメンテーション)。
3.クラウドインターネットワーク:GSLB、メッシュ/プライベートリンク、固定出力IP、 WAF/ボット保護。
4.レジストリのデータスキーマ、互換性ルール;outbox/inboxはユビキタスです。
5.Idempotenceと重複除外(キー、TTLストレージ、ハッシュ)。
6.CI/CD:クラウドごとのパラメータ化、カナリア別、一般的なリリースセンター。
7.オブザベーション:'trace_id'、レプリケーションログ、競合率、DLQ監視。
8.IAMフェデレーション、KMS/クラウドの秘密、アクセス監査。
9.FinOps: egress予算、クラウドインターコストのアラート。
10.通常のDRドリル:クラウドファイラー、スプリットブレインシミュレーション。
14)アンチパターン
同期クロスクラウドホットパストランザクション(ウォレット/書き込み)→脆弱性とP99テール。
2つのクラウドのためのデータベースの単一の「マスタークラスター」→ネットワーク上のSPOF。
データカテゴリのない「すべてを一度に」レプリケーション→コストと競合の爆発。
outbox/inboxとidempotency→duplicate payment/creditsの欠如。
オープンな形でS3-buckets/pipesを通して「動く」秘密。
Accounted egressと隠されたクラウドサービスチャット→予測不可能なアカウント。
15)ボトムライン
マルチクラウドは「コンソールの2つのティック」ではなく、データ、ネットワーク、変更プロセスの設計の規律です。一貫性の要件によってドメインを明確に分離し、クロスクラウドホットトラックを制限し、CDC/イベントソーシングとidempotencyを使用し、ラグと競合を測定し、コストを管理下に保ちます。マルチクラウドは、深夜の事件や出口請求書のソースではなく、回復力と速度のためのツールになります。