Code States/TIL 129

[0430] Section 2. 프로젝트 - AWS 배포 Day 2 - 마일스톤 6(마일스톤6 - 서버 애플리케이션의 HTTPS 적용)

실습과제: 서버 애플리케이션의 HTTPS 적용 Bare minimum requirement https://본인도메인.click의 트래픽이 서버 컨테이너, 즉 애플리케이션 로드 밸런서로 연결되도록 만들어야 합니다. 기존에 구매한 도메인과 발급받은 인증서를 이용해서 진행했다 application load balancer 에 리스너를 추가해준다 https 접속을 할 것이기 때문에 443 포트를 열어준다 기존에 발급받은 인증서를 선택한다 리스너가 추가된 모습을 확인할 수 있다 route 53 에서 레코드를 생성한다 레코드가 정상적으로 생성된 것을 확인할 수 있다 https://도메인 으로 접속했을 때 정상적으로 값을 불러오는 것을 확인할 수 있다

Code States/TIL 2023.04.30

[0430] Section 2. 프로젝트 - AWS 배포 Day 2 - 마일스톤 5-2(서버 이미지 ECS 배포 자동화)

연습과제: ECS에서 민감 정보 다루기 Goal 데이터베이스 연결 등에 필요한 민감정보를 어떻게 컨테이너에 주입시키는지 알아봅니다. helloworld-was/route/root.js 파일 수정 AWS Secerets Manager 이용하여 보안 암호 생성 환경 변수 등록 기존 태스크 정의에서 새 개정 생성 환경 변수에 secrets manager arn 주소 복사 값 유형은 valuefrom 으로 설정해줘야 함 새로 만든 개정으로 서비스 업데이트 트러블슈팅 Secerets Manager 접근 권한 없음(ResourceInitializationError: unable to pull secrets or registry auth) 태스크 정의에서 시크릿 매니저에 등록해놓은 보안 암호에 접근하기 위해서는 권한..

Code States/TIL 2023.04.30

[0429] Section 2. 프로젝트 - AWS 배포 Day 2 - 마일스톤 5-1(서버 이미지 ECS 배포 자동화)

실습과제: 새 버전 릴리즈와 ECS 배포 Bare minimum requirement 웹 서버 이미지의 새 버전이 준비되었을 때, 새로운 작업 정의와 서비스를 만들고, 새 버전이 배포되도록 해야 합니다. 고의적으로 애플리케이션이 정상적으로 실행되지 못하게 만들어서, 배포가 실패하는 것을 로그를 통해 확인할 수 있어야 합니다. yml 파일 작성 push 후 github action 작동 트러블슈팅 image를 찾을 수 없다는 오류 발생 yml 파일의 문제인 것 같았는데, 팀원분의 코드와 비교해봐도 다른 점이 없었다.. 팀원분의 코드를 복사 붙여넣기 하였고, 실제로 다른 부분이 없었다 그러나 그 코드로 작동시 해결되었다..;; 가끔 vscode에서 같은 코드여도 뭔가 인식 못할때가 있는데 그런 상황인 것 같..

Code States/TIL 2023.04.29

[0428] Section 2. 프로젝트 - AWS 배포 Day 2 - 마일스톤 4(이미지 ECS 배포)

연습과제: 서버 이미지 ECS 배포 Goal ECS의 클러스터, 태스크 정의, 태스크, 서비스에 대한 개념을 이해합니다. ECR에 저장된 웹 서버 이미지를 ECS로 배포해 봅니다. ECS 태스크의 로그를 읽어봅니다. 로드 밸런서와 ECS 서비스를 연결해 봅니다. 테스크 정의 생성 ECR 레포지토리의 이미지 URI (꼭 태그까지 붙일 것) 컨테이너 포트 3000으로 설정 클러스터 생성 후 서비스 생성 생성한 테스크 정의 선택 네트워킹 탭에서 보안그룹 설정 (3000번 포트 열어줘야함) alb 생성 트러블슈팅 테스크가 생성됐다 삭제됐다 반복되며 서비스가 제대로 작동하지 않음 타겟 그룹의 헬시체크를 봤을 때 타겟 등록 -> 삭제 만 반복하는 것을 확인 서비스 로그를 확인했을 때 타겟 등록 -> 삭제 만 반복하..

Code States/TIL 2023.04.28

[0427] Section 2. 프로젝트 - AWS 배포 Day 1 - 마일스톤 3(이미지 repository push 자동화)

연습과제: 도커 이미지 빌드 자동화 Goal GitHub Action을 이용해 도커 이미지 빌드를 자동화합니다. GitHub Action workflow 생성 후 yml 파일 작성 릴리즈 후 작동 확인 실전과제: 레지스트리 push 자동화 Bare minimum requirement GitHub Action을 이용해 AWS 로그인 후, 이미지 빌드 및 push를 자동화해야 합니다. 코드에 민감한 정보를 담지 않고, AWS 로그인을 위한 액세스 키와 시크릿 키를 별도로 관리해야 합니다. 릴리즈 후 작동 확인 트러블슈팅 오류 1: requested access to the resource is denied 구글링 결과 이미지 태그의 문제라는 의견이 절대적이었다 태그를 아무리 수정하고.. 이미지를 지우고 다시..

