본문 바로가기
programing/aws

[ aws ecr ] ecr 만들기

by 궈능비 2022. 9. 17.
728x90
반응형

순서입니다

1. 리포지토리 만들기
2. aws 설정하기
3. 리포지토리 권한 설정하기
4. iam 권한 설정하기
5. 리포지토리에 도커 이미지 빌드하기

리포지토리 만들기

 

ecs를 사용해보기 위해서 오늘은 ecr 리포지토리를 만들어 보겠습니다

 

처음에는 아무것도 없습니다

 

리포지토리 생성 버튼을 눌러주세요

 

저는 test라고 만들어볼게요

 

 

나머지는 그냥 디폴트로 놓고 리포지토리 생성 버튼을 눌러줍니다

 

 

이제 생성이 됐습니다

 


aws 설정하기

 

일단 aws랑 연결되어있는 콘솔에 

 

aws configure

를 쳐주세요

 

 

만약 저처럼 None으로 나오면 iam의 액세스 키, 시크릿키, 지역 이름을 쳐주세요

 

 


리포지토리 권한 설정하기

 

 

리포지토리 이름을 누르면 안으로 들어가집니다

 

 

우리는 권한을 설정해줘야됩니다

 

권한을 설정해볼게요

 

정책 json 편집을 눌러주세요

 

# json file

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "GetAuthorizationToken",
      "Effect": "Allow",
      "Principal": {
        #"AWS": "arn:aws:iam::{{ AWS_ACCOUNT_ID }}:user/{{ user_id }}" -- root 유저가 아닐 경우
        #"AWS": "arn:aws:iam::{{ AWS_ACCOUNT_ID }}:root" -- root 유저일 경우
      },
      "Action": "ecr:GetAuthorizationToken"
    },
    {
      "Sid": "AllowPushAndPull",
      "Effect": "Allow",
      "Principal": {
        #"AWS": "arn:aws:iam::{{ AWS_ACCOUNT_ID }}:user/{{ user_id }}" -- root 유저가 아닐 경우
        #"AWS": "arn:aws:iam::{{ AWS_ACCOUNT_ID }}:root" -- root 유저일 경우
      },
      "Action": [
        "ecr:BatchCheckLayerAvailability",
        "ecr:BatchGetImage",
        "ecr:CompleteLayerUpload",
        "ecr:GetDownloadUrlForLayer",
        "ecr:InitiateLayerUpload",
        "ecr:PutImage",
        "ecr:UploadLayerPart"
      ]
    }
  ]
}

 

 #"AWS": "arn:aws:iam::{{ AWS_ACCOUNT_ID }}:user/{{ user_id }}" -- root 유저가 아닐 경우
 #"AWS": "arn:aws:iam::{{ AWS_ACCOUNT_ID }}:root" -- root 유저일 경우

이거는 두 개 중에 하나만 써주시고 앞에 #는 지우고 써주세요

 

만약에 모르겠으면 

aws가 연결되어있는 곳에

aws sts get-caller-identity

를 쳐주세요

 

arn을 그대로 쓰면 됩니다

 

저장하고 문제없으면 이렇게 권한이 2개가 생겨있을 거예요

 


iam 권한 설정하기

 

iam에 가서 정책을 하나 설정해줍니다

 

만약 root 유저라면 설정안해줘도 괜찮은 것 같아요

그런데 root 유저가 아니라면 정책을 설정해줘야 합니다

 

정책 생성을 눌러주세요

서비스랑 작업이랑 리소스를 설정해줍니다

 

리소스는 우리 리포지토리에 맞게 설정해주세요

 

추가해주고 다음을 누르면

 

태그가 나오는데 저는 태그는 그냥 패스했어요

 

정책 검토도 그냥 맘대로 쓰고 정책을 생성해줍니다

 

이제 사용자로 갑니다

 

 

자기가 사용하려고 하는 사용자를 눌러주세요

 

권한추가 버튼을 눌러줍니다

 

기존정책 직접 연결을 누르고 위에서 만든 정책 이름을 선택한 뒤 다음을 눌러주세요

 

권한이 연결된 걸 확인할 수 있습니다


리포지토리에 도커 이미지 빌드하기

 

이제 생성한 리포지토리에 도커 이미지를 빌드해보겠습니다

 

다시 리포지토리로 돌아가서

 

만든 리포지토리를 선택하고 푸시 명령 보기를 눌러주세요

 

 

1번은 유저를 인증할 때 한 번만 사용하면 됩니다

 

저는 mobaxterm에 aws를 연결해서 사용하고 있기 때문에 바로 입력해줬습니다

라고 뜨면 성공입니다

 

나머지 2, 3, 4번은 저는 sh를 이용해서 작성해보겠습니다

 

 

sh 파일 위치는 도커 파일이랑 같은 곳에 뒀습니다

 

콘솔에 실행하면

 

 

빌드에 성공했습니다

 

 

이미지 하나가 만들어졌으면 빌드까지 성공한 겁니다

728x90
반응형

댓글