인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

cho766님의 프로필 이미지
cho766

작성한 질문수

비전공자도 이해할 수 있는 CI/CD 입문·실전

[실습] 컨테이너 기반 + 확장성을 고려한 프로젝트에서 많이 쓰는 CI/CD 구축 방법

ECR + CodeDeploy를 활용한 CI/CD에서 쉘 스크립트 질문

해결된 질문

작성

·

175

0

섹션4의 5번째 강의 5분 17초에 보면

ECR에 저장된 이미지를 가져오기 위해

ECR의 주소가 적혀있는데요. 이 코드들이 깃헙에 올라가게 되면

저의 프라이빗 ECR 주소가 외부로 공개가 되는 것 같은데

실제 현업에서도 이렇게 ECR 주소가 외부로 공개하는 방식으로 사용하나요?

현재 여럿이서 진행하는 프로젝트의 CI/CD 구축을 해당 강의를 참고하여 진행하려고 하는데 스크립트 작성을 하면서 의문점이 생겨 글 남깁니다! 강의 항상 잘 듣고 있습니다 감사합니다~

답변 1

1

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요 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

cho766님의 프로필 이미지
cho766

작성한 질문수

질문하기