Session Manager が Amazon S3 または CloudWatch にログ記録を行う際のトラブルシューティング方法を教えてください。

所要時間2分
0

AWS Systems Manager Session Manager が Amazon Simple Storage Service (Amazon S3) または Amazon CloudWatch にログを送信していないため、原因を把握したいです。

簡単な説明

次の要因で、Session Manager が Amazon S3 または CloudWatch にログを送信しない状況が発生します。

  • Session Manager のログ記録に構成ミスがある
  • Amazon S3 バケットのアクセス許可と AWS Identity and Access Management (IAM) ポリシーに誤りがある
  • Amazon Virtual Private Cloud (Amazon VPC) エンドポイントの到達性に問題がある
  • IAM ロールに CloudWatch のログ記録に必要なアクセス許可が欠けている

前提条件

解決策

注: AWS CLI のコマンドの実行時にエラーが発生する場合は、「AWS CLI でのエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

Session Manager のログ記録設定を確認する

セッションデータのログ記録を有効にするには、Session Manager が Amazon S3 またはCloudWatch Logs で設定されているかどうかを確認します。

CloudWatch Logs の設定時は、次のベストプラクティスを実施します。

  • Session Manager の設定をレビューし、CloudWatch Logs が有効になっていることを確認します。
  • 有効なロググループ名を指定したことを確認します。
  • 指定したロググループが CloudWatch に存在することを確認します。

Amazon S3 バケットのアクセス許可と IAM ポリシーを確認する

Session Manager が Amazon S3 にログをアップロードするには、インスタンスに関連付けられた IAM ロールには必要なアクセス許可が必要です。

Amazon S3 でログが見つからない場合のトラブルシューティングには、次の手順を実行します。

  • Amazon Elastic Compute Cloud (Amazon EC2) インスタンスプロファイルのロールには、S3 バケットの ARN を持つ正しい S3 IAM アクセス許可があることを確認します。
  • S3 バケットポリシーが、インスタンスプロファイルのロールを Principal として許可しており、S3 バケットに対する必要な S3 アクションが含まれていることを確認します。

Amazon VPC エンドポイントの到達性を確認する

Amazon EC2 インスタンスがインターネットにアクセスできない場合は、Session Manager が Amazon S3 または CloudWatch に記録するための Amazon VPC エンドポイントを作成する必要があります。

エンドツーエンドのネットワークを調べ、次のエンドポイントで HTTPS トラフィックが開いていることを確認します。

  • HTTPS://ec2.region-code.amazonaws.com
  • HTTPS: //ec2messages.region-code.amazonaws.com
  • HTTPS: //ssm.region-code.amazonaws.com
  • HTTPS: //ssmmessages.region-code.amazonaws.com
  • HTTPS: //s3.region-code.amazonaws.com
  • HTTPS://monitoring.region-code.amazonaws.com

エンドポイントを作成する方法については、「サービスコンシューマーとしてエンドポイントサービスに接続する」を参照してください。

CloudWatch での記録用の IAM ポリシーを設定する

セッションログまたはストリームログが CloudWatch ロググループに見つからない場合、インスタンスプロファイルロールには正しい IAM アクセス許可が欠けています。

ログストリームを作成してログイベントを CloudWatch に配置するには、Session Manager には、IAM ポリシーで次のアクセス許可を付与する必要があります。

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:DescribeLogStreams",
"logs:PutLogEvents"
],
"Resource": [
"arn:aws:logs:REGION:ACCOUNT-ID:log-group:LOG-GROUP-NAME:*"
]
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "logs:DescribeLogGroups",
"Resource": "*"
}
]
}

注:

  • 上記のポリシーでは、REGIONACCOUNT-IDLOG-GROUP-NAMEを実際の AWS リージョン、AWS アカウント、ロググループ名に置き換えます。
  • CloudWatch ロググループを AWS Key Management Service (AWS KMS) のカスタマーマネージドキーで暗号化した場合は、インスタンスプロファイルのロールにそのキーを使用するためのアクセス許可を付与します。AWS KMS キーポリシーでは、ロールがキーにアクセスできるようにする必要があります。
"Resource": "arn:aws:logs:us-east-1:123456789012:log-group:/aws/ssm/my-log-group:*"

その他のトラブルシューティング

CloudWatch ログの問題をトラブルシューティングするには、アクションとタイムスタンプに基づいて AWS CloudTrail の [イベント履歴] を確認します。詳細については、「AWS CloudTrail で CloudWatch Logs API とコンソールの操作を記録する」を参照してください。

関連情報

AWS Systems Manager Session Manager の問題をトラブルシューティングする方法

AWS公式
AWS公式更新しました 1ヶ月前
コメントはありません

関連するコンテンツ