

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# SageMaker AI Notebook 노트북 인스턴스와 Git 리포지토리
<a name="nbi-git-repo"></a>

Git 리포지토리를 노트북 인스턴스와 연결하면 노트북 인스턴스를 중지 또는 삭제하더라도 유지되는 소스 제어 환경에 노트북을 저장할 수 있습니다. 노트북 인스턴스에 기본 리포지토리 1개와 추가 리포지토리를 최대 3개까지 연결할 수 있습니다. 리포지토리는 AWS CodeCommit, GitHub 또는 다른 Git 서버에서 호스팅할 수 있습니다. 노트북 인스턴스와 Git 리포지토리를 연결하면 다음에 유용할 수 있습니다.
+ 지속성 - 노트북 인스턴스의 노트북은 내구성이 뛰어난 Amazon EBS 볼륨에 저장되지만 노트북의 수명 주기 이후까지 지속되지 않습니다. Git 리포지토리에 노트북을 저장하면 노트북 인스턴스를 중지 또는 삭제한 경우에도 노트북을 저장 및 사용할 수 있습니다.
+ 협업 - 팀 동료들은 일반적으로 기계 학습 프로젝트를 함께 수행합니다. Git 리포지토리에 노트북을 저장하면 다른 노트북 인스턴스에서 작업 중인 동료들이 노트북을 공유하고 하나의 소스 제어 환경에서 해당 노트북에 대해 협업할 수 있습니다.
+ 학습 - 기계 학습 기법을 보여주는 여러 Jupyter notebook을 공개적으로 호스팅되는 Git 리포지토리(예: GitHub)에서 사용할 수 있습니다. 노트북 인스턴스를 리포지토리와 연결하면 해당 리포지토리에 포함된 Jupyter notebook을 쉽게 로드할 수 있습니다.

Git 리포지토리는 다음 두 가지 방법으로 노트북 인스턴스와 연결할 수 있습니다.
+ Amazon SageMaker AI 계정에서 Git 리포지토리를 리소스로 추가합니다. 그런 다음 리포지토리에 액세스하려면 자격 증명이 포함된 AWS Secrets Manager 보안 암호를 지정할 수 있습니다. 이러한 방식으로, 인증이 필요한 리포지토리에 액세스할 수 있습니다.
+ 계정의 리소스가 아닌 퍼블릭 Git 리포지토리를 연결합니다. 이렇게 한 경우에는 리포지토리에 액세스하기 위해 자격 증명을 지정할 수 없습니다.

**Topics**
+ [Amazon SageMaker AI 계정에 Git 리포지토리 추가](nbi-git-resource.md)
+ [연결된 Git 리포지토리를 사용하여 노트북 인스턴스 생성](nbi-git-create.md)
+ [다른 AWS 계정의 CodeCommit 리포지토리를 노트북 인스턴스와 연결](nbi-git-cross.md)
+ [노트북 인스턴스에서 Git 리포지토리 사용](git-nbi-use.md)

# Amazon SageMaker AI 계정에 Git 리포지토리 추가
<a name="nbi-git-resource"></a>

**중요**  
Amazon SageMaker Studio 또는 Amazon SageMaker Studio Classic에서 Amazon SageMaker 리소스를 만들도록 허용하는 사용자 지정 IAM 정책은 해당 리소스에 태그를 추가할 수 있는 권한도 부여해야 합니다. Studio와 Studio Classic은 만드는 리소스에 태그를 자동으로 지정하기 때문에 리소스에 태그를 추가할 권한이 필요합니다. IAM 정책이 Studio 및 Studio Classic에서 리소스를 만들도록 허용하지만 태그 지정은 허용하지 않는 경우 리소스 만들기를 시도할 때 'AccessDenied' 오류가 발생할 수 있습니다. 자세한 내용은 [SageMaker AI 리소스 태그 지정을 위한 권한 제공](security_iam_id-based-policy-examples.md#grant-tagging-permissions) 섹션을 참조하세요.  
SageMaker 리소스를 만들 수 있는 권한을 부여하는 [AWS Amazon SageMaker AI에 대한 관리형 정책](security-iam-awsmanpol.md)에는 해당 리소스를 만드는 동안 태그를 추가할 수 있는 권한이 이미 포함되어 있습니다.

GitHub 리포지토리를 관리하기 위해 노트북 인스턴스와 GitHub 리포지토리를 쉽게 연결하고, 인증이 필요한 리포지토리에 대한 자격 증명을 연결하고, Amazon SageMaker AI 계정에서 리포지토리를 리소스로 추가합니다. SageMaker AI 콘솔에서 아니면 API를 사용하여 계정에 저장된 리포지토리 목록과 각 리포지토리에 대한 세부 정보를 확인할 수 있습니다.

SageMaker AI 콘솔 또는 AWS CLI를 사용하여 SageMaker AI 계정에 Git 리포지토리를 추가할 수 있습니다.

**참고**  
SageMaker AI API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCodeRepository.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCodeRepository.html)를 사용하여 SageMaker AI 계정에 Git 리포지토리를 추가할 수 있지만 여기서는 단계별 지침을 제공하지 않습니다.

