我在嘗試將 Git 儲存庫新增至 Amazon SageMaker 筆記本執行個體,但發生以下一或多個錯誤:「嚴重錯誤:無法存取 <Git repository URL>:您請求取得的網址傳回錯誤: 403」「嚴重錯誤:無法存取 <Git repository URL>:無法連線至…:連接埠 443:連線逾時」「嚴重錯誤:無法存取 <Git repository URL> 無法解析主機:…」「嚴重錯誤:無法讀取以下項目的使用者名稱 <Git repository URL>:終端提示已停用」「嚴重錯誤:無法讀取以下項目的密碼 <Git repository URL>:終端提示已停用」「嚴重錯誤:<Git repository URL> 驗證失敗」「複製 Git 儲存庫時,裝置上沒有剩餘空間。請嘗試使用更大的磁碟區」
解決方法
若要將新的 Git 儲存庫新增至 SageMaker 筆記本執行個體,請參閱將 Git 儲存庫新增至您的 Amazon SageMaker 帳戶。如果您要嘗試新增未託管於 AWS CodeCommit 的 Git 儲存庫,可能會發生以下錯誤。
連線相關錯誤
如果發生連線問題,畫面上可能會顯示下列任一錯誤訊息:
- 「嚴重錯誤:無法存取 <Git repository URL>:您請求取得的網址傳回錯誤: 403」
- 「嚴重錯誤:無法存取 <Git repository URL>:無法連線至…:連接埠 443:連線逾時」
- 「嚴重錯誤:無法存取 <Git repository URL> 無法解析主機:…」
若要解決這些錯誤,請執行以下動作:
- 確認筆記本執行個體的連線狀況。
- 確認 Git 儲存庫網址是否正確。
確認筆記本執行個體的連線狀況
確認筆記本執行個體已成功連線至 Git 儲存庫。此儲存庫可能位於內部部署的 Git 儲存庫伺服器或公有雲端伺服器上,例如 GitHub、Bitbucket 或 GitLab。
查看筆記本執行個體所使用的網路組態。筆記本執行個體的網路組態可能是以下其中一種:
- 執行個體未連接至 Amazon Virtual Private Cloud (VPC)。
- Amazon VPC 可直接存取網際網路。
- VPC 無法直接存取網際網路。
如果您使用 VPC,請確認子網路、安全群組、網路存取控制清單 (ACL)、NAT 閘道、網際網路閘道和路由表均已正確設定。
確認 Git 儲存庫網址是否正確
確認您要新增的 Git 儲存庫網址格式如下:
- GitHub 網址:https://github.com/<workspace>/<repository.git>
- Bitbucket 網址:https://bitbucket.org/<workspace>/<repository.git>
- GitLab 網址:https://gitlab.com/<workspace>/<repository.git>
請務必依照以下指示更改網址:
- workspace 改成 Git 工作區名稱
- repository.git 改成附檔名為 *.git 的程式碼儲存庫名稱
例如,如果您使用 Bitbucket 作為 Git 儲存庫,您的工作區名稱即為 myworkspace,Git 儲存庫為 myrepository.git,因此您必須使用以下 Git 儲存庫網址:https://bitbucket.org/myworkspace/myrepository.git。
驗證相關錯誤
如果發生驗證問題,畫面上可能會顯示下列任一錯誤訊息:
- 「嚴重錯誤:無法讀取以下項目的使用者名稱 <Git repository URL>:終端提示已停用」
- 「嚴重錯誤:無法讀取以下項目的密碼 <Git repository URL>:終端提示已停用」
- 「嚴重錯誤: <Git repository URL>驗證失敗」
若要解決這些錯誤,請執行以下動作:
- 確認驗證作業的詳細資訊。
- 確認 AWS Identity and Access Management (IAM) 使用者或角色具有存取 AWS Secrets Manager 所需的許可。
確認驗證作業的詳細資訊正確無誤
確認 Secrets Manager 的使用者名稱和密碼正確無誤。
- GitHub: 如果您已啟用雙重要素驗證,您必須使用個人存取字符而非密碼。產生此字符後,您必須使用這個新的字符更新 Secret Manager 的密碼。
- Bitbucket: Bitbucket 不支援 Git 驗證的帳戶密碼,最佳實務是使用您的個人設定建立應用程式密碼。建立應用程式密碼後,您必須更新 Secrets Manager 的密碼。
- GitLab: 如果您已啟用雙重要素驗證,您必須使用個人存取字符而非密碼。產生此字符後,您必須使用這個新的字符更新 Secret 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 是 Secrets Manager 的 ARN,
具有 Git 儲存庫驗證作業的密碼 (使用者名稱和密碼)。
儲存體相關錯誤
如果發生與儲存體相關的問題,畫面上可能會顯示下列錯誤訊息:
複製 Git 儲存庫時,裝置上沒有剩餘空間。請嘗試使用更大的磁碟區
若要解決此錯誤,請確認筆記本執行個體具有足夠的儲存空間。確認筆記本執行個體磁碟區中的可用空間,大於您即將複製的 Git 儲存庫大小。如果磁碟空間不足,請為 VolumeSizeInGB 指定較大的值。如需詳細資訊,請參閱以 Amazon SageMaker 自訂最多 16 TB 的筆記本磁碟區。
相關資訊
將 Git 儲存庫與 SageMaker 筆記本執行個體建立關聯
搭配使用 AWS CodeCommit 與介面 VPC 端點