メニュー
AWS Elastic Beanstalk
開発者ガイド (API Version 2010-12-01)

AWS CloudTrail を使用した Elastic Beanstalk API 呼び出しのログ作成

Elastic Beanstalk は、すべての Elastic BeanstalkAPI 呼び出しをキャプチャし、指定した Amazon S3 バケットにログファイルを送信する CloudTrail サービスと統合されます。CloudTrail は、Elastic Beanstalk コンソールまたは Elastic Beanstalk API へのコードから API 呼び出しをキャプチャします。CloudTrail によって収集された情報を使用して、リクエストの作成元のソース IP アドレス、リクエストの実行者、リクエストの実行日時など、Elastic Beanstalk に対してどのようなリクエストが行われたかを判断することができます。

CloudTrail の詳細 (設定する方法や有効にする方法など) については、AWS CloudTrail User Guide を参照してください。

CloudTrail 履歴の Elastic Beanstalk 情報

CloudTrail API のアクティビティ履歴機能により、CloudTrail がキャプチャしたイベントの検索やフィルタリングができます。リージョンごとに、AWS アカウントのリソースの作成、変更、削除に関連するイベントが検索できます。イベントは、CloudTrail コンソールを使ったり、AWS SDK または AWS CLI (検索イベント) を使ったプログラムで検索可能です。

サポートされているアクションのリストは、『CloudTrail User Guide』の「AWS Elastic Beanstalk APIs」を参照してください。

CloudTrail ログ記録における Elastic Beanstalk 情報

AWS アカウントで CloudTrail ログ記録が有効になっている場合、Elastic Beanstalk アクションに対して行われた API 呼び出しは、CloudTrail ログファイルで追跡され、他の AWS サービスレコードとともに書き込まれます。CloudTrail は、期間とファイルサイズに基づいて、新しいファイルをいつ作成して書き込むかを決定します。

すべての Elastic Beanstalk アクションは CloudTrail が記録し、Elastic Beanstalk API リファレンスに文書化されます。たとえば、[CreateEnvironment]、[UpdateEnvironment]、[TerminateEnvironment] セクションの呼び出しは、CloudTrail ログファイルにエントリーを生成します。

各ログエントリには、誰がリクエストを生成したかに関する情報が含まれます。ログエントリのユーザー ID 情報は、次のことを確認するのに役立ちます。

  • リクエストが、ルートと IAM ユーザー認証情報のどちらを使用して送信されたか

  • リクエストが、ロールとフェデレーティッドユーザーのどちらの一時的なセキュリティ認証情報を使用して送信されたか

  • リクエストが、別の AWS サービスによって送信されたかどうか

詳細については、「CloudTrail userIdentity 要素」を参照してください。

必要な場合はログファイルを自身の Amazon S3 バケットに保管できますが、ログファイルを自動的にアーカイブまたは削除するにように Amazon S3 ライフサイクルルールを定義することもできます。デフォルトでは Amazon S3 のサーバー側の暗号化 (SSE) を使用して、ログファイルが暗号化されます。

ログファイルの配信時に通知を受け取る場合、新しいログファイルの配信時に Amazon SNS 通知が発行されるように CloudTrail を設定できます。詳細については、「Configuring Amazon SNS Notifications for CloudTrail」を参照してください。

また、複数 AWS リージョンと複数の AWS アカウトからの Elastic Beanstalk ログファイルを、1 つの Amazon S3 バケットに集約することもできます。

詳細は、「Receiving CloudTrail Log Files from Multiple Regions」と「Receiving CloudTrail Log Files from Multiple Accounts」を参照してください。

Elastic Beanstalk ログファイルエントリの概要

CloudTrail ログファイルには、1 つ以上のログエントリを含めることができます。各エントリには、複数の JSON 形式のイベントがリストされます。ログエントリは任意の送信元からの単一のリクエストを表し、リクエストされたアクション、アクションの日時、リクエストのパラメーターなどに関する情報が含まれます。ログエントリは、パブリック API 呼び出しの順序付けられたスタックトレースではないため、特定の順序では表示されません。

次の例は、intern というユーザー名を持つ IAM が呼び出した UpdateEnvironment アクションを示す CloudTrail ログエントリを示しています。

{
  "Records": [{
    "eventVersion": "1.03",
    "userIdentity": {
      "type": "IAMUser",
      "principalId": "AIXDAYQEXAMPLEUMLYNGL",
      "arn": "arn:aws:iam::123456789012:user/intern",
      "accountId": "123456789012",
      "accessKeyId": "ASXIAGXEXAMPLEQULKNXV",
      "userName": "intern",
      "sessionContext": {
        "attributes": {
          "mfaAuthenticated": "false",
          "creationDate": "2016-04-22T00:23:24Z"
        }
      },
      "invokedBy": "signin.amazonaws.com"
    },
    "eventTime": "2016-04-22T00:24:14Z",
    "eventSource": "elasticbeanstalk.amazonaws.com",
    "eventName": "UpdateEnvironment",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "255.255.255.54",
    "userAgent": "signin.amazonaws.com",
    "requestParameters": {
      "optionSettings": []
    },
    "responseElements": null,
    "requestID": "84ae9ecf-0280-17ce-8612-705c7b132321",
    "eventID": "e48b6a08-c6be-4a22-99e1-c53139cbfb18",
    "eventType": "AwsApiCall",
    "recipientAccountId": "123456789012"
  }]
}