起動時に Amazon RDS データベースの自動タグ付けを強制する - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

起動時に Amazon RDS データベースの自動タグ付けを強制する

環境:本稼働

テクノロジー: データベース、クラウドネイティブ,セキュリティ、アイデンティティ、コンプライアンス

AWS サービス: Amazon RDS、Amazon SNSAWS CloudTrail、Amazon CloudWatch

[概要]

Amazon Relational Database Service (Amazon RDS) は、Amazon Web Services (AWS) クラウドでリレーショナルデータベースを簡単にセットアップし、運用し、拡張することのできるウェブサービスです。業界スタンダードのリレーショナルデータベース向けに、費用対効果に優れたエクステンションを備え、一般的なデータベース管理タスクを管理します。

タグ付けを使用すると、さまざまな方法で AWS リソースを分類できます。リレーショナルデータベースのタグ付けは、アカウントに多数のリソースがあり、特定のリソースをすばやく識別する場合に便利です。Amazon RDS タグを使用して、RDS DB インスタンスにカスタムメタデータを追加できます。  各タグは、ユーザー定義のキーと値で構成されます。組織の要件に適合する一連の一貫したタグを作成することをお勧めします。

このパターンは、RDS DB インスタンスのモニタリングとタグ付けに役立つ AWS CloudFormation テンプレートを提供します。テンプレートは、AWS CloudTrail CreateDBInstance CloudWatch イベントを監視する Amazon Events イベントを作成します。(Amazon RDS の API コールをイベントとしてCloudTrail キャプチャします)。このイベントを検出すると、定義したタグキーと値を自動的に適用する AWS Lambda 関数を呼び出します。テンプレートでは、Amazon Simple Notification Service (Amazon SNS) を使用して、インスタンスがタグ付けされたという通知も送信されます。

前提条件と制限

前提条件

  • アクティブな AWS アカウント

  • Amazon Simple Storage Service (Amazon S3) バケットに、Lambda コードをアップロードします。

  • タグ付けの通知を受信するメールアドレス

制約事項

  • このソリューションは CloudTrail CreateDBInstanceイベントをサポートします。他のイベントの通知は作成されません。

アーキテクチャ

ワークフローアーキテクチャ

自動化とスケール

  • AWS CloudFormation テンプレートは、さまざまな AWS リージョンとアカウントで複数回使用できます。各リージョンまたはアカウントでテンプレートを 1 回実行するだけで済みます。

ツール

AWS サービス

  • AWS CloudTrail – AWS CloudTrail は、AWS アカウントのガバナンス、コンプライアンス、運用およびリスク監査に役立つ AWS のサービスです。ユーザー、ロール、または AWS のサービスによって実行されたアクションは、イベントとして に記録されます CloudTrail。 

  • Amazon CloudWatch Events – Amazon CloudWatch Events は、AWS リソースの変更を記述するシステムイベントのほぼリアルタイムのストリームを配信します。 CloudWatch イベントは、運用上の変更が発生すると認識し、必要に応じて、環境への応答、機能のアクティブ化、変更、状態情報の取得のためのメッセージを送信することで、是正措置を講じます。 

  • AWS Lambda – AWS Lambda はサーバーのプロビジョニングや管理を行わずにコードの実行を支援できるコンピューティングサービスです。Lambda は必要に応じてコードを実行し、1 日あたり数個のリクエストから 1 秒あたり数千のリクエストまで自動的にスケールします。課金は実際に消費したコンピューティング時間に対してのみ発生します。コードが実行されていない場合、料金は発生しません。

  • Amazon S3 — Amazon Simple Storage Service (Amazon S3) は、拡張性の高いオブジェクトストレージサービスで、ウェブサイト、モバイルアプリケーション、バックアップ、データレイクなど、幅広いストレージソリューションに使用できます。

  • Amazon SNS 」— Amazon Simple Notification Service (Amazon SNS) は、アプリケーション、エンドユーザー、およびデバイスでクラウドから通知を瞬時に送受信できるようにするウェブサービスです。 

コード

このパターンには、次の 2 つのファイルを含む添付ファイルが含まれます。

  • index.zipは、このパターンの Lambda コードを含む圧縮ファイルです。

  • rds.yaml は、Lambda コードをデプロイする CloudFormation テンプレートです。

これらのファイルの使用方法については、「エピック」セクションを参照してください。

エピック

タスク説明必要なスキル
S3 バケットにコードをアップロードします。

新しい S3 バケットを作成するか、既存の S3 バケットを使用して、添付 index.zip ファイル (Lambda コード) をアップロードします。このバケットは、モニタリングするリソース (RDS DB インスタンス) と同じ AWS リージョンに存在する必要があります。

クラウドアーキテクト
CloudFormation テンプレートをデプロイします。

S3 バケットと同じ AWS リージョンで Cloudformation コンソールを開き、添付ファイルで提供されている rds.yaml ファイルをデプロイします。次のエピックでは、テンプレートパラメータの値を指定します。

クラウドアーキテクト
タスク説明必要なスキル
S3 バケット名を入力します。

最初のエピックで作成または選択した S3 バケットの名前を入力します。この S3 バケットには Lambda コードの .zip ファイルが含まれており、モニタリングする CloudFormation テンプレートおよび RDS DB インスタンスと同じ AWS リージョンに存在する必要があります。

クラウドアーキテクト
S3 キーを入力します。

S3 バケット内の Lambda コードの.zip ファイルの場所を、先頭にスラッシュを付けずに指定します (例:index.zip または controls/index.zip)。

クラウドアーキテクト
メールアドレスを入力します。

違反の通知を受信するメールアドレスを入力します。

クラウドアーキテクト
ログレベルを指定します。

ログ記録レベルと詳細レベルを定義します。Info アプリケーションの進行状況に関する詳細な情報メッセージを指定し、デバッグのみに使用されます。Error それでもアプリケーションの実行を継続できるエラーイベントを指定します。Warning 潜在的に危険有害な状況を示します。

クラウドアーキテクト
RDS DB インスタンスのタグキーと値を入力します。

RDS インスタンスに自動適用したい必須のタグキーと値を入力します。詳細については、AWS ドキュメントの「Amazon RDS リソースのタグ付け」を参照してください。

クラウドアーキテクト
タスク説明必要なスキル
メールサブスクリプションを確認します。

CloudFormation テンプレートが正常にデプロイされると、指定した E メールアドレスにサブスクリプション E メールメッセージを送信します。インスタンスがタグ付けされたときに通知を受信するには、このメールのサブスクリプションを確認する必要があります。

クラウドアーキテクト

添付ファイル

このドキュメントに関連する追加コンテンツにアクセスするには、次のファイルを解凍してください。「attachment.zip