ECR + CodeDeploy를 활용한 CI/CD에서 쉘 스크립트 질문
섹션4의 5번째 강의 5분 17초에 보면
ECR에 저장된 이미지를 가져오기 위해
ECR의 주소가 적혀있는데요. 이 코드들이 깃헙에 올라가게 되면
저의 프라이빗 ECR 주소가 외부로 공개가 되는 것 같은데
실제 현업에서도 이렇게 ECR 주소가 외부로 공개하는 방식으로 사용하나요?
현재 여럿이서 진행하는 프로젝트의 CI/CD 구축을 해당 강의를 참고하여 진행하려고 하는데 스크립트 작성을 하면서 의문점이 생겨 글 남깁니다! 강의 항상 잘 듣고 있습니다 감사합니다~
답변 1
2
안녕하세요 cho766님! 강의 잘 들어주셔서 감사합니다ㅎㅎ
굉장히 좋은 질문이자 고민입니다.
Private Repository일 경우에는 ECR 주소가 같은 팀 멤버에게 노출이 된다고 해서 큰 문제가 되지는 않습니다. 이유는 IAM으로 권한을 제한시켜뒀기 때문에 Access Key가 노출되지 않는 이상 ECR에 접근할 방법이 없습니다. Public Repository라고 해도 마찬가지이긴 합니다.
하지만 ECR 주소를 노출시키지 않고 감추는 게 보안적으로 더 안전한 방법입니다. 따라서 보안이 중요한 현업의 서비스라면 ECR 주소까지 노출을 시키지 않는 게 더 좋은 방법이 될 수 있습니다. ECR 주소를 감추는 방법에는 여러가지 방법이 있습니다. 그 중 간단한 방법을 하나 추천드려볼게요!
위 상황에서 start-server.sh 파일이 Github으로 버전관리가 되는 게 문제입니다. 그렇다면 start-server.sh를 Github으로 버전관리 시키지 않고 .gitignore 처리를 한 뒤에 start-server.sh를 별도로 EC2에 올려주는 방법을 사용할 수 있을 것 같네요. 즉, .env 또는 application.yml 파일을 Github Actions을 활용해 따로 EC2 서버에 전달한 방식과 비슷하게 start-server.sh 파일을 올려서 작동시킬 수도 있겠네요!
꼭 이 방법이 정답은 아닙니다! 다양한 방법이 존재하니 어떻게 하면 해당 값을 노출시키지 않고 배포할 수 있을 지 고민해보시면서 고도화해보셔도 좋을 것 같네요:D
무중단 배포
0
57
2
workflows/deploy.yml 궁금증
0
52
2
.git-credentials 파일이 없이 배포가 성공한 이유가 궁금
0
57
1
(해결 - 정보공유) /home/runner/work/_temp/6be6e~0.sh: line 1: ./gradlew: Permission denied 오류
1
63
2
(확인 완료) git config --global creadential.helper store 후에도 비밀번호 물어보는 현상
1
71
2
질문_ 강의 순서 및 그외
0
70
2
섹션 4 - Docker + 백엔드(Spring Boot)
0
63
2
deploy.yml작성후 원격에 push불가
0
63
2
CodeDeploy 사용시 registration 요구
0
106
3
스프링 종료 명령어
0
68
2
RAM & 스왑메모리 폭증하는 문제
0
102
2
섹션 4, 5와 6, 7은 유사한가요?
0
66
1
code deploy 배포입니다.
0
98
3
사용자 삭제가 안되는 이유
0
88
2
이미지 pull중 no basic auth credentials 문제입니다.
0
113
2
Docker Compose파일을 작성했을때 CI CD와의 연동
0
96
2
보안그룹 생성 오류
0
84
3
AWS 5월에 탈퇴해서 그러는데....
0
81
1
배포 오류
0
80
2
node.js 설치시 에러
0
149
2
appspec.yml, 스크립트 파일 수정요청
0
82
2
appleboy/ssh-action stop_script 대체
1
181
2
Vue.js 파일 배포
0
61
2
aws를완강하고 ci/cd로 넘어왔습니다.
0
85
1





