menu
arrow_back

Monitoring Security Groups with Amazon CloudWatch Events (日本語版)

Monitoring Security Groups with Amazon CloudWatch Events (日本語版)

57分 10クレジット

SPL-138 – バージョン 2.1.4

概要

Amazon EC2 セキュリティグループでは、重要なアクセスコントロールを行い、AWS インフラストラクチャへのアクセスを制限します。より効果的にこの制御を実行するために、さらにもう 1 歩進めて、セキュリティグループの設定を変更できる API コールのモニタリングを行うことができます。このラボでは、Amazon CloudWatch Events を AWS CloudTrail および AWS Lambda 関数と一緒に使用して EC2 セキュリティグループに関連付けられた進入アクセス許可を追加または取り消すことができる API コールをモニタリングする方法について説明します。進入アクセス許可を変更する API が呼び出されると Lambda 関数がトリガーされます。作成された進入ルール設定がこの関数でコード化されたものと異なる場合、Lambda 関数は Amazon CloudWatch Logs に通知を送信します。

取り上げるトピック

このラボを修了すると、次のことができるようになります。

  • CloudWatch Events ルールのターゲットとして使用される AWS Lambda 関数をアップロードする
  • セキュリティグループの進入ポートを変更できる API コールを検索する Lambda 関数に関連する CloudWatch Events ルールを作成する
  • この Lambda 関数をトリガーするようにセキュリティグループを変更する
  • Amazon CloudWatch Logs で結果を確認する

技術知識の前提条件

このラボを修了するには、EC2 セキュリティグループに関する知識が必要です。Python プログラミングのスキルがあると役立ちますが、完成したソリューションコードが提供されます。http://qwiklabs.com で「Introduction to AWS Lambda」ラボを受講しておくことをお勧めします。

その他の AWS のサービス

このラボで必要としない AWS のサービスは、このラボにアクセスしている間、IAM ポリシーによって無効にされています。さらに、このラボで使用されるサービスの機能はラボに必要なものに限定されており、場合によってはラボの設計の観点から意図的にさらに制限されています。このラボガイドに指定されていないサービスを使用したりアクションを実行したりするとエラーが発生することがあります。

Amazon CloudWatch Events

Amazon CloudWatch Events とは

Amazon CloudWatch Events では、アマゾン ウェブ サービス (AWS) リソースの変更を示すシステムイベントのほぼリアルタイムのストリームを、AWS Lambda 関数、Amazon SNS トピック、Amazon SQS キュー、Amazon Kinesis Streams のストリーム、または組み込みターゲットに提供します。すぐに設定できる簡単なルールを使用して、ルールに一致したイベントを、1 つ以上の関数またはストリームをターゲットとして振り分けることができます。オペレーションに変更が生じると、その変更が CloudWatch Events により認識されます。CloudWatch Events はオペレーションの変更に応答し、環境に対応するためのメッセージ送信、関数のアクティブ化、変更の実行、現状に関する情報の収集など、必要に応じて修正アクションを実行します。

イベント – 4 つの方法で生成されます。1 番目に、リソースの状態が変わったときに AWS によって発行されます。例えば、Amazon EC2 インスタンスの状態が保留中から実行中に変わったときや、Auto Scaling でユーザーの Auto Scaling グループ内のインスタンスが作成または終了されたときに、イベントが生成されます。2 番目に、読み取り/書き込み API コールを実行したときや、AWS マネジメントコンソールにサインインしたときに、AWS CloudTrail によってイベントが発行されます。3 番目に、ユーザー独自のコードでアプリケーションレベルのイベントを生成し、処理のために CloudWatch Events にそのイベントを発行できます。4 番目に、スケジュールに従って、一定の間隔または Cron 形式のスケジュールでイベントを発行できます。このラボのイベントは、EC2 セキュリティグループに変更を加える API コールです。

ルール – 一致した受信イベントを検出し、処理のために 1 つ以上のターゲットに振り分けます。ルールは特定の順序で処理されません。これにより、1 つの組織のさまざまな部署がそれぞれ独立して目的のイベントを検索、処理できます。

