연결된 레지스트리란?
이 문서에서는 Azure Container Registry의 연결된 레지스트리 기능에 대해 알아봅니다. 연결된 레지스트리는 컨테이너 이미지와 클라우드 기반 Azure Container Registry를 동기화하는 온-프레미스 또는 원격 복제본입니다. 연결된 레지스트리를 사용하여 온-프레미스 또는 원격 레지스트리 아티팩트에 대한 액세스 속도를 높일 수 있습니다.
청구 및 지원
연결된 레지스트리는 프리미엄 컨테이너 레지스트리 서비스 계층의 미리 보기 기능이며, 제한 사항의 적용을 받습니다. 레지스트리 서비스 계층 및 제한에 대한 내용은 Azure Container Registry 서비스 계층을 참조하세요.
Important
2025년 1월 1일부터 연결된 레지스트리 배포 모델 지원 및 청구에 대한 예정된 중요한 변경 내용이 있습니다. 전환에 대해 질문이 있거나 지원을 받으려면 고객 지원 팀에 문의하세요.
결제
- 연결된 레지스트리는 GA(일반 공급)에 도달할 때까지 요금이 부과되지 않습니다.
- GA 이후 배포된 각 연결된 레지스트리에 대해 매월 $10의 가격이 적용됩니다.
- 이 가격은 고품질 서비스 및 제품 지원을 제공하겠다는 Microsoft의 약속을 나타냅니다.
- 가격은 부모 레지스트리와 연결된 Azure 구독에 적용됩니다.
지원
- Microsoft는 2025년 1월 1일에 IoT Edge 디바이스에서 연결된 레지스트리 배포에 대한 지원을 종료할 예정입니다.
- 2025년 1월 1일 이후 연결된 레지스트리는 Arc 지원 Kubernetes 클러스터만 배포 모델로 지원합니다.
- 사용자는 배포 모델로서 Arc 지원 Kubernetes 클러스터로의 전환을 계획하는 것이 좋습니다.
사용 가능한 지역
연결된 레지스트리는 다음 대륙 및 지역에서 사용할 수 있습니다.
| Continent | Available Regions |
|---------------|-------------------|
| Australia | Australia East |
| Asia | East Asia |
| | Japan East |
| | Japan West |
| | Southeast Asia |
| Europe | North Europe |
| | Norway East |
| | West Europe |
| North America | Canada Central |
| | Central US |
| | East US |
| | South Central US |
| | West Central US |
| | West US 3 |
| South America | Brazil South |
시나리오
클라우드 기반 Azure Container Registry는 지역 복제, 통합 보안, Azure 관리형 스토리지 및 Azure 개발 및 배포 파이프라인과의 통합을 비롯한 기능을 제공합니다. 동시에 고객은 클라우드 투자를 온-프레미스 및 현장 솔루션으로 확장하고 있습니다.
온-프레미스 또는 원격 환경에서 필요한 성능 및 안정성으로 실행하려면 컨테이너 워크로드 주변에서 컨테이너 이미지 및 관련 아티팩트를 사용할 수 있어야 합니다. 연결된 레지스트리는 콘텐츠를 클라우드 기반 Azure Container Registry와 정기적으로 동기화하는 성능이 우수한 온-프레미스 레지스트리 솔루션을 제공합니다.
연결된 레지스트리에 대한 시나리오는 다음과 같습니다.
- 연결된 팩터리
- 지점 판매 소매점 위치
- 배송, 오일 드릴링, 마이닝 및 간헐적으로 연결된 기타 환경
연결된 레지스트리는 어떻게 작동하나요?
연결된 레지스트리는 온-프레미스의 서버나 디바이스 또는 Azure IoT Edge 및 Azure Arc 지원 Kubernetes와 같은 온-프레미스의 컨테이너 워크로드를 지원하는 환경에 배포됩니다. 연결된 레지스트리는 컨테이너 이미지 및 기타 OCI 아티팩트와 클라우드 기반 Azure Container Registry를 동기화합니다.
다음 이미지는 IoT Edge를 사용하여 연결된 레지스트리에 대한 일반적인 배포 모델을 보여줍니다.
다음 이미지는 Azure Arc 지원 Kubernetes를 사용하여 연결된 레지스트리에 대한 일반적인 배포 모델을 보여 줍니다.
배포
연결된 각 레지스트리는 클라우드 기반 Azure Container Registry 내에서 관리하는 리소스입니다. 연결된 레지스트리 계층 구조의 상위 부모는 Azure 클라우드의 Azure Container Registry입니다. 연결된 레지스트리는 Azure IoT Edge 또는 Arc 지원 Kubernetes 클러스터에 배포할 수 있습니다.
연결된 레지스트리를 설치하려면 온-프레미스의 서버나 디바이스 또는 Azure IoT Edge와 같은 온-프레미스 컨테이너 워크로드를 지원하는 환경에서 Azure 도구를 사용합니다.
Arc 지원 Kubernetes 클러스터에 연결된 레지스트리 Arc 확장을 배포합니다. 읽기 전용 액세스 및 연속 동기화 창에 대한 기본 구성을 사용하여 TLS와의 연결을 보호합니다. 이 설정을 사용하면 연결된 레지스트리가 ACR(Azure Container Registry)의 이미지를 연결된 레지스트리 온-프레미스와 동기화하여 연결된 레지스트리에서 이미지를 끌어올 수 있습니다.
연결된 레지스트리의 활성화 상태는 온-프레미스에 배포되었는지 여부를 나타냅니다.
- 활성 - 연결된 레지스트리가 현재 온-프레미스에 배포되어 있습니다. 비활성화될 때까지 다시 배포할 수 없습니다.
- 비활성 - 연결된 레지스트리가 온-프레미스에 배포되지 않습니다. 지금은 배포할 수 있습니다.
콘텐츠 동기화
연결된 레지스트리는 컨테이너 이미지와 OCI 아티팩트를 동기화하기 위해 클라우드 레지스트리에 정기적으로 액세스합니다.
또한 클라우드 레지스트리에서 리포지토리의 하위 집합을 동기화하거나 특정 간격 동안에만 동기화하여 클라우드와 프레미스 간의 트래픽을 줄이도록 구성할 수도 있습니다.
모드
연결된 레지스트리는 ReadWrite 또는 ReadOnly의 두 가지 모드 중 하나로 작동할 수 있습니다.
ReadOnly 모드 - 기본 모드. 연결된 레지스트리가 ReadOnly 모드인 경우 클라이언트는 아티팩트만 끌어오기(읽기)할 수 있습니다. 이 구성은 클라이언트가 작동하기 위해 컨테이너 이미지를 끌어와야 하는 시나리오에서 사용됩니다. 이 기본 모드는 기본 보안 접근 방식과 일치하며 CLI 버전 2.60.0부터 적용됩니다.
ReadWrite 모드 - 모드를 사용하면 클라이언트가 연결된 레지스트리에 아티팩트(읽기 및 쓰기)를 끌어오고 푸시할 수 있습니다. 연결된 레지스트리에 푸시되는 아티팩트는 클라우드 레지스트리와 동기화됩니다. ReadWrite 모드는 로컬 개발 환경이 준비되어 있는 경우에 유용합니다. 이미지는 로컬 연결된 레지스트리로 푸시되고, 이 레지스트리에서 클라우드로 동기화됩니다.
레지스트리 계층 구조
연결된 각 레지스트리는 부모에 연결되어야 합니다. 상위 부모는 클라우드 레지스트리입니다. 중첩된 IoT Edge와 같은 계층적 시나리오의 경우 연결된 레지스트리를 두 모드 중 하나로 중첩할 수 있습니다. 클라우드 레지스트리에 연결된 부모는 두 모드 중 하나에서 작동할 수 있습니다.
자식 레지스트리는 부모 기능과 호환되어야 합니다. 따라서 ReadOnly 및 ReadWrite 모드 연결된 레지스트리는 모두 ReadWrite 모드에서 작동하는 연결된 레지스트리의 자식일 수 있지만, ReadOnly 모드 레지스트리만 ReadOnly 모드에서 작동하는 연결된 레지스트리의 자식일 수 있습니다.
클라이언트 액세스
온-프레미스 클라이언트는 Docker CLI와 같은 표준 도구를 사용하여 연결된 레지스트리에서 콘텐츠를 푸시하거나 끌어올 수 있습니다. 클라이언트 액세스를 관리하려면 연결된 각 레지스트리에 액세스하기 위해 Azure Container Registry 토큰을 만듭니다. 레지스트리에 있는 하나 이상의 리포지토리에 대한 끌어오기 또는 푸시 액세스를 위해 클라이언트 토큰의 범위를 지정할 수 있습니다.
또한 연결된 각 레지스트리는 부모 레지스트리와 정기적으로 통신해야 합니다. 이를 위해 레지스트리는 클라우드 레지스트리에 의해 동기화 토큰(동기화 토큰)을 발급합니다. 이 토큰은 동기화 및 관리 작업을 위해 부모 레지스트리로 인증하는 데 사용됩니다.
자세한 내용은 연결된 레지스트리에 대한 액세스 관리를 참조하세요.
제한 사항
- 토큰 수 및 범위 맵은 단일 컨테이너 레지스트리에 대해 각각 20,000개로 제한됩니다. 이렇게 하면 연결된 모든 레지스트리에 동기화 및 클라이언트 토큰이 필요하기 때문에 클라우드 레지스트리에 대한 연결된 레지스트리 수가 간접적으로 제한됩니다.
- 범위 맵의 리포지토리 권한 수는 500개로 제한됩니다.
- 연결된 레지스트리에 대한 클라이언트 수는 현재 20개로 제한됩니다.
- 리포지토리/매니페스트/태그 메타데이터를 통한 이미지 잠금은 현재 연결된 레지스트리에 대해 지원되지 않습니다.
- ReadOnly 모드를 사용하는 연결된 레지스트리에서는 리포지토리 삭제가 지원되지 않습니다.
- 연결된 레지스트리에 대한 리소스 로그는 현재 지원되지 않습니다.
- 연결된 레지스트리는 레지스트리의 홈 지역 데이터 엔드포인트와 결합됩니다. 지역 복제를 위한 자동 마이그레이션은 지원되지 않습니다.
- 연결된 레지스트리를 삭제하려면 컨테이너를 온-프레미스에서 수동으로 제거하고 클라우드에서 해당 범위 맵 또는 토큰을 제거해야 합니다.
- 연결된 레지스트리 동기화 제한 사항은 다음과 같습니다.
- 연속 동기화의 경우:
minMessageTtl
은 1일입니다.maxMessageTtl
은(는) 90일입니다.
- 동기화 창을 지정하려는 경우에 따라 간헐적으로 연결된 시나리오의 경우:
minSyncWindow
은(는) 1시간입니다.maxSyncWindow
는 7일입니다.
- 연속 동기화의 경우:
결론
이 개요에서 연결된 레지스트리 및 몇 가지 기본 개념에 대해 알아봤습니다. 다음 문서 중 하나를 계속 진행하여 연결된 레지스트리를 활용할 수 있는 특정 시나리오에 대해 알아봅니다.