

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

# CodeArtifact에서의 업스트림 리포지토리 작업
<a name="repos-upstream"></a>

리포지토리에는 다른 AWS CodeArtifact 리포지토리가 *업스트림* 리포지토리로 있을 수 있습니다. 이를 통해 패키지 관리자 클라이언트는 단일 리포지토리 엔드포인트를 사용하여 둘 이상의 리포지토리에 포함된 패키지에 액세스할 수 있습니다.

 AWS Management Console AWS CLI, 또는 SDK를 사용하여 a AWS CodeArtifact 리포지토리에 하나 이상의 업스트림 리포지토리를 추가할 수 있습니다. 리포지토리를 업스트림 리포지토리와 연결하려면 업스트림 리포지토리에서 `AssociateWithDownstreamRepository` 작업을 수행하는 데 필요한 권한이 있어야 합니다. 자세한 내용은 [업스트림 리포지토리를 사용하여 리포지토리 생성](create-repo.md#creating-a-repository-with-an-upstream) 및 [업스트림 리포지토리 추가 또는 제거](repo-upstream-add.md) 섹션을 참조하세요.

업스트림 리포지토리가 공용 저장소에 대한 외부 연결을 가지고 있는 경우 업스트림 리포지토리의 다운스트림에 있는 리포지토리는 해당 공용 저장소에서 패키지를 가져올 수 있습니다. 예를 들어 `my_repo` 리포지토리에 `upstream` 이름이 지정된 업스트림 리포지토리가 있고 `upstream`에 공용 npm 리포지토리에 대한 외부 연결이 있다고 가정해 보겠습니다. 이 경우 `my_repo`에 연결된 패키지 관리자는 npm 공용 저장소에서 패키지를 가져올 수 있습니다. 업스트림 리포지토리 또는 외부 연결에서 패키지를 요청하는 방법에 대한 자세한 내용은 [업스트림 리포지토리가 포함된 패키지 버전 요청](repo-upstream-behavior.md) 또는 [외부 연결을 통한 패키지 요청하기](external-connection-requesting-packages.md)를 참조하세요.

**Topics**
+ [업스트림 리포지토리와 외부 연결의 차이점은 무엇인가요?](#repos-external-connections)
+ [업스트림 리포지토리 추가 또는 제거](repo-upstream-add.md)
+ [CodeArtifact 저장소를 공용 저장소에 연결하기](external-connection.md)
+ [업스트림 리포지토리가 포함된 패키지 버전 요청](repo-upstream-behavior.md)
+ [외부 연결을 통한 패키지 요청하기](external-connection-requesting-packages.md)
+ [업스트림 리포지토리 우선순위 순서](repo-upstream-search-order.md)
+ [업스트림 리포지토리에서의 API 동작](upstream-repo-api-behavior.md)

## 업스트림 리포지토리와 외부 연결의 차이점은 무엇인가요?
<a name="repos-external-connections"></a>

CodeArtifact에서 업스트림 리포지토리와 외부 연결은 거의 동일하게 동작하지만 몇 가지 중요한 차이점이 있습니다.

1. CodeArtifact 리포지토리에 업스트림 리포지토리를 10개까지 추가할 수 있습니다. 외부 연결은 하나만 추가할 수 있습니다.

1. 업스트림 리포지토리 또는 외부 연결을 추가하기 위한 별도의 API 호출이 있습니다.

1. 업스트림 리포지토리에서 요청된 패키지는 해당 리포지토리에 유지되므로 패키지 보존 동작은 약간 다릅니다. 자세한 내용은 [중간 리포지토리에 패키지 보존](repo-upstream-behavior.md#package-retention-intermediate-repositories) 단원을 참조하십시오.