カテゴリー:
SAP-C02(ソリューションアーキテクト – プロフェッショナル)
48. A company wants to migrate its data analytics environment from on premises to AWS. The environment consists of two simple Node.js
applications. One of the applications collects sensor data and loads it into a MySQL database. The other application aggregates the data into
reports. When the aggregation jobs run, some of the load jobs fail to run correctly.
The company must resolve the data loading issue. The company also needs the migration to occur without interruptions or changes for the
company’s customers.
What should a solutions architect do to meet these requirements?
A. Set up an Amazon Aurora MySQL database as a replication target for the on-premises database. Create an Aurora Replica for the Aurora
MySQL database, and move the aggregation jobs to run against the Aurora Replica. Set up collection endpoints as AWS Lambda functions
behind a Network Load Balancer (NLB), and use Amazon RDS Proxy to write to the Aurora MySQL database. When the databases are synced,
disable the replication job and restart the Aurora Replica as the primary instance. Point the collector DNS record to the NLB.
B. Set up an Amazon Aurora MySQL database. Use AWS Database Migration Service (AWS DMS) to perform continuous data replication from
the on-premises database to Aurora. Move the aggregation jobs to run against the Aurora MySQL database. Set up collection endpoints
behind an Application Load Balancer (ALB) as Amazon EC2 instances in an Auto Scaling group. When the databases are synced, point the
collector DNS record to the ALDisable the AWS DMS sync task after the cutover from on premises to AWS.
C. Set up an Amazon Aurora MySQL database. Use AWS Database Migration Service (AWS DMS) to perform continuous data replication from
the on-premises database to Aurora. Create an Aurora Replica for the Aurora MySQL database, and move the aggregation jobs to run against
the Aurora Replica. Set up collection endpoints as AWS Lambda functions behind an Application Load Balancer (ALB), and use Amazon RDS
Proxy to write to the Aurora MySQL database. When the databases are synced, point the collector DNS record to the ALB. Disable the AWS
DMS sync task after the cutover from on premises to AWS.
D. Set up an Amazon Aurora MySQL database. Create an Aurora Replica for the Aurora MySQL database, and move the aggregation jobs to run
against the Aurora Replica. Set up collection endpoints as an Amazon Kinesis data stream. Use Amazon Kinesis Data Firehose to replicate the
data to the Aurora MySQL database. When the databases are synced, disable the replication job and restart the Aurora Replica as the primary
instance. Point the collector DNS record to the Kinesis data stream.
ある会社が、データ分析環境をオンプレミスからAWSに移行したいと考えています。この環境は、2つのシンプルなNode.jsアプリケーションで構成されています。
1つのアプリケーションはセンサーデータを収集し、MySQLデータベースにロードします。もう1つのアプリケーションはデータを集計してレポートを作成します。
集計ジョブが実行されると、一部のロードジョブが正しく実行されないことがあります。
会社はこのデータロードの問題を解決する必要があります。また、移行は顧客に中断や変更を発生させずに行う必要があります。
これらの要件を満たすために、ソリューションアーキテクトは何をすべきでしょうか?
A. オンプレミスデータベースのレプリケーション先としてAmazon Aurora MySQLデータベースを設定します。
Aurora MySQLデータベース用にAuroraレプリカを作成し、集計ジョブをAuroraレプリカで実行するように移動します。
コレクションエンドポイントをNetwork Load Balancer(NLB)配下のAWS Lambda関数として設定し、Amazon RDS Proxyを使用してAurora MySQLデータベースに書き込みます。
データベースが同期したら、レプリケーションジョブを無効にし、Auroraレプリカをプライマリインスタンスとして再起動します。
コレクターのDNSレコードをNLBに向けます。
B. Amazon Aurora MySQLデータベースを設定します。
AWS Database Migration Service(AWS DMS)を使用して、オンプレミスデータベースからAuroraへの継続的なデータレプリケーションを実行します。
集計ジョブをAurora MySQLデータベースで実行するように移動します。
コレクションエンドポイントをAuto Scalingグループ内のAmazon EC2インスタンスとしてApplication Load Balancer(ALB)配下に設定します。
データベースが同期したら、コレクターのDNSレコードをALBに向けます。
オンプレミスからAWSへの切り替え後、AWS DMS同期タスクを無効にします。
C. Amazon Aurora MySQLデータベースを設定します。
AWS Database Migration Service(AWS DMS)を使用して、オンプレミスデータベースからAuroraへの継続的なデータレプリケーションを実行します。
Aurora MySQLデータベース用にAuroraレプリカを作成し、集計ジョブをAuroraレプリカで実行するように移動します。
コレクションエンドポイントをApplication Load Balancer(ALB)配下のAWS Lambda関数として設定し、Amazon RDS Proxyを使用してAurora MySQLデータベースに書き込みます。
データベースが同期したら、コレクターのDNSレコードをALBに向けます。
オンプレミスからAWSへの切り替え後、AWS DMS同期タスクを無効にします。
D. Amazon Aurora MySQLデータベースを設定します。
Aurora MySQLデータベース用にAuroraレプリカを作成し、集計ジョブをAuroraレプリカで実行するように移動します。
コレクションエンドポイントをAmazon Kinesisデータストリームとして設定します。
Amazon Kinesis Data Firehoseを使用して、データをAurora MySQLデータベースにレプリケートします。
データベースが同期したら、レプリケーションジョブを無効にし、Auroraレプリカをプライマリインスタンスとして再起動します。
コレクターのDNSレコードをKinesisデータストリームに向けます。
正解はCです。理由は以下の通りです:
Aの選択肢: Auroraレプリカに対して集計ジョブを実行するのは適切ですが、Network Load Balancer(NLB)を使用するのはこのシナリオでは最適ではありません。NLBはより低レベルのネットワークトラフィック向けであり、データ収集エンドポイントには過剰です。
Bの選択肢: AWS DMSを使用して継続的レプリケーションを行う点は正しいですが、収集エンドポイントをEC2インスタンスとして設定することはサーバーレスソリューションに比べて管理オーバーヘッドが増えます。また、ALBは適切ですが、RDS Proxyを使用しないためデータベース接続管理に問題が発生する可能性があります。
Cの選択肢: これが最適解です。理由は:
1. AWS DMSを使用した継続的レプリケーションにより、ダウンタイムなく移行可能
2. Auroraレプリカに対して集計ジョブを実行することで、プライマリデータベースの負荷軽減
3. Lambda関数とALBの組み合わせでスケーラブルなコレクションエンドポイントが実現可能
4. RDS Proxyによりデータベース接続プールを管理可能
5. 完全同期後にDNSレコードを切り替えることで、顧客に影響を与えずに移行完了
Dの選択肢: Kinesisデータストリームを使用するのは過剰な設計です。このシナリオでは単純なデータ収集ニーズしかなく、Kinesisを導入すると不要な複雑さとコストが発生します。
コメント0