Code States/TIL 2023.04.27

[0427] Section 2. 프로젝트 - AWS 배포 Day 1 - 마일스톤 2(docker-compose 작성)

연습과제: mongoDB 도커로 실행하기 Goal Docker Hub에 이미 배포되어 있는 mongodb 이미지를 활용해, 로컬에서 mongodb를 컨테이너로 실행하고, 데이터베이스를 활용해 봅니다. 복잡한 실행 옵션 대신, docker compose 파일을 작성해 컨테이너를 실행해 봅니다. mongo 이미지를 이용하여 도커로 컨테이너 구동 -p 이용하여 포트 설정 --env 이용하여 아이디 비밀번호 설정 작동 확인 MongoDB Compass 이용하여 접속 접속 확인 docker-compose.yml 파일을 이용하여 MongoDB 구동 docker compose up 이용하여 실행 작동 확인 마일스톤 1에서 작성한 웹서버와 MongoDB를 함께 실행하기 위한 야멜파일 작성 작동확인 MongoDB와 fa..

Code States/TIL 2023.04.27

[0427] Section 2. 프로젝트 - AWS 배포 Day 1 - 마일스톤 1(Hello World 서버 컨테이너화)

Achievement Goals Day 1 WAS를 Docker Image로 빌드하여 컨테이너화 해야 합니다. 컨테이너화한 WAS를 Registry에 Push해야 합니다. 기존에 배포된 Docker Image를 활용/실행해야 합니다. mongoDB 기준 Docker Compose를 이용해, WAS와 DB를 한 번에 실행해야 합니다. WAS 이미지 빌드 및 push 자동화를 구현해야 합니다. ECR 서비스를 이용하는 방법을 배웁니다 연습과제: Hello World 서버 작성 Goal Fastify를 이용하여, 간단한 웹 서버를 만들고, HTTP 요청에 따른 응답을 확인합니다. Fastify cli 설치 Fastify 프로젝트 생성 실행 확인 정상 작동 확인 배포시 로컬호스트는 노출되지 않으므로 Fastif..

Code States/TIL 2023.04.27

[0426] 중간평가 오답노트

총평 그래도 공부 열심히 했구나..! 마냥 날먹하지는 않았구나! 문제 보면 대~충은 기억이 다 났다 확실하게 하려고 정리해둔 TIL 한번씩 확인한 정도..? 틀린 문제들 중 절반은 문제 대충 읽거나 체크 제대로 확인 안해서 틀렸고.. NACL은 공부를 좀 더 해봐야겠다 코플릿 딱히 어려운 문제는 없었고, 30분만에 제출했다 파트 1 5. 다음 중 jobs 명령을 통해 확인한 프로세스 상태에 대한 설명으로 틀린 것은? Running: 실행중 Stopped: 일시중단 Terminated: 강제종료(kill 명령 종료) Done: 정상 작동 중 답: 4 오답: 3 3번 보고 Terminated는 강제종료 보다는 정상 종료가 맞지 않나..? 라는 생각에 4번 읽지도 않고 선택함 6. kill 명령을 사용하기 위..

Code States/TIL 2023.04.26

[0425] 배포 자동화 - 배포 전략

학습 목표 배포 자동화의 정의와 이점에 대해 설명할 수 있다. 배포 파이프라인이 무엇인지 정의할 수 있다. 파이프라인을 구성하는 단계(Stages)와 작업(Actions)에 대해 설명할 수 있다. AWS 개발자 도구를 활용하여 파이프라인을 구축할 수 있다. 배포 자동화 파이프라인 구축 과정에서 문제가 발생할 경우, log 파일과 공식 문서를 통해 해결할 수 있다. 다양한 배포 전략 (롤링, 블루/그린, 카나리)을 이해할 수 있다. 블루/그린 배포 애플리케이션 또는 마이크로서비스의 이전 버전에 있던 사용자 트래픽을 이전 버전과 거의 동일한 새 버전으로 점진적으로 이전하는 애플리케이션 릴리스 모델 필요한 이유 배포를 자동화할 때 겪는 어려움 중 하나는 소프트웨어를 최종 테스트 단계에서 실제 프로덕션 단계로 ..

Code States/TIL 2023.04.25

[0425] (페어) 배포 자동화 - 환경 변수 설정

Bare Minimum Requirement AWS CodeBuild 서비스를 통해 환경 변수를 전달할 수 있어야 합니다. AWS Parameter Store 서비스와 AWS CLI를 통해 환경 변수를 전달할 수 있어야 합니다. Getting Started RDS 인스턴스가 생성되어 있어야 합니다. 서버 환경 변수 설정 실습이 성공적으로 마무리되기 위해서는 EC2 인스턴스 안에 AWS CLI가 설치되어 있어야 합니다. 실습 과정 완료 후 테스트 진행 시 보이는 화면 테스트는 S3 버킷의 엔드포인트 주소에 접속해서 진행합니다. 1. 클라이언트 환경 변수 설정 Hands-on 실습 완료 시 결과 화면 클라이언트 환경 변수 설정 관련 실습이 모두 마무리되어, S3 버킷의 엔드포인트 주소에 접속하고 로그인 테스..

Code States/TIL 2023.04.25