Search
Duplicate
📁

25주차 수업

25주차 수업 전 공부 진행 및 과정

24주차때 중요 질문들
김영한 강사님의 스프링 부트 - 핵심원리와 활용 1,2챕터
프로젝트 CI/CD

25주차 수업 진행

24주차때 중요 질문들
김영한 강사님의 스프링 부트 - 핵심원리와 활용 1,2챕터
프로젝트 CI/CD

멘토님 중요 질문.

가상 머신, 컨테이너 차이
auto scaling이 ami를 이용해 동작하는 방법
cloudwatch agent, prometheus exporter 데이터를 가져오고 수집하는 과정에 따른 장단점 차이
github action 고치기
1.
ec2에 nginx 설치해서 vintage server와 연결하기
2.
nignx를 이용해서 blue/green 배포할 수 있는 환경 준비하기
3.
손으로 직접 명령어 쳐서 blue/green 배포 진행해보기
4.
3번에서 성공한 코드를 기반으로 github action 코드 작성하기

25주차 멘토링 느낀점

저번주에 아파가지고 이틀정도 미뤄서 진행했어가지고 이번에 공부할 시간이 상대적으로 짧았다.(변명)
그리고 저번 코드리뷰로 CI/CD 스크립트가 배포하면 서버 중단될거 같다고 하셔서 저번에 찾아보고
Rolling 업데이트
블루/그린
중에서 블루/그린으로 진행해보겠다고 했는데
바로 액션에서 오류 와장창
내가 뭘 잘못했는데.. 대화 해보자 우리..
진짜 오류 찾아보면서 하면 금방 해결될 줄 알았는데 아니였음~
하루 종일 새벽까지도 진행해보고 강의도 들어야하는데 이거 해결하고 싶어가지고 강의도 조금 들음.
중간에 멘토님한테 혹시 메인에 머지하지않고 다른 방법으로 액션을 확인할 방도가 있을까요?
라고 물어봤다가 아 해당 브랜치도 임시로 넣어주고 커밋하면 액션 돌아가게끔 해주면 되겠다 하고 혼자 자문자답
(말하면서 정리되는 타입)
는 근데 오류 3개 수정하면 새로운 오류 발생
히히히히히
결국 해결 못하고 멘토링 시작~
AMI랑 도커이미지 관련 질문에 대해서 대답 후에
그러면 프로젝트로 서버를 세팅할 때 어느 상황에 어떤 걸 쓰는 게 좋을까요?
빨리 배포가 필요한 상황일 때는 도커를 쓸 거같고 특정 OS가 종속되는 그런 애플리케이션 같은 경우에는 AMI를 쓸거 같아요
도커를 쓰면 빠르게 띄울 수 있어서 쓴다고 말씀해주셨는데 왜 빠를까요?
🫠
우선은 AMI보다는 컨테이너 자체가 OS가 포함되지 않아가지고 그런 거랑 이제 애플리케이션 자체에 딱 필요한 것들만 포함되어 있어서 크기가 작아가지고 빠르게 시작되는 걸로 알아요.
그럼 지금 환경에서 도커를 띄우는게 빠를까요?
🫤
음.. 같은 AWS 서비스여서 EC2환경을 활용해가지고 AMI를 사용하는게 더 나을거같아요
어떤걸 활용하냐고 여쪄보셨는데 대답 못함..ㅋㅋㅋ
후에 같은 환경에서 어떤걸 쓸 수 있는지 따로 찾아보기로함
지금 상황에서 서버를 지금은 서버가 한대 떠 있잖아요. 2대를 띄워야 되는 상황이 오면 도커를 띄울 때랑 AMI를 이용할 때랑 어떻게 달라질까요? 🥹 : …? 하나씩 해볼까요? 서버를 2대 띄우려면 어떻게 해야 할까요?
로드밸런스를 사용해서 분산시킬거 같아요
네 앞에 로드 밸런서를 설치하고 뒤에 서버들을 바라보게 하겠죠. 그럼 그 서버는 어떻게 띄울 수 있나요? 아무것도 없는 환경을 생각해 본다면 이제 EC2 하나 띄워서 지금은 도커 설치하고 도커 이미지 다운로드 받고 도커 실행을 시켜주는 순서로 되어 있잖아요. 그렇게 띄운 서버가 한 대 있었는데 이제 그걸 한 대 더 띄우려면 어떻게 해야 될까요?
똑같이 하나 더 뛰우면 되죠 그러면 똑같이 하나 더 띄우는 상황에서는 AMI를 쓰는 게 편할까요? 도커를 쓰는 게 편할까요?
AMI를 쓰는게 전체 상태 그대로 복제할 수 있어서 AMI를 사용하는게 나을거 같아요
네 AMI 이미지를 잘 만들어 두었다면 그냥 그 이미지 기반으로 EC2를 실행시키면 서버가 준비되는 거겠죠. 그러면 도커까지 설치된 걸 AMI로 만들면 되지 않나요?
🫠
도커가 이미 있으니까 별도로 설치하지 않아도 되서 빠를거같아여..ㅎㅎ(5초의 생각 후 대답ㅋㅋ)
들으시고 다시 천천히
도커랑 왜 사용하는지
지금 같은 서버 1대에서 도커를 사용하는게 유리한지
서버 2대 띄울 때는 AMI가 좀 더 편리해보이지 않는지(도커x인 경우에)
도커를 포함한 AMI랑 도커가 포함되지 않은 AMI 중에 이미지 사이즈 크기 관련
등등 계속 질문주시면서 멘토님이 내가 정리되게끔 자세하게 설명해주셨다..
EC2에 이렇게 도커를 띄우는 방법 말고 다른 형태로 도커를 운영하는 방법에 대해서 알고 계신가요? 쿠버네티스 개념에 대해서 들어보셨나요?
컨테이너화된 애플리케이션을 이제 자동적으로 배포해 주거나 스케일링 해주거나 관리를 해주는 그런 구글에서 만든 오픈 소스로 알고 있어요. (가물가물)
여기서 핵심은 컨테이너화된 애플리케이션을 운용하는 툴이라는 거에요. EC2는 이제 가상화된 머신을 운영하는 개념이거든요.
여기서 이제 가상 머신이랑 컨테이너 차이에 대해서 물어봐주셨는데 제대로 대답못해서 찾아보기로함!
그리고 클라우드 와치랑 프로메테우스의 수집방식의 차이점도 물어봐주셨는데 사실 둘의 일반 차이점만 알았지 수집방법의 차이까지는 몰랐다... 그래서 추가적으로 설명해주셨다.
그리고 후반에는 CI/CD 관련해서 직접 AWS 연결해서 스크립트를 하나씩 쳐서 디버깅을 해보시라고 조언해주셨다!
나는 왜 그런생각을 못했지?…오히려 메인에 머지안하고 브랜치 푸쉬하면 액션 돌아가게끔 하는 생각을 기가막히게 했다고 생각했는데 진짜 아직도 멀었다 ㅎㅎ;;
(나중에 생각해보니 이게 얼마나 크게 놓친건지 깨달음. 진짜 로컬에서 테스트안하고 개발에 올려서 테스트하는 꼴. 또라이 아녀?)

개인적인 질문

CI/CD가 제일 궁금했는데 바로 어떻게 해결할지 방법을 알려주셔서 질문이 사라짐

다음주까지

25주차 중요 질문 정리 및 깊게 이해하기
영한님 강의 로드맵 진행
사이드 프로젝트 코드 리뷰의 CI/CD 부분 해결하고 AWS에서 확인 후 그 다음에 성능테스트
매주 1 질문 할거 생각하기.