type
status
date
slug
summary
tags
category
icon
password
理論
オンプレミスからAWSへの移行におけるデータベースの選択ポイントとベストプラクティス
オンプレミス環境からAWSクラウドへ移行する際、データベースの設計と選択は、アプリケーションのパフォーマンスや可用性に大きな影響を与えます。以下は、特にデータベース移行に関連する重要な知識や考慮点をまとめたものです。
1. データベースの種類の選択
AWSにはさまざまなマネージドデータベースサービスが提供されています。移行元のデータベースやアプリケーションの要件に応じて最適なサービスを選択する必要があります。
データベースタイプ | AWSのサービス例 | 特徴 | 適用例 |
リレーショナル型 | Amazon RDS, Amazon Aurora | 高可用性とスケーラビリティを持つマネージドリレーショナルDB | 既存のSQLベースアプリケーション |
NoSQL型 | Amazon DynamoDB, Amazon DocumentDB | スキーマレスデータモデル、高速な読み書き、スケーラビリティ | キーバリュー型、ドキュメント型のデータベース |
分析用 | Amazon Redshift | データウェアハウスとして、大量データのクエリ処理と分析に最適 | BIツールやデータ解析 |
時系列/グラフ型 | Amazon Timestream, Amazon Neptune | 特定用途向けに最適化されたデータベース | 時系列データ、グラフ構造データ |
2. 暗号化要件とセキュリティ
クラウド環境でのセキュリティは最優先事項です。特に、移行先のデータベースが暗号化の要件を満たしていることを確認します。
- 保存時の暗号化
AWS Key Management Service (KMS) を使用し、データを保存時に暗号化できます。Amazon RDS、DynamoDB、DocumentDBなどのほとんどのサービスがサポートしています。
- 転送時の暗号化
Transport Layer Security (TLS) を利用して、データの転送中に安全な通信を確保します。AWSの多くのデータベースサービスではデフォルトでTLSが有効です。
- ネットワークセキュリティ
VPC(仮想プライベートクラウド)を利用してプライベートネットワークを構築し、パブリックインターネットからのアクセスを制限します。必要に応じて、VPCエンドポイントを活用することで、AWSリソース間のセキュアな接続を確保できます。
3. スケーラビリティと高可用性
クラウド移行後は、需要の変動に応じたスケーラビリティが重要になります。
Amazon DynamoDB
- フルマネージド型のNoSQLデータベースで、オンデマンドキャパシティをサポート。トラフィックの増減に応じて自動的にスケールします。
- 複数リージョンへのレプリケーションが可能で、高い可用性を実現。
Amazon DocumentDB
- クラスター構造を採用し、複数のインスタンスでデータをレプリケート。
- ストレージが自動的にスケールし、最大64 TiBまで拡張可能。
- クラスターエンドポイントを使用することで、高可用性と負荷分散を確保。
Amazon RDS / Aurora
- リレーショナルデータベースで自動スケールやフェイルオーバー機能を提供。
- Auroraではサーバーレスオプションもあり、リソース使用量に応じて課金される。
4. AWSにおけるデータベース接続とネットワーク設計
AWS内でデータベースを設計する場合、ネットワーク構成が重要です。
- VPCエンドポイント
- インターフェースエンドポイント: DynamoDB APIへのアクセス。
- ゲートウェイエンドポイント: DynamoDBやS3へのデータアクセス。
Amazon DynamoDBやS3などのサービスにプライベート接続を提供します。
- プライベートサブネットとNATゲートウェイ
EC2インスタンスをプライベートサブネットに配置することでインターネット接続を排除し、セキュリティを向上させます。
5. レガシーデータベース移行のステップ
- 評価
- 既存のデータベースとAWSサービス間の互換性を確認します。
- 必要に応じてデータ変換ツールを使用(例: AWS Schema Conversion Tool)。
- 計画
- ネットワーク設計、セキュリティ設定、スケーリング戦略を決定。
- 移行時のダウンタイムを最小化するための方法を検討。
- 移行
- AWS Database Migration Service (DMS) を使用してデータを移行。
- 並行運用テストを実施し、移行の妥当性を確認。
- 最適化
- 移行後のパフォーマンスを監視し、必要に応じて設定を調整。
6. ベストプラクティス
- データ暗号化を徹底 AWS KMSを利用したキー管理を行い、保存時と転送時の暗号化を有効にします。
- 監視とロギング Amazon CloudWatchやAWS CloudTrailを活用して、データベースの利用状況とセキュリティを継続的に監視します。
- コスト最適化 適切なキャパシティ設定と課金モデル(プロビジョンドIOPSやオンデマンドキャパシティ)を選択します。
まとめ
AWSへの移行では、アプリケーション要件に応じたデータベース選択が成功の鍵となります。Amazon DynamoDBやDocumentDBなど、AWSが提供するマネージドサービスを適切に活用することで、高いスケーラビリティ、セキュリティ、コスト効率を実現できます。

