概要
Amazon Elastic Compute Cloud (Amazon EC2) は、セキュアでサイズ変更可能なデータベースのコンピューティング性能をクラウドで提供するウェブサービスです。Amazon EC2 でデータベースをホストすることで、データベースとその環境に対する高度なカスタマイズと制御が可能になります。レプリケーション、フェイルオーバー、モニタリング、通知、バックアップの管理など、長年行ってきた手動によるデータベース管理の習慣を維持できます。Amazon Relational Database Service (Amazon RDS) などの AWS マネージドデータベースソリューションでは、これらすべてのタスクを完全に自動化するソリューションを提供します。
Amazon RDS では、数回クリックするだけで同期レプリケーションを設定できます。障害が発生した場合、Amazon RDS は 60~120 秒でセカンダリサーバーに自動的にフェイルオーバーします。DNS エンドポイントを使用すると、複雑なルーティング、IP の再割り当て、DNS 伝達の遅延を防ぐことができます。自動フェイルオーバーがアプリケーションに与える影響を理解することは、このサービスの実装を成功させるために不可欠です。このラボでは、フェイルオーバーイベントをレプリケートし、アプリケーションがどのように応答するかを確認します。
ユーザーアクセスの管理は、データベースサービスの使用におけるもう 1 つの重要な考慮事項です。データベースのセキュリティを維持するには、パスワードを定期的に変更することが重要です。ただし、必要なすべての場所でルートレベルのパスワードを更新するのは複雑で、多くの場合手間がかかります。AWS Secrets Manager を使用することにより、シークレットと呼ばれるこれらのパスワードを安全に管理および保存できます。
Secrets Manager では、データベースサービスや他の多くの AWS サービスの実行時にシークレットを取得するように設定できるため、最新の正しいシークレットを確実に取得できます。これにより、すべてのシステムに強度の高いパスワードを設定できます。このラボでは、Secrets Manager を設定して AWS Lambda 関数を追加し、データベースユーザーのパスワードを指定の頻度で自動的に更新する方法について説明します。
Amazon RDS: Amazon RDS を使用すれば、クラウド内でリレーショナルデータベースのセットアップ、運用、スケールを簡単に実行できます。このサービスでは、ハードウェアのプロビジョニング、データベースのセットアップ、パッチ適用、バックアップといった時間がかかる管理タスクを自動化しながら、コスト効率に優れたサイズ変更可能な容量を提供します。
AWS Secrets Manager: Secrets Manager は、アプリケーション、サービス、IT リソースへのアクセスに必要なシークレットの保護に役立ちます。このサービスでは、データベース認証情報、API キー、およびその他のシークレットを、そのライフサイクルを通じて簡単にローテーション、管理、取得できます。ユーザーとアプリケーションは Secrets Manager API を呼び出してシークレットを取得するため、プレーンテキストの機密情報をハードコードする必要がなくなります。Secrets Manager では Amazon RDS との統合を組み込むことで、シークレットのローテーションを提供します。
目標
このラボを修了すると、次のことができるようになります。
- マルチ AZ フェイルオーバーと暗号化を使用する Amazon RDS インスタンスをセットアップし、設定する
- Secrets Manager を使用してシークレットを作成および保存する
- Secrets Manager を使用してシークレットの自動ローテーションを有効にする
- SSL を使用して転送時の暗号化を設定する
- マルチ AZ フェイルオーバーとデータの同期をテストする
前提条件
このラボには以下が必要です。
- Microsoft Windows、macOS X、Linux (Ubuntu、SuSE、Red Hat) のいずれかが搭載されている Wi-Fi 対応ノートパソコンの利用環境
- 注意: iPad またはタブレット端末を使用して、ラボのコンソールの手順にアクセスできます。
- Chrome、Firefox、IE9 以降などのインターネットブラウザ
- 注意: これより前のバージョンの Internet Explorer はサポート対象外です。
- PuTTY などの SSH クライアント
技術知識の前提条件
このラボを修了するには、以下に関する知識が必要です。
- AWS マネジメントコンソールの基本的な操作。
- データベースの概念、MySQL、データベースの可用性に関する理解。
- 他のサービスやアプリケーションと統合した場合のシークレットの機能ロールに関する理解。
所要時間
このラボの所要時間は 60 分です。
ラボ環境
このラボで使用するために Amazon EC2 インスタンスがプロビジョニングされています。このインスタンスは、パブリックサブネット内の CommandHost として機能します。EC2 インスタンスは、ポート 3306 経由でプライベートサブネットにあるデータベースインスタンスと通信するように設定されています。このインスタンスは Secrets Manager ロールに追加されました。このロールは、自動シークレットローテーション用に設定されています。Amazon RDS インスタンスの初期化には時間がかかる場合があります。このため、ラボの一環で設定するインスタンスを正確に反映した事前設定済みの Amazon RDS インスタンスが作成されています。これにより、待たずにラボを続行できます。