AWSSupport-CollectElasticBeanstalkLogs - AWS Systems Manager オートメーションランブックリファレンス

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

AWSSupport-CollectElasticBeanstalkLogs

説明

AWSSupport-CollectElasticBeanstalkLogs ランブックは、一般的な問題のトラブルシューティングに役立つように、Elastic Beanstalk によって起動された Amazon Elastic Compute Cloud (Amazon EC2) Windows Server インスタンスから AWS Elastic Beanstalk に関連するログファイルを収集します。自動化によって関連するログファイルが収集される間、一時ディレクトリの作成、ログファイルの一時ディレクトリへのコピー、ログファイルのアーカイブへの圧縮など、ファイルシステム構造が変更されます。このアクティビティにより、Amazon EC2 インスタンスで CPUUtilization が増加する可能性があります。CPUUtilization の詳細については、Amazon CloudWatch ユーザーガイドの「インスタンスメトリクス」を参照してください。

S3BucketName パラメータの値を指定すると、指定した Amazon Simple Storage Service (Amazon S3) バケットのポリシーステータスが自動化によって評価されます。Amazon EC2 インスタンスから収集されたログのセキュリティを支援するために、ポリシーステータス isPublictrue に設定されている場合、またはアクセスコントロールリスト (ACL) が All Users Amazon S3 事前定義済みグループに READ|WRITE アクセス許可を付与している場合、ログはアップロードされません。Amazon S3 の定義済みグループの詳細については、Amazon Simple Storage Service ユーザーガイドの「Amazon S3 の定義済みグループ」を参照してください。

S3BucketName パラメータの値を指定しない場合、自動化は、オートメーションを実行する場所 AWS リージョン のデフォルトの Elastic Beanstalk Amazon S3 バケットにログバンドルをアップロードします。ディレクトリは、 elasticbeanstalk- region - accountID の構造に従って名前が付けられます。リージョンおよび accountID の値は、オートメーションを実行するリージョンおよび AWS アカウント によって異なります。ログバンドルは resources/environments/logs/bundle/ environmentID / instanceID ディレクトリに保存されます。environmentIDinstanceID の値は、Elastic Beanstalk 環境と、ログを収集している Amazon EC2 インスタンスによって異なります。

デフォルトでは、Elastic Beanstalk 環境の Amazon EC2 インスタンスにアタッチされた AWS Identity and Access Management (IAM) インスタンスプロファイルには、環境のデフォルトの Elastic Beanstalk Amazon S3 バケットにバンドルをアップロードするために必要なアクセス許可があります。S3BucketName パラメータの値を指定する場合、Amazon EC2 インスタンスにアタッチされたインスタンスプロファイルは、指定した Amazon S3 バケットとパスの s3:GetBucketAcls3:GetBucketPolicys3:GetBucketPolicyStatus および s3:PutObject アクションを許可する必要があります。

注記

この自動化では、Amazon EC2 インスタンスにアタッチされたルート Amazon Elastic Block Store (Amazon EBS) ボリュームの空きディスク容量 500 MB 以上が必要です。ルートボリュームに十分な空きディスク容量がない場合、自動化は停止します。

このオートメーションを実行する (コンソール)

ドキュメントタイプ

Automation

[所有者]

Amazon

[Platforms] (プラットフォーム)

Windows

パラメータ

  • AutomationAssumeRole

    タイプ: 文字列

    説明: (オプション) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。

  • EnvironmentId

    タイプ: 文字列

    説明: (必須) ログバンドルを収集する Elastic Beanstalk 環境の ID。

  • InstanceId

    タイプ: 文字列

    (必須) ログバンドルを収集する Elastic Beanstalk 環境の Amazon EC2 インスタンスの ID。

  • S3BucketName

    タイプ: 文字列

    (オプション) アーカイブされたログをアップロードする Amazon S3 バケット。

  • S3BucketPath

    タイプ: 文字列

    (オプション) ログバンドルをアップロードする Amazon S3 バケット。このパラメータは、S3BucketName パラメータの値を指定していない場合は無視されます。

必要な IAM アクセス許可

AutomationAssumeRole パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。

  • ssm:StartAutomationExecution

  • ssm:GetAutomationExecution

  • ssm:SendCommand

  • ssm:DescribeInstanceInformation

  • ec2:DescribeInstances

ドキュメントステップ

  • aws:assertAwsResourceProperty - InstanceId パラメータで指定した Amazon EC2 インスタンスが AWS Systems Managerによって管理されていることを確認します。

  • aws:assertAwsResourceProperty - InstanceId パラメータで指定した Amazon EC2 インスタンスが Windows Server インスタンスであることを確認します。

  • aws:runCommand - インスタンスが Elastic Beanstalk 環境の一部であるかどうか、ログをバンドルするのに十分なディスク容量があるかどうか、ログのアップロード先となる Amazon S3 バケットがパブリックかどうかをチェックします。

  • aws:runCommand - ログファイルを収集し、S3BucketName パラメータで指定された Amazon S3 バケット、または値が指定されていない場合は Elastic Beanstalk 環境のデフォルトバケットにアーカイブをアップロードします。