ターゲット – ターゲットはルールで指定され、一致したイベントを受け取ります。ターゲットには、AWS Lambda 関数、Amazon SNS トピック、Amazon SQS キュー、Amazon Kinesis Streams のストリーム、または組み込みターゲット (CloudWatch アラームアクション) が含まれます。1 つのルールで複数のターゲットを指定でき、すべてが並列に処理されます。各イベントは JSON 形式でそれぞれのターゲットに渡されます。ルールでは、ターゲットにイベントの特定の部分のみを渡すようにする、一致したイベントを定数で上書きするなど、ターゲットに流れる JSON をカスタマイズできます。ターゲットのタイプによっては利用できないリージョンがあります。各リージョンを表すエンドポイントの詳細については、『アマゾン ウェブ サービス全般のリファレンス』の「リージョンとエンドポイント」を参照してください。

Amazon CloudWatch Events の使用に関する詳細については、https://aws.amazon.com/documentation/cloudwatch/ で公式のアマゾン ウェブ サービスドキュメントを参照してください。料金詳細については、https://aws.amazon.com/cloudwatch/pricing/ を参照してください。

AWS CloudTrail とは

AWS CloudTrail を使用すると、お客様のアカウントの AWS API コールおよび関連イベントの履歴を確認できます。これには、AWS マネジメントコンソール、AWS SDK、コマンドラインツール、AWS の上位サービスを使用して行われた呼び出しが含まれます。また、CloudTrail をサポートするサービスのために AWS を呼び出したユーザーやアカウント、呼び出し元の IP アドレス、呼び出しが発生したタイミングを特定できます。API を使用して CloudTrail をアプリケーションへ統合することや、組織の証跡作成の自動化、証跡のステータスの確認、管理者が CloudTrail のロギングをオンまたはオフにする方法の制御を行うことも可能です。このラボでは、CloudWatch Events を設定して、セキュリティグループの進入ルールを変更できる API コールをモニタリングします。CloudTrail は、この API コールをキャプチャするために使用します。ラボ環境では、CloudTrail が既に有効化されています。

AWS CloudTrail の詳細については、https://aws.amazon.com/documentation/cloudtrail/ で公式のアマゾン ウェブ サービスドキュメントを参照してください。料金詳細については、https://aws.amazon.com/cloudtrail/pricing/ を参照してください。

AWS Lambda とは

Lambda は、クラウド内でのコンピューティング性能を変更可能にするコンピューティングサービスで、開発者はウェブスケールのコンピューティングを簡単に行うことができます。ユーザーが AWS Lambda にコードをアップロードすると、このサービスは AWS インフラストラクチャを使用し、ユーザーに代わって、このコードを実行します。AWS Lambda では、Node.js、Java、Python など多様なコーディング言語がサポートされています。

コードをアップロードして Lambda 関数を作成すると、AWS Lambda により、コードの実行に使用されるサーバーのプロビジョニングや管理が行われるようになります。このラボでは、AWS Lambda をトリガードリブン型のコンピューティングサービスとして使用します。このサービスでは、Amazon EC2 セキュリティグループの変更に合わせて AWS Lambda によってコードが実行されます。Lambda 関数のコードは S3 バケットで提供されます。

AWS Lambda の使用に関する詳細については、https://aws.amazon.com/documentation/lambda/ で公式のアマゾン ウェブ サービスドキュメントを参照してください。料金詳細については、https://aws.amazon.com/lambda/pricing/ を参照してください。

Amazon CloudWatch Logs とは

Amazon CloudWatch Logs では、Amazon Elastic Compute Cloud (Amazon EC2) インスタンス、AWS CloudTrail、その他のソースにあるログファイルのモニタリング、保存、アクセスを行えます。さらに、CloudWatch Logs から関連するログデータを取得できます。

Amazon CloudWatch Events の使用に関する詳細については、https://aws.amazon.com/documentation/cloudwatch/ で公式のアマゾン ウェブ サービスドキュメントを参照してください。料金詳細については、https://aws.amazon.com/cloudwatch/pricing/ を参照してください。

Join Qwiklabs to read the rest of this lab...and more!

  • Get temporary access to the Amazon Web Services Console.
  • Over 200 labs from beginner to advanced levels.
  • Bite-sized so you can learn at your own pace.
Join to Start This Lab