Git リポジトリの Amazon SageMaker ノートブックインスタンスへの接続に関連する問題をトラブルシューティングするにはどうすればよいですか?

所要時間3分
0

Amazon SageMaker ノートブックインスタンスに Git リポジトリを追加しようとしていますが、次のエラーが 1 つ以上表示されます。

「fatal: unable to access <Git repository URL>: the requested URL returned error: 403」(致命的: <Git repository URL> にアクセスできません: 要求された URL がエラーを返しました: 403) 「fatal: unable to access <Git repository URL>: failed to connect to …: port 443: connection timed out」(致命的: <Git repository URL> にアクセスできません: ... に接続できませんでした: ポート 443: 接続がタイムアウトしました) 「fatal: unable to access <Git repository URL> could not resolve the host: …」(致命的: <Git repository URL> にアクセスできないためホストを解決できませんでした:...) 「fatal: could not read Username for <Git repository URL>: terminal prompts disabled」(致命的: <Git repository URL> のユーザー名を読み取れませんでした: ターミナルプロンプトは無効になっています) 「fatal: could not read Password for <Git repository URL>: terminal prompts disabled」(致命的: <Git repository URL> のパスワードを読み取れませんでした: ターミナルプロンプトは無効になっています) 「fatal: authentication failed for <Git repository URL>」(致命的: <Git repository URL> の認証に失敗しました) 「No space left on device while cloning Git repo.Please try using a larger volume」(Git リポジトリのクローンを作成しようとしましたが、デバイスに空き領域がありません。より大きなボリュームの使用を試みてください)

解決方法

SageMaker ノートブックインスタンスに新しい Git リポジトリを追加するには、「Add a Git repository to your Amazon SageMaker account」(Amazon SageMaker アカウントに Git リポジトリを追加する) を参照してください。AWS CodeCommit でホストされていない Git リポジトリを追加しようとすると、次のエラーが表示されることがあります。

接続に関連するエラー

接続の問題がある場合は、次のいずれかのエラーが表示されることがあります。

  • 「fatal: unable to access <Git repository URL>: the requested URL returned error: 403」(致命的: <Git repository URL> にアクセスできません: 要求された URL がエラーを返しました: 403)
  • 「fatal: unable to access <Git repository URL>: failed to connect to …: port 443: connection timed out」(致命的: <Git repository URL> にアクセスできません: ... に接続できませんでした: ポート 443: 接続がタイムアウトしました)
  • 「fatal: unable to access <Git repository URL> could not resolve the host: …」(致命的: <Git repository URL> にアクセスできないためホストを解決できませんでした:...)

これらのエラーを解決するには、次の操作を実行します。

  • ノートブックインスタンスの接続を確認します。
  • Git リポジトリの URL が正確であることを確認します。

ノートブックインスタンスの接続を確認する

ノートブックインスタンスが Git リポジトリに正常に接続されていることを確認してください。このリポジトリは、オンプレミスの Git リポジトリサーバーにある場合もあれば、GitHub、Bitbucket、GitLab などのパブリッククラウドサーバーにある場合もあります。

ノートブックインスタンスが使用しているネットワーク構成を確認します。ノートブックインスタンスには、次のいずれかのネットワーク構成がある場合があります。

  • インスタンスが Amazon Virtual Private Cloud (VPC) にアタッチされていない。
  • Amazon VPC がインターネットに直接アクセスできる
  • VPC はインターネットに直接アクセスできない。

VPC を使用する場合は、サブネット、セキュリティグループ、ネットワークアクセスコントロールリスト (ACL)、NAT ゲートウェイ、インターネットゲートウェイ、およびルートテーブルが正しく設定されていることを確認してください。

Git リポジトリの URL が正確であることを確認する

追加する Git リポジトリの URL が次の形式であることを確認してください。

  • GitHub URL: https://github.com/<workspace>/<repository.git>
  • Bitbucket URL: https://bitbucket.org/<workspace>/<repository.git>
  • GitLab URL: https://gitlab.com/<workspace>/<repository.git>

