Git 리포지토리를 Amazon SageMaker 노트북 인스턴스에 연결하는 문제를 해결하려면 어떻게 해야 하나요?

4분 분량
0

Git 리포지토리를 Amazon SageMaker 노트북 인스턴스에 추가하려고 하는데 다음과 같은 오류가 하나 이상 발생합니다.

"fatal: unable to access <Git repository URL>: the requested URL returned error: 403" "fatal: unable to access <Git repository  URL> : failed to connect to …: port 443: connection timed out" "fatal: unable to access <Git repository URL> could not resolve the host: …" "fatal: could not read Username for <Git repository URL>: terminal prompts disabled" "fatal: could not read Password for <Git repository URL>: terminal prompts disabled" "fatal: authentication failed for <Git repository URL>" "No space left on device while cloning Git repo. Please try using a larger volume"

해결 방법

SageMaker 노트북 인스턴스에 새 Git 리포지토리를 추가하려면 Amazon SageMaker 계정에 Git 리포지토리 추가를 참조하세요. AWS CodeCommit에서 호스팅되지 않은 Git 리포지토리를 추가하려고 하면 다음과 같은 오류가 발생할 수 있습니다.

연결 관련 오류

연결 문제가 있는 경우 다음과 같은 오류 중 하나가 발생할 수 있습니다.

  • "fatal: unable to access <Git repository URL>: the requested URL returned error: 403"
  • "fatal: unable to access <Git repository URL>: failed to connect to …: port 443: connection timed out"
  • "fatal: unable to access <Git repository URL> could not resolve the host: …"

이러한 오류를 해결하려면 다음을 수행합니다.

  • 노트북 인스턴스가 연결되어 있는지 확인합니다.
  • 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인 코드 리포지토리 이름으로 바꿉니다.

예를 들어 Bitbucket을 Git 리포지토리로 사용하고 사용자의 워크스페이스 이름이 myworkspace이며 사용자의 Git 리포지토리가 myrepository.git인 경우 Git 리포지토리 URL은 https://bitbucket.org/myworkspace/myrepository.git이 되어야 합니다.

인증 관련 오류

인증 문제가 있는 경우 다음과 같은 오류 중 하나가 발생할 수 있습니다.

  • "fatal: could not read Username for <Git repository URL>: terminal prompts disabled"
  • "fatal: could not read Password for <Git repository URL>: terminal prompts disabled"
  • "fatal: authentication failed for <Git repository URL>"

이러한 오류를 해결하려면 다음을 수행합니다.

  • 인증 세부 정보를 확인합니다.
  • AWS Secrets Manager에 액세스하는 데 필요한 권한이 AWS Identity and Access Management(IAM) 사용자 또는 역할에 있는지 확인합니다.

인증 세부 정보가 정확한지 확인

Secrets Manager에서 사용자 이름과 암호가 정확한지 확인합니다.

  • GitHub: 2단계 인증을 활성화한 경우 암호 대신 개인용 액세스 토큰을 사용해야 합니다. 이 토큰이 생성된 후에는 새로 생성된 토큰을 사용하여 Secrets Manager에서 암호를 업데이트해야 합니다.
  • Bitbucket: Bitbucket은 Git 인증을 위한 계정 암호를 지원하지 않습니다. 개인 설정을 사용하여 앱 암호를 생성하는 것이 가장 좋습니다. 앱 암호를 생성한 후에는 Secrets Manager에서 암호를 업데이트해야 합니다.
  • GitLab: 2단계 인증을 활성화한 경우 암호 대신 개인용 액세스 토큰을 사용해야 합니다. 이 토큰이 생성된 후에는 새로 생성된 토큰을 사용하여 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 리포지토리의 여유 공간보다 커야 합니다. 디스크 공간이 부족할 경우 VolumeSizeInGB에 더 큰 값을 지정하세요. 자세한 내용은 Amazon SageMaker를 사용하여 노트북 볼륨 크기를 최대 16TB까지 사용자 지정을 참조하세요.


관련 정보

Git 리포지토리와 Amazon SageMaker 노트북 인스턴스 연결

인터페이스 VPC 엔드포인트에 AWS CodeCommit 사용

AWS 공식
AWS 공식업데이트됨 일 년 전