

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

# ネットワーク切断による認証情報のホスト
<a name="hybrid-nodes-host-creds"></a>

EKS Hybrid Nodes は、AWS Systems Manager (SSM) ハイブリッドアクティベーションおよび AWS IAM Roles Anywhere と統合され、EKS コントロールプレーンでノードを認証するために使用される一時的な IAM 認証情報を提供します。SSM と IAM Roles Anywhere の両方が、オンプレミスホストで管理する一時的な認証情報を自動的に更新します。クラスター内のハイブリッドノード全体で単一の認証情報プロバイダーを使用することをお勧めします。SSM ハイブリッドアクティベーションまたは IAM Roles Anywhere のいずれかですが、両方を使用することはできません。

## SSM ハイブリッドアクティベーション
<a name="_ssm_hybrid_activations"></a>

SSM によってプロビジョニングされた一時的な認証情報は 1 時間有効です。SSM を認証情報プロバイダーとして使用する場合、認証情報の有効期間を変更することはできません。一時的な認証情報は、有効期限が切れる前に SSM によって自動的にローテーションされ、ローテーションはノードまたはアプリケーションのステータスには影響しません。ただし、SSM エージェントと SSM リージョンエンドポイントの間にネットワーク切断がある場合、SSM は認証情報を更新できず、認証情報の有効期限が切れる可能性があります。

SSM リージョンエンドポイントに接続できない場合、SSM は認証情報の更新の再試行にエクスポネンシャルバックオフを使用します。SSM エージェントバージョン `3.3.808.0` 以降 (2024 年 8 月リリース) では、エクスポネンシャルバックオフの上限は 30 分です。ネットワークの切断時間によっては、SSM が認証情報を更新するまでに最大 30 分かかる場合があり、ハイブリッドノードは認証情報が更新されるまで EKS コントロールプレーンに再接続しません。このシナリオでは、SSM エージェントを再起動して認証情報を強制的に更新できます。現在の SSM 認証情報の更新動作の副作用として、ノードは、各ノードの SSM エージェントが認証情報の更新を管理するタイミングに応じて、異なるタイミングで再接続することがあります。このため、再接続済みのノードにまだ再接続されていないノードからのポッドフェイルオーバーが発生する可能性があります。

SSM エージェントのバージョンを取得します。SSM コンソールの Fleet Manager セクションを確認することもできます。

```
# AL2023, RHEL
yum info amazon-ssm-agent
# Ubuntu
snap list amazon-ssm-agent
```

SSM エージェントを再起動します。

```
# AL2023, RHEL
systemctl restart amazon-ssm-agent
# Ubuntu
systemctl restart snap.amazon-ssm-agent.amazon-ssm-agent
```

SSM エージェントログを表示します。

```
tail -f /var/log/amazon/ssm/amazon-ssm-agent.log
```

ネットワーク切断中に予想されるログメッセージ:

```
INFO [CredentialRefresher] Credentials ready
INFO [CredentialRefresher] Next credential rotation will be in 29.995040663666668 minutes
ERROR [CredentialRefresher] Retrieve credentials produced error: RequestError: send request failed
INFO [CredentialRefresher] Sleeping for 35s before retrying retrieve credentials
ERROR [CredentialRefresher] Retrieve credentials produced error: RequestError: send request failed
INFO [CredentialRefresher] Sleeping for 56s before retrying retrieve credentials
ERROR [CredentialRefresher] Retrieve credentials produced error: RequestError: send request failed
INFO [CredentialRefresher] Sleeping for 1m24s before retrying retrieve credentials
```

## IAM Roles Anywhere
<a name="_iam_roles_anywhere"></a>

IAM Roles Anywhere によってプロビジョニングされた一時的な認証情報は、デフォルトで 1 時間有効です。IAM Roles Anywhere プロファイルの [https://docs.aws.amazon.com/rolesanywhere/latest/userguide/authentication-create-session.html#credentials-object](https://docs.aws.amazon.com/rolesanywhere/latest/userguide/authentication-create-session.html#credentials-object)フィールドを使用して、IAM Roles Anywhere で認証情報の有効期間を設定できます。認証情報の最大有効期間は 12 時間です。Hybrid Nodes IAM ロール[https://docs.aws.amazon.com/managedservices/latest/ctref/management-advanced-identity-and-access-management-iam-update-maxsessionduration.html](https://docs.aws.amazon.com/managedservices/latest/ctref/management-advanced-identity-and-access-management-iam-update-maxsessionduration.html)の設定は、IAM Roles Anywhere プロファイル`durationSeconds`の設定よりも大きくする必要があります。

ハイブリッドノードの認証情報プロバイダーとして IAM Roles Anywhere を使用する場合は、kubelet が `aws_signing_helper credential-process`を呼び出してオンデマンドで認証情報を取得するため、通常、ネットワークの切断後数秒以内に EKS コントロールプレーンに再接続します。ハイブリッドノードやネットワークの切断に直接関係ありませんが、IAM Roles Anywhere の使用時に証明書の有効期限の通知とアラートを設定できます。詳細については、[「IAM Roles Anywhere で通知設定をカスタマイズ](https://docs.aws.amazon.com/rolesanywhere/latest/userguide/customize-notification-settings.html)する」を参照してください。