튜토리얼: Amazon ECR에서 GitLab으로 컨테이너 이미지 마이그레이션
Amazon Elastic Container Registry에서 GitLab으로 컨테이너 이미지를 대량 마이그레이션하는 자동화 튜토리얼.
레지스트리 간에 컨테이너 이미지를 수동으로 마이그레이션하는 것은 시간이 많이 걸립니다. 이 튜토리얼에서는 Amazon Elastic Container Registry (ECR)에서 GitLab 컨테이너 레지스트리로 컨테이너 이미지를 대량 마이그레이션하는 작업을 자동화하는 CI/CD 파이프라인을 설정하는 방법을 설명합니다. ECR에서 컨테이너 이미지를 마이그레이션하려면: AWS 권한 구성 UI에서 AWS 자격 증명을 변수로 추가 마이그레이션 파이프라인 생성 마이그레이션 실행 및 검증 모든 것을 합치면 .gitlab-ci.yml 은 이 튜토리얼 끝에 제공된 샘플 구성 과 비슷해야 합니다. 시작하기 전에 # 다음이 필요합니다: GitLab 프로젝트에서 Maintainer 또는 Owner 역할 IAM 사용자를 생성할 권한이 있는 AWS 계정 액세스 AWS 계정 ID ECR 저장소가 위치한 AWS 리전 GitLab 컨테이너 레지스트리의 충분한 스토리지 공간 AWS 권한 구성 # AWS IAM에서 ECR에 대한 읽기 전용 액세스를 가진 새 정책과 사용자를 생성합니다: AWS Management Console에서 IAM으로 이동합니다. 새 정책을 생성합니다: { "Version" : "2012-10-17" , "Statement" : [ { "Effect" : "Allow" , "Action" : [ "ecr:GetAuthorizationToken" , "ecr:BatchCheckLayerAvailability" , "ecr:GetDownloadUrlForLayer" , "ecr:DescribeRepositories" , "ecr:ListImages" , "ecr:DescribeImages" , "ecr:BatchGetImage" ] , "Resource" : "*" } ] } 새 IAM 사용자를 생성하고 정책을 연결합니다. IAM 사용자의 액세스 키를 생성하고 저장합니다. UI에서 AWS 자격 증명을 변수로 추가 # GitLab 프로젝트에 필요한 AWS 자격 증명을 변수로 구성합니다: 상단 표시줄에서 검색 또는 이동 을 선택하고 프로젝트를 찾습니다. 설정 > CI/CD 를 선택합니다. 변수 를 확장합니다. 변수 추가 를 선택하고 다음을 추가합니다: AWS_ACCOUNT_ID : AWS 계정 번호. AWS_DEFAULT_REGION : ECR 리전. 예: us-east-1 . AWS_ACCESS_KEY_ID : IAM 사용자의 액세스 키 ID. 변수 마스킹 을 선택합니다. AWS_SECRET_ACCESS_KEY : IAM 사용자의 시크릿 액세스 키. 변수 마스킹 을 선택합니다. 마이그레이션 파이프라인 생성 # 다음 구성으로 저장소에 새 .gitlab-ci.yml 파일을 생성합니다: 이미지 및 서비스 설정 # 컨테이너 작업을 처리하기 위해 Docker-in-Docker를 사용합니다: image: docker:20.10 services: - docker:20.10-dind 파이프라인 변수 정의 # 파이프라인에 필요한 변수를 설정합니다: variables
