Amazon EKS クラスターのランタイムカバレッジとトラブルシューティング
Runtime Monitoring を有効にして EKS の GuardDuty セキュリティエージェント (アドオン) をインストールした後、EKS クラスターのカバレッジの評価を開始できます。
カバレッジ統計の確認
自分のアカウントまたはメンバーアカウントに関連付けられた EKS クラスターのカバレッジ統計は、選択した AWS リージョン のすべての EKS クラスターに対する正常な EKS クラスターの割合です。次の式はこれを次のように表します。
(正常なクラスター/すべてのクラスター)*100
いずれかのアクセス方法を選択して、アカウントのカバレッジ統計を確認してください。
EKS クラスターのカバレッジステータスが [異常] である場合は、「Amazon EKS ランタイムカバレッジの問題のトラブルシューティング」を参照してください。
カバレッジステータス変更時の EventBridge 通知
アカウントの EKS クラスターのカバレッジステータスが [異常] と表示されることがあります。カバレッジステータスが [異常] になったことを検出するためにカバレッジステータスを定期的にモニタリングし、ステータスが [異常] の場合はトラブルシューティングすることをお勧めします。または、Amazon EventBridge ルールを作成して、カバレッジステータスが Unhealthy
から Healthy
に変更された場合やそれ以外の変更があった場合に通知を受け取ることもできます。デフォルトでは、GuardDuty はこれをアカウントの EventBridge バスに公開します。
通知スキーマの例
EventBridge のルールでは、あらかじめ定義されたサンプルイベントとイベントパターンを使用して、カバレッジステータスの通知を受け取ることができます。EventBridge ルールの作成の詳細については、「Amazon EventBridge ユーザーガイド」の「ルールの作成」を参照してください。
さらに、次の通知スキーマの例を使用して、カスタムイベントパターンを作成します。アカウントの値を必ず置き換えてください。Amazon EKS クラスターのカバレッジステータスが Healthy
から Unhealthy
に変更されたときに通知を受け取るには、detail-type
が GuardDuty Runtime Protection Unhealthy
である必要があります。カバレッジステータスが Unhealthy
から Healthy
に変更されたときに通知を受け取るには、detail-type
の値を GuardDuty Runtime Protection Healthy
に置き換えます。
{ "version": "0", "id": "event ID", "detail-type": "GuardDuty Runtime Protection
Unhealthy
", "source": "aws.guardduty", "account": "AWS アカウント ID", "time": "event timestamp (string)", "region": "AWS リージョン", "resources": [ ], "detail": { "schemaVersion": "1.0", "resourceAccountId": "string", "currentStatus": "string", "previousStatus": "string", "resourceDetails": { "resourceType": "EKS", "eksClusterDetails": { "clusterName": "string", "availableNodes": "string", "desiredNodes": "string", "addonVersion": "string" } }, "issue": "string", "lastUpdatedAt": "timestamp" } }
Amazon EKS ランタイムカバレッジの問題のトラブルシューティング
EKS クラスターのカバレッジステータスが Unhealthy
の場合、GuardDuty コンソールの [問題] 列または CoverageResource データ型を使用して、対応するエラーを確認できます。
包含タグまたは除外タグを使用して EKS クラスターを選択的にモニタリングする場合、タグの同期に時間がかかることがあります。これにより、関連する EKS クラスターのカバレッジステータスに影響が及ぶ可能性があります。対応するタグ (包含または除外) を削除してから、もう一度追加してみることができます。詳細については、「Amazon EKS ユーザーガイド」の「Amazon EKS リソースのタグ付け」を参照してください。
カバレッジ問題の構造は Issue type:Extra information
です。通常、問題にはオプションの追加情報があり、特定のクライアント側の例外や問題に関する説明が含まれる場合があります。追加情報に基づき、EKS クラスターのカバレッジの問題をトラブルシューティングするための推奨ステップを以下の表に示します。
問題のタイプ (プレフィックス) |
追加情報 |
推奨されるトラブルシューティングの手順 |
---|---|---|
アドオンの作成に失敗 |
アドオン |
|
アドオンの作成に失敗 アドオンの更新に失敗 アドオンのステータスが異常 |
EKS アドオンの問題 - |
特定のアドオン問題コードの推奨ステップについては、「Troubleshooting steps for Addon creation/updatation error with Addon issue code」を参照してください。 この問題で発生する可能性のあるアドオンの問題コードのリストについては、「AddonIssue」を参照してください。 |
VPC エンドポイントの作成に失敗 |
VPC エンドポイントの作成は、共有 VPC |
Runtime Monitoring では、組織内の共有 VPC の使用がサポートされるようになりました。アカウントがすべての前提条件を満たしていることを確認します。詳細については、「共有 VPC を使用するための前提条件」を参照してください。 |
自動エージェント設定で共有 VPC を使用する場合のみ 共有 VPC |
共有 VPC 所有者アカウントは、少なくとも 1 つのリソースタイプ (Amazon EKS または Amazon ECS (AWS Fargate)) の Runtime Monitoring および自動エージェント設定を有効にする必要があります。詳細については、「GuardDuty Runtime Monitoring に固有の前提条件」を参照してください。 | |
プライベート DNS を有効にするには、 |
次の VPC 属性が https://console.aws.amazon.com/vpc/ |
|
共有 VPC エンドポイントの削除に失敗 |
共有 VPC エンドポイントの削除は、アカウント ID |
考えられるステップ:
|
ローカル EKS クラスター |
EKS アドオンはローカルのアウトポストクラスターではサポートされていません。 |
実用的ではありません。 詳細については、「AWS Outposts の Amazon EKS」を参照してください。 |
EKS Runtime Monitoring の有効化許可が付与されていません |
(追加情報が表示される場合と表示されない場合があります) |
|
進行中の EKS Runtime Monitoring 有効化リソースのプロビジョニング |
(追加情報が表示される場合と表示されない場合があります) |
実用的ではありません。 EKS Runtime Monitoring を有効にしても、リソースプロビジョニングステップが完了するまでカバレッジステータスが |
その他 (その他の問題) |
承認が失敗したためにエラーが発生しました |
EKS Runtime Monitoring を切り替えて、オフにしてから再度オンにします。GuardDuty エージェントも、GuardDuty を使用して自動的にデプロイするか、手動でデプロイするようにしてください。 |
アドオンの作成または更新エラー |
トラブルシューティングのステップ |
---|---|
EKS アドオンの問題 - |
|
EKS アドオンの問題 - |
|
EKS アドオンの問題 - |
アドオンを作成または更新するときは、 最初に「アドオンを削除」してから再インストールできます。 |
EKS アドオンの問題 - |
不足している権限を手動で
次のコマンドを使用して、この
|
EKS アドオンの問題 - |
コントローラを無効にするか、コントローラが Amazon EKS クラスターからのリクエストを受け付けるようにする必要があります。 アドオンを作成または更新する前に、GuardDuty 名前空間を作成して |
EKS アドオンの問題 - |
「EKS エージェントバージョン 1.6.0 以降のリポジトリ」に記載されているように、アドミッションコントローラーのウェブフックがリージョンのレジストリにアクセスすることを明示的に許可する必要があります。 |