인텔리제이 Ultimate 라이센스가 있어서, 프론트엔드 작업(React)과 백엔드 작업(Spring)모두 인텔리제이에서 작업하는데요. 노드 버전을 이것저것 설치하면서 들었던 생각이 '개발환경도 컨테이너로 띄워서 하면 안되나?' 였습니다. 이 섹션을 통해 그 갈증을 해소한 것 같아요.
msa 프로젝트 중 각 마이크로 서비스의 이미지를 pull 하는 곳에서 문제가 생깁니다. err: ERROR: for seat-service Head " https://139144002104.dkr.ecr.ap-northeast-2.amazonaws.com/v2/seat-service/manifests/1.0 ": no basic auth credentials 이렇게 에러가 나오게 되네요... IAM 사용자 생성했고 권한 정책에 AmazonEC2ContainerRegistryFullAccess를 추가해줬습니다. 또한 이 사용자를 EC2에 연결까지 했습니다. 추가적으로 helper 설정을 위해 ./docker 폴더를 만들고 config.json에 "credsStore":"ecr-login"도 추가해주어 강의랑 매우 똑같이 만들었습니다. 이 deploy.yml 은 github action 코드입니다. 7번에서 이 오류가 발생하게 됩니다. ======선을 기준으로 아래는 docker-compose.yml파일입니다. 이 문제를 어떻게 해결해야할까요? 또한 각 마이크로 서비스에 연결된 데이터베이스가 모두 maraiDB라면 이걸 docker-compose.yml로 이미지화 시켜야하는것이 맞을까요? # 6. EC2로 Compose 파일 전송 - name: Copy docker-compose.yml to EC2 uses: appleboy/scp-action@v0.1.7 with: host: ${{ secrets.EC2_HOST }} username: ${{ secrets.EC2_USERNAME }} key: ${{ secrets.EC2_PRIVATE_KEY }} source: "docker-compose.yml" target: "/home/ubuntu/movie-project/" strip_components: 0 overwrite: true # 7. EC2에서 Compose 실행 - name: SSH into EC2 and deploy uses: appleboy/ssh-action@v0.1.7 with: host: ${{ secrets.EC2_HOST }} username: ${{ secrets.EC2_USERNAME }} key: ${{ secrets.EC2_PRIVATE_KEY }} script: | cd /home/ubuntu/movie-project sudo docker-compose down sudo docker-compose pull sudo docker-compose up -d ================================================ movie-service: image: 139144002104.dkr.ecr.ap-northeast-2.amazonaws.com/movie-service:1.0 depends_on: - redis book-service: image: 139144002104.dkr.ecr.ap-northeast-2.amazonaws.com/book-service:1.0 depends_on: - kafka payment-service: image: 139144002104.dkr.ecr.ap-northeast-2.amazonaws.com/payment-service:1.0 depends_on: - kafka seat-service: image: 139144002104.dkr.ecr.ap-northeast-2.amazonaws.com/seat-service:1.0 depends_on: - kafka
현재 강의에서는 간단한 instagram-server 프로젝트를 docker에 이미지화 시켜서 이를 ecr에 연결해 이미지를 업로드하고 ec2에서 이미지를 다운받아 실행하고 배포하는 것을 잘 이해했습니다. 하지만 혹시 간단한 프로젝트가 아닌 MSA의 각 서비스들, Kafka, Redis가 모두 모인 프로젝트 일때에는 각 서비스, kafka, redis 모두 이미지로 만들어야하는 것으로 알고 있습니다. 이때 한번에 docker compose 파일을 만들면 될 것 같지만 이를 CI CD의 deploy.yml에 어떻게 연결짓는 것인지가 궁금합니다. 아니면 혹은 cmopose 파일을 github action에 직접 입력해서 수동으로 관리하는 것인가요? 불편하게 그저 각 서비스, redis, kafka를 deploy.yml에 작성해서 일일이 하면 편하긴 하겠지만 이런 경우는 보통 compose 파일을 만드는 것이 훨씬 장점이 있다고 생각합니다. 이 compose 파일을 어떻게 deploy.yml 혹은 EC2에 보내는 것인지 궁금합니다.
안녕하세요 선생님. 제가 1월부터 5월까지 Spring,Java 벡엔드 과정 교육을 온라인으로 들었습니다. 그 과정에서 AWS 기초를 배우는 과정이 있었는데 5월달에 교육이 끝나면서 탈퇴를 하지 3개월 밖에 안됬는데.. 혹시 이걸 다시 가입해야 되는 걸까요?? 한달 무료 사용해버려서요..
안녕하세요, 강의 잘 듣고 있습니다. AutoAdminLogon 설정을 로컬 PC에서 하는건가요 혹은 VM상에서 설정하는건가요? 강의상에서는 VM상에서 설정을 하시는 것 같은데, 제 VM에는 알려주신 경로로 들어가도 AutoAdminLogon 파일이 보이지가 않네요. (로컬 PC에서는 해당 파일이 보입니다)
안녕하세요. 아래 상황에서 원인을 아직 찾지못해 질문드립니다. 강의: 섹션 4-7 키워드 기반 이슈 자동화 2 강의 [발생상황] keyword-list.txt 파일에 high 텍스트를 추가 후 이슈에서 high-test 로 이슈 생성 github action 이 실행되고 알림이 슬랙에 전송되나, critical-issue, normal-issue 채널과는 다르게 알림이 추가되었다는 문구만 표시 초기에 생성한 actions 채널에 상세 알림이 전송되어 표시 [시도해본 작업] 레포 high 환경변수 secret에 웹훅 url 을 새로 추가
안녕하세요! 강의 재밌게 잘듣고 있습니다 :] 컨테이너의 Stateless 제약 -> 상태가 업식 때문에 저장 및 공유가 필요한 데이터는 무조건 외부에 저장해야합니다. 라는 내용을 보다가 실무에서는 어떤지 궁금증이 생겼습니다. 실무에서는 DB를 도커로 띄어서 운영을 하는 경우에, DB의 정보들을 별도로 외부에 저장을 하는 것인지 궁금합니다! 제가 생각한 바로는 1. 배치 또는 스냅샷을 사용해서 일정주기마다 백업을 한다. (이 방법을 사용하면 컨테이너가 사라졌을 때와 가장 최근 백업 사이에 간격이 어쩔 수 없이 발생할 것 같다는 생각이 들었습니다.) 2. DB는 RDS 같은 서비스가 있기 때문에 도커를 굳이 사용하지 않는다. 강사님의 의견을 여쭤보고 싶습니다!
node.js 설치 명령어를 실행하면 odesource.gpg: command not found bash: /: Is a directory deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodist ro main bash: /: Is a directory E: Malformed entry 1 in list file /etc/apt/sources.list.d/nodesource.list (Component) E: The list of sources could not be read. E: Malformed entry 1 in list file /etc/apt/sources.list.d/nodesource.list (Component) E: The list of sources could not be read. 이렇게 뜨면서 설치가 되지 않는 것 같습니다. root@ip-172-31-34-207:/home/ubuntu# node -v Command 'node' not found, but can be installed with: apt install nodejs
인프라 자원 생성 부분에서 보안 그룹에 인바운드 규칙 추가하고 퍼블릭 액세스를 활성화 해줘도 안되는 경우가 있네요. 찾아보니 RDS 서브넷이 private로 설정된 경우(그 사이에 default가 프라이빗이 됬나봅니다) 에는 aws vpc에서 라우팅 편집을 해야 접속이 되네요. aws는 설정이 조금씩 바뀌는 경우가 많아서 참 헷갈려요ㅜ
강사님 안녕하세요 강의 잘 듣고 있습니다! 강의 12분 40초 대에 RDS에 인바운드 규칙을 설정하는 부분에서 이미 인바운드 규칙이 하나 존재함을 발견했습니다. 원래 있었던 인바운드 규칙은 삭제해도 강의 진행에 문제가 없는지 궁금합니다 (이 계정은 신규계정으로 강의를 듣는것만을 목적으로 생성하였습니다) 감사합니다