type
status
date
slug
summary
tags
category
icon
password
理論

AWS移行
- データベース移行の基本的なステップ
- 移行計画の立案: 現状のデータベースの構成、利用状況、依存関係を分析し、移行後のアーキテクチャを設計します。
- ツール選定: AWS Database Migration Service(DMS)やSnowballなど、移行要件に合ったツールを選択します。
- レプリケーション: オンプレミス環境とクラウド環境でデータをリアルタイムで同期し、移行中のダウンタイムを最小限に抑えます。
- Aurora MySQLの特徴
- スケーラビリティ: Auroraは高性能で自動スケーリングが可能。レプリカを作成することで、読み取り負荷を分散できます。
- マルチAZ構成: 高可用性を実現し、障害が発生しても迅速に復旧します。
- RDS Proxyの活用: アプリケーションの接続管理を最適化し、大量の接続を効率的に処理できます。
- データロードと集計ジョブの負荷分散
- 負荷分散の原則: 書き込みと読み取りを分けることで、リソース競合を回避します。
- レプリカの利用: 書き込みはプライマリインスタンスに集中させ、集計や分析処理はリードレプリカで行います。
- 継続的データレプリケーション
- AWS DMSの利点: 既存データのフルロードと、変更データキャプチャ(CDC)によるリアルタイム同期が可能。
- 移行後の切り替え: レプリケーションが完了したら、DNSの変更やアプリケーション設定の更新で、新しい環境に移行します。
- 移行中断を防ぐ設計
- Blue/Greenデプロイメント: 新旧システムを並行稼働させ、テスト後に切り替える手法。
- ロードバランサー: Application Load Balancer(ALB)やNetwork Load Balancer(NLB)を使用してトラフィックを分散。
- ステージング環境: 本番環境に影響を与えないよう、移行作業はまずステージング環境で検証します。
- クラウドネイティブ設計の考慮
- サーバーレス: AWS Lambdaを活用し、動的スケーリングとコスト効率を向上。
- イベント駆動アーキテクチャ: KinesisやSQSでデータ収集や処理を非同期化。
これらの知識は、AWS移行プロジェクトにおいて効率的かつ中断を防ぐ設計を実現するための基本となります。
実践

一問道場
質問 #50
トピック 1
ある企業がデータ分析環境をオンプレミスからAWSへ移行しようとしています。この環境には次の2つのNode.jsアプリケーションがあります:
- センサーデータ収集アプリケーション
- センサーデータを収集し、MySQLデータベースにデータをロードする。
- データ集計アプリケーション
- データを集計してレポートを作成する。
ただし、集計ジョブが実行される際に、一部のデータロードジョブが失敗する問題が発生しています。
要件
- データロードの問題を解決する。
- 移行作業は顧客に影響を与えず中断を発生させない。
ソリューションアーキテクトとして、この要件を満たすにはどの選択肢を採用すべきですか?
選択肢
A.
- Amazon Aurora MySQLデータベースをオンプレミスのデータベースのレプリケーションターゲットとして設定する。
- Aurora Replicaを作成し、集計ジョブをAurora Replicaで実行するように移行する。
- 収集エンドポイントをNetwork Load Balancer(NLB)の背後にあるAWS Lambda関数として設定し、Amazon RDS Proxyを使用してAurora MySQLデータベースに書き込む。
- データベースが同期されたら、レプリケーションジョブを無効化し、Aurora Replicaをプライマリインスタンスとして再起動する。
- コレクタのDNSレコードをNLBに向ける。
B.
- Amazon Aurora MySQLデータベースを設定する。
- AWS Database Migration Service(AWS DMS)を使用して、オンプレミスデータベースからAuroraへの継続的なデータレプリケーションを実行する。
- 集計ジョブをAurora MySQLデータベースで実行するように移行する。
- 収集エンドポイントをApplication Load Balancer(ALB)の背後にあるAuto Scalingグループ内のAmazon EC2インスタンスとして設定する。
- データベースが同期されたら、コレクタのDNSレコードをALBに向ける。
- オンプレミスからAWSへの移行後、AWS DMSの同期タスクを無効化する。
C.
- Amazon Aurora MySQLデータベースを設定する。
- AWS Database Migration Service(AWS DMS)を使用して、オンプレミスデータベースからAuroraへの継続的なデータレプリケーションを実行する。
- Aurora Replicaを作成し、集計ジョブをAurora Replicaで実行するように移行する。
- 収集エンドポイントをApplication Load Balancer(ALB)の背後にあるAWS Lambda関数として設定し、Amazon RDS Proxyを使用してAurora MySQLデータベースに書き込む。
- データベースが同期されたら、コレクタのDNSレコードをALBに向ける。
- オンプレミスからAWSへの移行後、AWS DMSの同期タスクを無効化する。
D.
- Amazon Aurora MySQLデータベースを設定する。
- Aurora Replicaを作成し、集計ジョブをAurora Replicaで実行するように移行する。
- 収集エンドポイントをAmazon Kinesisデータストリームとして設定する。
- Amazon Kinesis Data Firehoseを使用してデータをAurora MySQLデータベースにレプリケートする。
- データベースが同期されたら、レプリケーションジョブを無効化し、Aurora Replicaをプライマリインスタンスとして再起動する。
- コレクタのDNSレコードをKinesisデータストリームに向ける。
解説
正解: C
理由:
- 要件1: データロードの問題を解決
- 集計ジョブの実行によりデータロードが失敗する問題は、読み取りと書き込みの負荷分散が必要です。選択肢Cでは、Aurora Replicaを使用し、集計ジョブをAurora Replicaで実行することで、プライマリデータベースへの書き込み負荷を軽減します。
- 要件2: 中断を発生させない移行
- AWS DMSを使用した継続的なデータレプリケーションにより、オンプレミスデータベースからAurora MySQLへの移行がリアルタイムで進行し、顧客への影響を最小限に抑えます。
- 収集エンドポイントをALBの背後にあるLambda関数に設定し、Amazon RDS Proxyを活用することで、スケーラビリティと接続管理が最適化され、サービスの中断を防ぎます。
- 選択肢A, B, Dとの比較
- A: NLBとLambdaの組み合わせや手動でのAurora Replicaの昇格が複雑で、移行中断リスクが高い。
- B: Aurora Replicaを使用せず、負荷分散が考慮されていない。集計ジョブの影響でデータロードが失敗する問題が解決できない。
- D: Kinesisを用いたソリューションは、データ収集ワークロードには適しているが、MySQLデータベースとの統合が複雑で要件の範囲を超える。
したがって、選択肢Cが要件を最も適切に満たします。
- 作者:みなみ
- 链接:https://tangly1024.com/資格勉強/169d7ae8-88e2-8061-b6f9-de4b41756af3
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章