Amazon EKS インスタンスのログバンドルを生成する方法を教えてください。
最終更新日: 2021 年 1 月 4 日
Amazon Elastic Kubernetes Service (Amazon EKS) インスタンスをトラブルシューティングしています。そのインスタンスに関連付けられた関係するすべての Amazon EKS ログを収集する必要があります。
簡単な説明
AWSSupport-CollecteksInstanceLogs オートメーションドキュメントを使用して、Amazon EKS ログを収集できます。
重要: 自動化が機能するには、Amazon EKS インスタンスに SSM Agent をインストールして実行する必要があります 。
解決方法
- AWS Systems Manager コンソールを開きます。
- ナビゲーションペインで [自動化] を選択します。
- [オートメーションの実行] を選択します。
- [Amazon 所有] タブの [自動化ドキュメント] 検索ボックスに「EKSInstanceLogs」と入力してから、AWSSupport-CollectEKSInstanceLogs ドキュメントを選択します。
- [次へ] を選択します。
- [自動化入力] ページの EKSInstanceId に、ターゲットの Amazon EKS インスタンス ID を入力します。
- LogDestination と AutomationAssumeRole パラメータを設定します。
注意: ログバンドルは、LogDestination フィールドで指定された Amazon Simple Storage Service (Amazon S3) バケットにアップロードされます。バケットを指定しなかった場合は、インスタンスからログバンドルを取得できます。ログバンドルは、/var/log/ パスにローカルに保存されます。 - [Execute automation] (オートメーションの実行) を選択します。
注意: 自動化を目的とする Amazon Elastic Compute Cloud (Amazon EC2) インスタンスの AWS Identity and Access Management (IAM) ロールに、Amazon が管理する AmazonSSMManagedInstanceCore ポリシーをアタッチすることがベストプラクティスです。ユーザーが、自動化が実行されるまでに (LogDestination フィールド) に S3 バケット名を指定した場合、インスタンスプロファイルには、バケットに書き込むための適切なアクセス許可が与えられます。自動化を実行してインスタンスにコマンドを送信するには、少なくとも ssm:ExecuteAutomation と ssm:SendCommand アクセス許可が必要です。自動化の出力を読み取るには、ssm:GetAutomationExecution アクセス許可が必要です。