項目 | クラスターエンドポイント | インスタンスエンドポイント |
概要 | クラスター全体への接続。高可用性と負荷分散。 | 特定のインスタンスへの接続。 |
用途 | アプリケーションの接続先(プライマリまたはリードレプリカ)。 | 特定のインスタンス(プライマリやリードレプリカ)への接続。 |
自動フェイルオーバー | あり。プライマリ障害時に新しいインスタンスに自動切替。 | なし。指定したインスタンスに固定接続。 |
負荷分散 | あり。 | なし。 |
主な使用例 | アプリケーションの接続、可用性重視。 | 特定インスタンスへの接続、デバッグ用途。 |
実践
略
一問道場
Question #324
ある企業が、オンプレミスのデータセンターからAWSへレガシーアプリケーションを移行しています。このアプリケーションは、MongoDBをキー・バリュー型データベースとして使用しています。
企業の技術ガイドラインによると、すべてのAmazon EC2インスタンスはインターネット接続のないプライベートサブネット内でホストされなければなりません。さらに、アプリケーションとデータベース間のすべての接続は暗号化されている必要があります。データベースは需要に応じてスケールできる必要があります。
この要件を満たすソリューションはどれですか?
A. Amazon DocumentDB(MongoDB互換)の新しいテーブルを、プロビジョンドIOPSボリュームで作成します。インスタンスエンドポイントを使用してAmazon DocumentDBに接続します。
B. アプリケーション用にオンデマンドキャパシティのAmazon DynamoDBの新しいテーブルを作成します。DynamoDBへの接続にはDynamoDB用のゲートウェイVPCエンドポイントを使用します。
C. アプリケーション用にオンデマンドキャパシティのAmazon DynamoDBの新しいテーブルを作成します。DynamoDBへの接続にはDynamoDB用のインターフェースVPCエンドポイントを使用します。
D. Amazon DocumentDB(MongoDB互換)の新しいテーブルを、プロビジョンドIOPSボリュームで作成します。クラスターエンドポイントを使用してAmazon DocumentDBに接続します。
解説
この問題における要件を満たす最適なソリューションは D です。以下にその理由を説明します:
Dの解説
- Amazon DocumentDB(MongoDB互換) は、MongoDB互換のデータベースサービスであり、スケーラビリティと暗号化対応が求められています。DocumentDBは、スケーラビリティを確保し、アプリケーションとデータベース間の接続をTLSで暗号化できます。
- クラスターエンドポイント は、DocumentDBに接続する際に使用される推奨のエンドポイントであり、可用性と負荷分散のために複数のインスタンス(プライマリ、リードレプリカ)を透過的に扱えます。また、プライベートサブネット内で動作し、セキュリティ要件も満たします。
他の選択肢の分析
- A. インスタンスエンドポイントを使って接続する方法は、特定のインスタンスに直接接続する方法ですが、高可用性や負荷分散の要件には不適切です。クラスターエンドポイントを使用するほうが優れています。
- B. DynamoDBはキー・バリュー型データベースでスケーラブルですが、MongoDBと直接的に互換性がないため、要件に合いません。また、ゲートウェイVPCエンドポイントはインターネット接続なしでの接続には使えますが、DynamoDBはスケーラビリティの要求を満たすには最適ではありません。
- C. DynamoDBのインターフェースVPCエンドポイントを使用することは可能ですが、やはりMongoDBと同じような機能を提供するわけではなく、要件に合致しません。
結論
D. Amazon DocumentDB(MongoDB互換)のクラスターエンドポイントを使用することで、暗号化、スケーラビリティ、可用性、プライベートサブネットへの配置の要件をすべて満たすため、この選択肢が最適です。
- 作者:みなみ
- 链接:https://tangly1024.com/資格勉強/177d7ae8-88e2-8015-813a-f8ffcac05b77
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章