ラボの概要
Amazon Elastic Compute Cloud (Amazon EC2) は、データベース向けにセキュアでサイズ変更可能なコンピューティング性能をクラウドで提供するウェブサービスです。Amazon EC2 でデータベースをホストすることで、データベースとその環境に対する高度なカスタマイズと制御が可能になります。レプリケーション、フェイルオーバー、モニタリング、通知、バックアップの管理など、長年行ってきた手動によるデータベース管理の習慣を維持できます。Amazon Relational Database Service (Amazon RDS) などの AWS マネージドデータベースソリューションでは、これらのタスクを完全に自動化するソリューションを提供します。
Amazon RDS: Amazon RDS では同期レプリケーションを迅速に設定できます。障害が発生した場合、Amazon RDS は 60~120 秒でセカンダリサーバーに自動的にフェイルオーバーします。DNS エンドポイントを使用すると、複雑なルーティング、IP の再割り当て、DNS 伝達の遅延を防ぐことができます。自動フェイルオーバーがアプリケーションに与える影響を理解することは、このサービスの実装を成功させるために不可欠です。
Amazon RDS を使用すれば、クラウド内でリレーショナルデータベースのセットアップ、運用、スケールを簡単に実行できます。このサービスでは、ハードウェアのプロビジョニング、データベースのセットアップ、パッチ適用、バックアップといった時間がかかる管理タスクを自動化しながら、コスト効率に優れたサイズ変更可能な容量を提供します。このラボでは、フェイルオーバーイベントをレプリケートし、アプリケーションがどのように応答するかを可視化します。
AWS Secrets Manager: ユーザーアクセスの管理は、データベースサービスの使用におけるもう 1 つの重要な考慮事項です。データベースのセキュリティを維持するには、パスワードを定期的に変更することが重要です。ただし、必要なすべての場所でルートレベルのパスワードを更新するのは複雑で、多くの場合手間がかかります。AWS Secrets Manager を使用することにより、シークレットと呼ばれるこれらのパスワードを安全に管理および保存できます。
Secrets Manager を使用すると、アプリケーション、サービス、IT リソースへのアクセスに必要なシークレットを保護できます。このサービスでは、データベース認証情報、API キー、その他のシークレットを、そのライフサイクルを通じて簡単にローテーション、管理、取得できます。ユーザーとアプリケーションは Secrets Manager API を呼び出してシークレットを取得するため、プレーンテキストの機密情報をハードコードする必要がなくなります。Secrets Manager では Amazon RDS との統合を組み込むことで、シークレットのローテーションを提供します。このラボでは、Secrets Manager を設定して AWS Lambda 関数を追加し、データベースユーザーのパスワードを指定の頻度で自動的にローテーションします。
目標
このラボを修了すると、以下ができるようになります。
- マルチ AZ フェイルオーバーと暗号化を使用する Amazon RDS インスタンスをセットアップし、設定する。
- Secrets Manager を使用してシークレットを作成および保存する。
- Secrets Manager を使用してシークレットの自動ローテーションを有効にする。
- SSL を使用して転送時の暗号化を設定する。
- マルチ AZ フェイルオーバーとデータの同期をテストする。
技術知識の前提条件
このラボを修了するには、以下に関する知識が必要です。
- AWS マネジメントコンソールの基本的な操作を行うことができる。
- データベースの概念、MySQL、データベースの可用性に関する理解。
- 他のサービスやアプリケーションと統合した場合のシークレットの機能ロールに関する理解。
アイコンキー
このラボでは、さまざまな種類の手順と注記への注意を促すため、各種アイコンが使用されています。以下のリストは、各アイコンの目的を説明したものです。
- 注意: 特記事項または重要な情報を表す (この情報を読み忘れても、機器やデータに問題が発生するというわけではありませんが、特定のステップを繰り返す必要が生じる可能性があります)。
- 警告: コマンドやプロセスの失敗に影響を与える可能性のある、元に戻せないアクション (一度設定したら変更できない設定の警告も含む)。
- コマンド: 実行する必要があるコマンドを表す。
- 想定される出力: 出力のサンプルであり、コマンドまたは編集済みファイルの出力を確認するときに使用する。
- 注意: 注意事項、ヒント、重要なガイダンスです。
- コピー編集: 特定の変数を編集する際に、コマンドラインまたはターミナルで直接編集するよりも、コマンド、スクリプト、その他のテキストをテキストエディタにコピーする方が簡単な場合に使用する。
- 詳細: 詳細情報が記載されている場所を示す。
- タスク完了: ラボのまとめや要点を示す。