次のとおりに置き換えてください。

  • workspace を Git ワークスペース名と置き換えます
  • repository.git を *.git のファイル拡張子が付いたコードリポジトリ名と置き換えます。

例えば、ワークスペースの名前が myworkspace で、Git リポジトリが myrepository.git である Git リポジトリとして Bitbucket を使用している場合、次の Git リポジトリ URL を使用する必要があります: https://bitbucket.org/myworkspace/myrepository.git

認証に関連するエラー

認証の問題がある場合は、次のいずれかのエラーが表示されることがあります。

  • 「fatal: could not read Username for <Git repository URL>: terminal prompts disabled」(致命的: <Git repository URL> のユーザー名を読み取れませんでした: ターミナルプロンプトは無効になっています)
  • 「fatal: could not read Password for <Git repository URL>: terminal prompts disabled」(致命的: <Git repository URL> のパスワードを読み取れませんでした: ターミナルプロンプトは無効になっています)
  • 「fatal: authentication failed for <Git repository URL>」(致命的: <Git repository URL> の認証に失敗しました)

これらのエラーを解決するには、次の操作を実行します。

  • 認証の詳細を確認します。
  • AWS Identity and Access Management (IAM) ユーザーまたはロールに AWS Secrets Manager にアクセスするために必要な許可が付与されていることを確認します。

認証情報が正確であることを確認する

Secrets Manager のユーザー名とパスワードが正確であることを確認してください。

  • GitHub: 二要素認証を有効にしている場合は、パスワードの代わりに個人アクセストークンを使用する必要があります。このトークンが生成されたら、Secrets Manager のパスワードをこの新しいトークンで更新する必要があります。
  • Bitbucket: Bitbucket は Git 認証用のアカウントパスワードをサポートしていません。[個人設定] を使用してアプリパスワードを作成するのがベストプラクティスです。アプリのパスワードを作成したら、Secrets Manager でパスワードを更新する必要があります。
  • GitLab: 二要素認証を有効にしている場合は、パスワードの代わりに個人アクセストークンを使用する必要があります。このトークンが生成されたら、Secrets Manager のパスワードをこの新しいトークンで更新する必要があります。

ノートブックインスタンスの IAM ロールに必要な許可が付与されていることを確認する

ノートブックインスタンスのために使用されている IAM ロールの IAM ポリシーsecretsmanager:GetSecretValue 許可がアタッチされていることを確認します。IAM ロールに必要な許可が付与されていない場合は、次のポリシーを IAM ロールに追加できます。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "secretsmanager:GetSecretValue"
      ],
      "Resource": [
        "example-secret-ARN"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "secretsmanager:ListSecrets",
      "Resource": "*"
    }
  ]
}

注: example-secret-ARN は、Git リポジトリ認証のシークレット (ユーザー名とパスワード) を含む Secrets Manager 内の ARN です。

ストレージに関連するエラー

ストレージ関連の問題がある場合は、次のエラーが表示されることがあります。

「No space left on device while cloning Git repo.Please try using a larger volume」(Git リポジトリのクローンを作成しようとしましたが、デバイスに空き領域がありません。より大きなボリュームの使用を試みてください)

このエラーを解決するには、ノートブックインスタンスに十分なストレージがあることを確認します。ノートブックインスタンスのボリューム内の空き領域のサイズが、クローン作成に使用している Git リポジトリのサイズよりも大きいことを確認してください。ディスクスペースに余裕がない場合は、VolumeSizeInGB に、より大きな値を指定します。詳細については、「Customize your notebook volume size, up to 16 TB, with Amazon SageMaker」(Amazon SageMaker を使用してノートブックのボリュームサイズを最大 16 TB にカスタマイズする) を参照してください。


関連情報

Associate Git repositories with SageMaker notebook instances (Git リポジトリを SageMaker ノートブックインスタンスに関連付ける)

AWS CodeCommit とインターフェイス VPC エンドポイントの使用

AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