## SageMaker AI 계정에 Git 리포지토리 추가(콘솔)
<a name="nbi-git-resource-console"></a>

**SageMaker AI 계정에서 Git 리포지토리를 리소스로 추가하는 방법**

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 SageMaker AI 콘솔을 엽니다.

1. **노트북** 아래에 **Git 리포지토리**를 선택하고 **리포지토리 추가**를 선택합니다.

1. CodeCommit 리포지토리를 추가하려면 **AWS CodeCommit**를 선택합니다. GitHub 또는 기타 GIT 기반 리포지토리를 추가하려면 **GitHub/기타 Git 기반 리포지토리**를 선택합니다.

**기존 CodeCommit 리포지토리 추가**

1. **기존 리포지토리 사용**을 선택합니다.

1. **리포지토리**의 경우 목록에서 리포지토리를 선택합니다.

1. SageMaker AI에서 리포지토리에 사용할 이름을 입력합니다. 이름은 1\$163자여야 합니다. 유효한 문자는 a-z, A-Z, 0-9 및 –(하이픈)입니다.

1. **리포지토리 추가**를 선택합니다.

**새 CodeCommit 리포지토리 생성**

1. **새 리포지토리 생성**을 선택합니다.

1. CodeCommit 및 SageMaker AI 둘 다에서 사용할 수 있는 리포지토리 이름을 입력합니다. 이름은 1\$163자여야 합니다. 유효한 문자는 a-z, A-Z, 0-9 및 –(하이픈)입니다.

1. **리포지토리 생성**을 선택합니다.

**CodeCommit 이외의 위치에서 호스팅되는 Git 리포지토리를 추가하려면**

1. **GitHub/기타 Git 기반 리포지토리**를 선택합니다.

1. 최대 63자의 이름을 입력합니다. 유효한 문자에는 영숫자, 하이픈(-) 및 0-9가 포함됩니다.

1. 리포지토리에 대한 URL을 입력합니다. URL에 사용자 이름을 포함하지 마세요. 다음 단계에 설명된 AWS Secrets Manager 대로에 로그인 자격 증명을 추가합니다.

1. **Git 보안 인증 정보**에서, 리포지토리 인증에 사용할 보안 인증 정보를 선택합니다. Git 리포지토리가 프라이빗인 경우에만 필요합니다.
**참고**  
Git 저장소에 대해 2단계 인증을 사용하도록 설정한 경우 Git 서비스 공급자가 생성한 개인 액세스 토큰을 `password`필드에 입력합니다.

   1. 기존 AWS Secrets Manager 보안 암호를 사용하려면 **기존 보안 암호 사용을** 선택한 다음 목록에서 보안 암호를 선택합니다. 비밀 암호 생성 및 저장에 대한 자세한 내용은 *AWS Secrets Manager 사용 설명서*의 [기본 비밀 암호 생성](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html)을 참조하세요. 사용하는 비밀 암호의 이름이 문자열 `sagemaker`를 포함해야 합니다.
**참고**  
암호는 `AWSCURRENT`의 스테이징 레이블을 가지고 있어야 하며 다음 형식이어야 합니다.  
`{"username": UserName, "password": Password}`  
GitHub 리포지토리의 경우 `password`필드에 개인 액세스 토큰을 사용하는 것이 좋습니다. 자세한 정보는 [https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/)을 참조하세요.

   1. 새 AWS Secrets Manager 보안 암호를 생성하려면 **보안 암호 생성을** 선택하고 보안 암호의 이름을 입력한 다음 리포지토리에 인증하는 데 사용할 로그인 자격 증명을 입력합니다. 비밀 암호의 이름이 문자열 `sagemaker`를 포함해야 합니다.
