AWS Systems Manager を使用して Amazon SageMaker エンドポイントに接続するときに発生する問題をトラブルシューティングしたいです。
簡単な説明
SageMaker は Systems Manager を使用しており、推論用にデプロイされたモデルをホストする Docker コンテナに安全に接続できます。この機能ではコンテナへのシェルレベルのアクセスが可能です。また、Amazon CloudWatch を使用しているため、ユーザーはコンテナ内で実行されるプロセスをデバッグすることができます。
さらに、ユーザーはコンテナをホストする機械学習インスタンスへの AWS PrivateLink 接続を確立し、Systems Manager からコンテナへのプライベートアクセスを行うことができます。この方法では、ユーザーはデプロイされたモデルの監視、トラブルシューティング、管理を高いレベルのセキュリティで実現できます。
注: SSM アクセスを有効にすると、エンドポイントのパフォーマンスに影響する可能性があります。この機能は、本番環境のエンドポイントではなく、開発またはテスト環境のエンドポイントで使用するのがベストプラクティスです。詳細については、「SSM 経由でコンテナにアクセスする」ページの警告メッセージを参照してください。
解決策
Systems Manager を使用して SageMaker に接続するときに発生する問題は、次のエラーに基づいてトラブルシューティングします。
ValidationException: リクエストされたリージョンのアカウントでは、SSM アクセスは許可されていません。この機能を有効にするには、カスタマーサポートにお問い合わせください
このエラーは、アカウントがリクエストされた AWS リージョンで SageMaker エンドポイントの Systems Manager 機能を使用するための許可リストに含まれていない場合に発生します。このエラーを解決するには、AWS サポートにお問い合わせのうえ、お使いのアカウントでこの機能を使用するための許可リストへの登録をリクエストしてください。アカウントがアクセスするための許可リストに登録されていない場合、Systems Manager へのアクセスが有効になっているエンドポイントを作成することはできません。
StartSession 操作の呼び出し時にエラーが発生しました (TargetNotConnected): <example-endpoint-id>_<example-instance-id> 上記に対して接続されていません
このエラーは、エンドポイントのターゲット ID で SageMaker エンドポイントに接続し、モデルコンテナにアクセスしようとしたときに発生します。このエラーをトラブルシューティングするには、次の手順を実行します。
- エンドポイントに接続している IAM ユーザーの AWS Identity and Access Management (IAM) アクセス許可を確認します。エンドポイントが関連付けられているランタイムロールのアクセス許可も確認してください。詳細については、「IAM の設定」を参照してください。
- セッションを開始するマネージドノードの AWS アカウントまたはリージョンを確認します。このエラーは、マネージドノードが別のアカウントまたはリージョンにある場合に発生します。
- インスタンス ID が間違っていたり、古くなっていたりしていないかを確認します。インスタンスは、エンドポイントのライフサイクルを通じて定期的に交換されます。正しくないインスタンスや古いインスタンスを解決するには、エンドポイントの背後にある現在のインスタンスを特定し、Systems Manager によるそのインスタンスへの接続を確立します。
関連情報
SSM で SageMaker 推論エンドポイントに接続する (GitHub のウェブサイト)