순서입니다
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 파일 위치는 도커 파일이랑 같은 곳에 뒀습니다
콘솔에 실행하면
빌드에 성공했습니다
이미지 하나가 만들어졌으면 빌드까지 성공한 겁니다
'programing > aws' 카테고리의 다른 글
[ aws RDS ] postgresql 데이터베이스 생성 및 연결, 삭제해보기 (0) | 2023.01.12 |
---|---|
[ aws IAM ] 유저 그룹, 유저 생성 (0) | 2023.01.12 |
[ aws s3 ] python으로 bucket에서 파일 읽기, 삭제하기 (0) | 2022.09.03 |
[ aws s3 ] python으로 s3 연결해서 파일 업로드 하기 (0) | 2022.09.03 |
[ aws S3 ] S3 (Simple Storage Service) bucket 만들기 (0) | 2022.09.03 |
댓글