**참고**  
비밀 암호를 생성하는 데 사용하는 IAM 역할에는 IAM 정책에 `secretsmanager:GetSecretValue`권한이 있어야 합니다.  
암호는 `AWSCURRENT`의 스테이징 레이블을 가지고 있어야 하며 다음 형식이어야 합니다.  
`{"username": UserName, "password": Password}`  
GitHub 리포지토리의 경우 개인 액세스 토큰을 사용하는 것이 좋습니다.

   1. 보안 인증 정보를 사용하지 않으려면 **암호 없음**을 선택합니다.

1. **보안 암호 생성**을 선택합니다.

# Amazon SageMaker AI 계정에 Git 리포지토리 추가(CLI)
<a name="nbi-git-resource-cli"></a>

**중요**  
Amazon SageMaker Studio 또는 Amazon SageMaker Studio Classic에서 Amazon SageMaker 리소스를 만들도록 허용하는 사용자 지정 IAM 정책은 해당 리소스에 태그를 추가할 수 있는 권한도 부여해야 합니다. Studio와 Studio Classic은 만드는 리소스에 태그를 자동으로 지정하기 때문에 리소스에 태그를 추가할 권한이 필요합니다. IAM 정책이 Studio 및 Studio Classic에서 리소스를 만들도록 허용하지만 태그 지정은 허용하지 않는 경우 리소스 만들기를 시도할 때 'AccessDenied' 오류가 발생할 수 있습니다. 자세한 내용은 [SageMaker AI 리소스 태그 지정을 위한 권한 제공](security_iam_id-based-policy-examples.md#grant-tagging-permissions) 섹션을 참조하세요.  
SageMaker 리소스를 만들 수 있는 권한을 부여하는 [AWS Amazon SageMaker AI에 대한 관리형 정책](security-iam-awsmanpol.md)에는 해당 리소스를 만드는 동안 태그를 추가할 수 있는 권한이 이미 포함되어 있습니다.

`create-code-repository` AWS CLI 명령을 사용하여 Amazon SageMaker AI에 Git 리포지토리를 추가하여 사용자에게 외부 리소스에 대한 액세스 권한을 부여합니다. `code-repository-name` 인수 값으로 리포지토리의 이름을 지정합니다. 이름은 1\$163자여야 합니다. 유효한 문자는 a-z, A-Z, 0-9 및 –(하이픈)입니다. 또한 다음을 지정합니다.
+ 기본 브랜치
+ Git 리포지토리 URL
**참고**  
URL에 사용자 이름을 포함하지 마세요. 다음 단계에 설명된 AWS Secrets Manager 대로에 로그인 자격 증명을 추가합니다.
+ 리포지토리를 `git-config` 인수 값으로 인증하는 데 사용할 자격 증명이 포함된 AWS Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다.

비밀 암호 생성 및 저장에 대한 자세한 내용은 *AWS Secrets Manager 사용 설명서*의 [기본 비밀 암호 생성](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html)을 참조하세요. 다음 명령은 Amazon SageMaker AI 계정에 `https://github.com/myprofile/my-repo"`에서 호스팅되는 Git 리포지토리를 가리키는 `MyRespository`라는 새 리포지토리를 생성합니다.

Linux, OS X, Unix의 경우:

```
aws sagemaker create-code-repository \
                    --code-repository-name "MyRepository" \
                    --git-config Branch=branch,RepositoryUrl=https://github.com/myprofile/my-repo,SecretArn=arn:aws:secretsmanager:us-east-2:012345678901:secret:my-secret-ABc0DE
```

Windows의 경우:

```
aws sagemaker create-code-repository ^
                    --code-repository-name "MyRepository" ^
                    --git-config "{\"Branch\":\"master\", \"RepositoryUrl\" :
                    \"https://github.com/myprofile/my-repo\", \"SecretArn\" : \"arn:aws:secretsmanager:us-east-2:012345678901:secret:my-secret-ABc0DE\"}"
```

**참고**  
암호는 `AWSCURRENT`의 스테이징 레이블을 가지고 있어야 하며 다음 형식이어야 합니다.  
`{"username": UserName, "password": Password}`  
GitHub 리포지토리의 경우 개인용 액세스 토큰을 사용하는 것이 좋습니다.

# 연결된 Git 리포지토리를 사용하여 노트북 인스턴스 생성
<a name="nbi-git-create"></a>

**중요**  
Amazon SageMaker Studio 또는 Amazon SageMaker Studio Classic에서 Amazon SageMaker 리소스를 만들도록 허용하는 사용자 지정 IAM 정책은 해당 리소스에 태그를 지정할 수 있는 권한도 부여해야 합니다. Studio와 Studio Classic은 만드는 리소스에 태그를 자동으로 지정하기 때문에 리소스에 태그를 추가할 권한이 필요합니다. IAM 정책이 Studio 및 Studio Classic에서 리소스를 만들도록 허용하지만 태그 지정은 허용하지 않는 경우 리소스 만들기를 시도할 때 'AccessDenied' 오류가 발생할 수 있습니다. 자세한 내용은 [SageMaker AI 리소스 태그 지정을 위한 권한 제공](security_iam_id-based-policy-examples.md#grant-tagging-permissions) 섹션을 참조하세요.  
SageMaker 리소스를 만들 수 있는 권한을 부여하는 [AWS Amazon SageMaker AI에 대한 관리형 정책](security-iam-awsmanpol.md)에는 해당 리소스를 만드는 동안 태그를 추가할 수 있는 권한이 이미 포함되어 있습니다.

 AWS Management Console또는를 사용하여 노트북 인스턴스를 생성할 때 Git 리포지토리를 노트북 인스턴스와 연결할 수 있습니다 AWS CLI. 노트북 인스턴스와 다른 AWS 계정에 있는 CodeCommit 리포지토리를 사용하려면 리포지토리에 대한 교차 계정 액세스를 설정합니다. 자세한 내용은 [다른 AWS 계정의 CodeCommit 리포지토리를 노트북 인스턴스와 연결](nbi-git-cross.md) 단원을 참조하세요.

**Topics**
+ [연결된 Git 리포지토리를 사용하여 노트북 인스턴스 생성(콘솔)](#nbi-git-create-console)
+ [연결된 Git 리포지토리를 사용하여 노트북 인스턴스 생성(CLI)](nbi-git-create-cli.md)

## 연결된 Git 리포지토리를 사용하여 노트북 인스턴스 생성(콘솔)
<a name="nbi-git-create-console"></a>

**Amazon SageMaker AI 콘솔에서 노트북 인스턴스를 생성하고 Git 리포지토리와 연결하는 방법**

1. [자습서를 위해 Amazon SageMaker 노트북 인스턴스 만들기](gs-setup-working-env.md)의 지침을 따릅니다.

1. **Git 리포지토리**에서 노트북 인스턴스와 연결할 Git 리포지토리를 선택합니다.

   1. **기본 리포지토리**의 경우 기본 리포지토리로 사용할 리포지토리를 선택하세요. SageMaker AI는 이 리포지토리를 `/home/ec2-user/SageMaker`의 Jupyter 시작 디렉터리에 있는 하위 디렉터리로 복제합니다. 노트북 인스턴스를 열면 이 리포지토리에서 열립니다. 계정에 리소스로 저장된 리포지토리를 선택하려면 목록에서 해당 이름을 선택합니다. 계정에 리소스로 새 리포지토리를 추가하려면 **SageMaker AI에 리포지토리 추가(리포지토리 추가 흐름이 새 창에서 열림)**를 선택한 후 [연결된 Git 리포지토리를 사용하여 노트북 인스턴스 생성(콘솔)](#nbi-git-create-console)의 지침을 따릅니다. 계정에 저장되지 않은 퍼블릭 리포지토리를 복제하려면 **이 노트북 인스턴스에만 퍼블릭 Git 리포지토리를 복제합니다**를 선택한 후 해당 리포지토리에 대한 URL을 지정합니다.

   1. **추가 리포지토리 1**의 경우 추가 디렉터리로 추가하려는 리포지토리를 선택합니다. SageMaker AI는 이 리포지토리를 `/home/ec2-user/SageMaker`의 Jupyter 시작 디렉터리에 있는 하위 디렉터리로 복제합니다. 계정에 리소스로 저장된 리포지토리를 선택하려면 목록에서 해당 이름을 선택합니다. 계정에 리소스로 새 리포지토리를 추가하려면 **SageMaker AI에 리포지토리 추가(리포지토리 추가 흐름이 새 창에서 열림)**를 선택한 후 [연결된 Git 리포지토리를 사용하여 노트북 인스턴스 생성(콘솔)](#nbi-git-create-console)의 지침을 따릅니다. 계정에 저장되지 않은 리포지토리를 복제하려면 **이 노트북 인스턴스에만 퍼블릭 Git 리포지토리를 복제합니다**를 선택한 후 해당 리포지토리에 대한 URL을 지정합니다.

      노트북 인스턴스에 추가 리포지토리를 최대 3개까지 추가하려면 이 설정 단계를 최대 3회 반복합니다.

# 연결된 Git 리포지토리를 사용하여 노트북 인스턴스 생성(CLI)
<a name="nbi-git-create-cli"></a>

**중요**  
Amazon SageMaker Studio 또는 Amazon SageMaker Studio Classic에서 Amazon SageMaker 리소스를 만들도록 허용하는 사용자 지정 IAM 정책은 해당 리소스에 태그를 지정할 수 있는 권한도 부여해야 합니다. Studio와 Studio Classic은 만드는 리소스에 태그를 자동으로 지정하기 때문에 리소스에 태그를 추가할 권한이 필요합니다. IAM 정책이 Studio 및 Studio Classic에서 리소스를 만들도록 허용하지만 태그 지정은 허용하지 않는 경우 리소스 만들기를 시도할 때 'AccessDenied' 오류가 발생할 수 있습니다. 자세한 내용은 [SageMaker AI 리소스 태그 지정을 위한 권한 제공](security_iam_id-based-policy-examples.md#grant-tagging-permissions) 섹션을 참조하세요.  
SageMaker 리소스를 만들 수 있는 권한을 부여하는 [AWS Amazon SageMaker AI에 대한 관리형 정책](security-iam-awsmanpol.md)에는 해당 리소스를 만드는 동안 태그를 추가할 수 있는 권한이 이미 포함되어 있습니다.

 AWS CLI를 사용하여 노트북 인스턴스를 생성하고 Git 리포지토리를 연결하려면 다음과 같이 `create-notebook-instance`명령을 사용합니다.
+ 기본 리포지토리로 사용할 리포지토리를 `default-code-repository`인수 값으로 지정합니다. Amazon SageMaker AI는 이 리포지토리를 `/home/ec2-user/SageMaker`의 Jupyter 시작 디렉터리에 있는 하위 디렉터리로 복제합니다. 노트북 인스턴스를 열면 이 리포지토리에서 열립니다. SageMaker AI 계정에 리소스로 저장된 리포지토리를 사용하려면 해당 리포지토리의 이름을 `default-code-repository` 인수의 값으로 지정합니다. 계정에 저장되지 않은 리포지토리를 사용하려면 해당 리포지토리의 URL을 `default-code-repository`인수 값으로 지정합니다.
+ 최대 3개의 추가 리포지토리를 `additional-code-repositories`인수 값으로 지정합니다. SageMaker AI는 이 리포지토리를 `/home/ec2-user/SageMaker`의 Jupyter 시작 디렉터리에 있는 하위 디렉터리로 복제합니다. 이 리포지토리를 기본 리포지토리의 `.git/info/exclude` 디렉터리에 추가하면 기본 리포지토리에서 제외됩니다. SageMaker AI 계정에 리소스로 저장된 리포지토리를 사용하려면 해당 리포지토리의 이름을 `additional-code-repositories` 인수의 값으로 지정합니다. 계정에 저장되지 않은 리포지토리를 사용하려면 해당 리포지토리의 URL을 `additional-code-repositories`인수 값으로 지정합니다.

예를 들어, 다음 명령은 SageMaker AI 계정에 리소스로 저장되는 `MyGitRepo`라는 리포지토리를 기본 리포지토리로 가지고 있고, GitHub에서 호스팅되는 추가 리포지토리가 있는 노트북 인스턴스를 생성합니다.

```
aws sagemaker create-notebook-instance \
                    --notebook-instance-name "MyNotebookInstance" \
                    --instance-type "ml.t2.medium" \
                    --role-arn "arn:aws:iam::012345678901:role/service-role/AmazonSageMaker-ExecutionRole-20181129T121390" \
                    --default-code-repository "MyGitRepo" \
                    --additional-code-repositories "https://github.com/myprofile/my-other-repo"
```

**참고**  
이름에 "SageMaker"가 포함되지 않은 AWS CodeCommit 리포지토리를 사용하는 경우 `create-notebook-instance` 명령에 `role-arn` 대한 인수로 전달하는 역할에 `codecommit:GitPull` 및 `codecommit:GitPush` 권한을 추가합니다. 역할에 사용 권한을 추가하는 방법에 대한 자세한 내용은 *AWS Identity and Access Management 사용 설명서*의 [IAM 정책 추가 및 제거](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)를 참조하세요.

# 다른 AWS 계정의 CodeCommit 리포지토리를 노트북 인스턴스와 연결
<a name="nbi-git-cross"></a>

다른 AWS 계정의 CodeCommit 리포지토리를 노트북 인스턴스와 연결하려면 CodeCommit 리포지토리에 대한 교차 계정 액세스를 설정합니다.

**CodeCommit 리포지토리에 대한 계정 간 액세스를 설정하고 노트북 인스턴스와 연결하려면**

1. CodeCommit 리포지토리가 포함된 AWS 계정에서 노트북 인스턴스가 포함된 계정의 사용자로부터 리포지토리에 액세스할 수 있도록 허용하는 IAM 정책을 생성합니다. 자세한 내용은 *CodeCommit 사용 설명서*의 [1단계: AccountA의 리포지토리 액세스 정책 생성](https://docs.aws.amazon.com/codecommit/latest/userguide/cross-account-administrator-a.html#cross-account-create-policy-a)을 참조하세요.

1. CodeCommit 리포지토리가 포함된 AWS 계정에서 IAM 역할을 생성하고 이전 단계에서 생성한 정책을 해당 역할에 연결합니다. 자세한 내용은 *CodeCommit 사용 설명서*의 [2단계: AccountA에서 리포지토리 액세스를 위한 역할 생성](https://docs.aws.amazon.com/codecommit/latest/userguide/cross-account-administrator-a.html#cross-account-create-role-a)을 참조하세요.

1. 이전 단계에서 생성한 역할을 사용하는 프로파일을 노트북 인스턴스에서 생성합니다.

   1. 노트북 인스턴스를 엽니다.

   1. 노트북 인스턴스의 터미널을 엽니다.

   1. 터미널에 다음을 입력하여 새 프로파일을 편집합니다.

      ```
      vi /home/ec2-user/.aws/config
      ```

   1. 다음 프로파일 정보를 사용하여 파일을 편집합니다.

      ```
      [profile CrossAccountAccessProfile]
      region = us-west-2
      role_arn = arn:aws:iam::CodeCommitAccount:role/CrossAccountRepositoryContributorRole
      credential_source=Ec2InstanceMetadata
      output = json
      ```

      여기서 *CodeCommitAccount*는 CodeCommit 리포지토리가 포함된 계정이고 *CrossAccountAccessProfile*은 새 프로파일의 이름이며 *CrossAccountRepositoryContributorRole*은 이전 단계에서 생성한 역할의 이름입니다.

1. 노트북 인스턴스에서는 이전 단계에서 생성한 프로파일을 사용하도록 git를 구성합니다.

   1. 노트북 인스턴스를 엽니다.

   1. 노트북 인스턴스의 터미널을 엽니다.

   1. 터미널에 다음을 입력하는 Git 구성 파일을 편집합니다.

      ```
      vi /home/ec2-user/.gitconfig
      ```

   1. 다음 프로파일 정보를 사용하여 파일을 편집합니다.

      ```
      [credential]
              helper = !aws codecommit credential-helper --profile CrossAccountAccessProfile $@
              UseHttpPath = true
      ```

      여기서 *CrossAccountAccessProfile*은 이전 단계에서 생성한 프로파일의 이름입니다.

# 노트북 인스턴스에서 Git 리포지토리 사용
<a name="git-nbi-use"></a>

연결된 Git 리포지토리가 있는 노트북 인스턴스를 열면 `/home/ec2-user/SageMaker`바로 아래에 있는 노트북 인스턴스에 설치된 기본 리포지토리에서 열립니다. 노트북 셀에서 노트북을 열고 생성할 수 있고 Git 명령을 수동으로 실행할 수 있습니다. 예제:

```
!git pull origin master
```

추가 리포지토리를 열려면 한 폴더 위로 이동합니다. 추가 리포지토리 역시 `/home/ec2-user/SageMaker`아래에 디렉터리로 설치되어 있습니다.

JupyterLab 인터페이스를 사용하여 노트북 인스턴스를 열면 jupyter-git 확장이 설치되어 사용할 수 있습니다. JupyterLab용 jupyter-git 확장에 대한 자세한 정보는 [https://github.com/jupyterlab/jupyterlab-git](https://github.com/jupyterlab/jupyterlab-git)를 참조하세요.

JupyterLab에서 노트북 인스턴스를 열면 왼쪽 메뉴에서 해당 노트북 인스턴스와 연결된 git 리포지토리가 보입니다.

![\[JupyterLab의 파일 브라우저 예\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/git-notebook.png)


명령줄을 사용하는 대신 jupyter-git 확장을 사용하여 git를 시각적으로 관리할 수 있습니다.

![\[JupyterLab의 jupyter-git 확장의 예\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/jupyterlab-git.png)
