

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

# `AWSSupport-CollectECSInstanceLogs`
<a name="automation-awssupport-collectecsinstancelogs"></a>

 **説明** 

 `AWSSupport-CollectECSInstanceLogs` ランブックは、一般的な Amazon ECS の問題のトラブルシューティングに役立つように、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスからオペレーティングシステムと Amazon Elastic Container Service (Amazon ECS) に関連するログファイルを収集します。自動化が関連するログファイルを収集している間に、ファイルシステムに変更が加えられます。これらの変更には、一時ディレクトリとログディレクトリの作成、これらのディレクトリへのログファイルのコピー、ログファイルのアーカイブへの圧縮が含まれます。

 `LogDestination` パラメータの値を指定する場合、ターゲットインスタンスには Linux インスタンス用の コマンドラインインターフェイス (AWS CLI) AWS または Windows インスタンス用の AWS Tools for Windows PowerShell がインストールされている必要があります。オートメーションは、指定した Amazon Simple Storage Service (Amazon S3) バケットのポリシーステータスを評価します。Amazon EC2 インスタンスから収集されたログのセキュリティを支援するために、ポリシーステータス `isPublic` が `true` に設定されている場合、またはアクセスコントロールリスト (ACL) が `All Users` Amazon S3 事前定義済みグループに `READ|WRITE` アクセス許可を付与している場合、ログはアップロードされません。また、指定したバケットがアカウントで利用できない場合、ログはアップロードされません。Amazon S3 事前定義された g ループの詳細については、「Amazon *Simple Storage Service ユーザーガイド」の「Amazon* [ Amazon S3 事前定義されたグループ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#specifying-grantee-predefined-groups)」を参照してください。

 [このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-CollectECSInstanceLogs) 

**ドキュメントタイプ**

オートメーション

**[所有者]**

Amazon

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

Linux、Windows

**パラメータ**
+ AutomationAssumeRole

  タイプ: 文字列

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

  タイプ: 文字列

  説明: (必須) ログを収集する元のインスタンスの ID。指定するインスタンスは Systems Manager によって管理される必要があります。
+ LogDestination

  タイプ: 文字列

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

**必要な IAM アクセス許可**

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

 `ECSInstanceId` パラメータに指定する Amazon EC2 インスタンスには、`AmazonSSMManagedInstanceCore` Amazon 管理ポリシーがアタッチされた IAM ロールがあることが推奨されます。`LogDestination` パラメータで指定した Amazon S3 バケットにログアーカイブをアップロードするには、以下のアクセス許可を追加する必要があります。
+  `s3:PutObject` 
+  `s3:ListBucket` 
+  `s3:GetBucketPolicyStatus` 
+  `s3:GetBucketAcl` 

 **ドキュメントステップ** 
+  `assertInstanceIsManaged` - `ECSInstanceId` パラメータで指定されたインスタンスが Systems Manager によって管理されているかどうかを確認します。
+  `getInstancePlatform` - `ECSInstanceId` パラメータで指定されたインスタンスのオペレーティングシステム (OS) プラットフォームに関する情報を取得します。
+  `verifyInstancePlatform` - OS プラットフォームに基づいて自動化を分岐させます。
+  `runLogCollectionScriptOnLinux` - Linux インスタンスでオペレーティングシステムと Amazon ECS に関連するログファイルを収集し、`/var/log/collectECSlogs` ディレクトリにアーカイブファイルを作成します。
+  `runLogCollectionScriptOnWindows` - Windows インスタンスでオペレーティングシステムと Amazon ECS に関連するログファイルを収集し、`C:\ProgramData\collectECSlogs` ディレクトリにアーカイブファイルを作成します。
+  `verifyIfS3BucketProvided` - `LogDestination` パラメータに値が指定されているかどうかを確認します。
+  `runUploadScript` - OS のプラットフォームに基づいて自動化ステップを分岐させます。
+  `runUploadScriptOnLinux` - `LogDestination` パラメータで指定された Amazon S3 バケットにログアーカイブをアップロードし、アーカイブされたログファイルを OS から削除します。
+  `runUploadScriptOnWindows` - `LogDestination` パラメータで指定された Amazon S3 バケットにログアーカイブをアップロードし、アーカイブされたログファイルを OS から削除します。