

프젝2 하는 나의 심정
aws와 도커를 재미있게 진행해서 자신감은 아니지만 용기는 있었다
## app.js
# Node.js 18 버전을 기반으로 하는 Alpine Linux 이미지를 사용
FROM node:18-alpine
# 도커 컨테이너 내부에서 작업 디렉토리
WORKDIR /usr/src/app
# 현재 디렉토리에서 "package.json"과 "package-lock.json" 파일을 도커 컨테이너 내부의 "/app" 디렉토리로 복사
COPY package*.json ./
# 컨테이너 내부에서 Node.js 애플리케이션의 의존성 패키지를 설치
RUN npm install --production
# /app 디렉토리로 모든 파일 복사
COPY . .
EXPOSE 3000
# 도커 내부 실행 기본 명령어
CMD ["npm", "run", "start"]
작성한
app.js파일이다CMD명령어는 중요하다….“node” , “dev”, “start”라고 해두고
왜
npm run start안되냐고 속으로 얼마나 욕을 했는지…. 이 아쉬운 오류로 첫날 오전과 오후2시까지 사용했다

ⓒ AWS ECR 리포지토리 푸시 명령
AWS는 내 생각보다 더 친절했다
첫날은 로컬에서 WAS서버와 mongodb를 컨테이너화 하고 docker compose로 실행, AWS ECR에 Github Action을 사용해 이미지 빌드와 push를 자동화 하는 것으로 끝


💡 2일차 종료. 유어클래스는 또 한번 느끼지만 요약을 잘 한 교과서 느낌이다. 빨리빨리 하고싶어서, 다른 사람은 빨리 하는데 나는 느리다고 급해지면 요약한 내용인데 스킵을 해버리니 작동이 안되는 경우가 있다. 잘 보자. 천천히 해도 상관 없다. 기술을 배우는데 목표가 있는거지 빨리 달성하는게 목표는 아니다.서버와 디비를 연결하라고 하지 않았는데 그냥 연결하는 방법을 찾아서 연결 후 빌드하고 이미지를 ECR에 push하니 ECS에서 클러스터에 컨테이너를 만들때 계속 오류가 생겼다

마일스톤7과 8은 해결을 했다. 이전에 배운 부분도 있어서 오래 걸리지 않았다.
마일스톤9가 문제였음

curl http://localhost:3000/api/restaurants했는데 폴더를 못찾고 있다

혹시나 .env 파일의 오류일까 마일스톤5의 POST컬 날렸는데 이건 온다
디렉토리 문제인듯?
생각을 해보니 프론트와 서버 연결을 하는 부분이라 프론트와 서버가 연결이 안된듯 하다.

docker run --name some-mongo --env MONGO_INITDB_ROOT_USERNAME=qook --env MONGO_INITDB_ROOT_PASSWORD=1234 -p 27017:27017 -d mongo:latest몽고 컨테이너를 env를 설정해서 실행후

내부 env파일을 로컬호스트 포트로 변경 하고

npm run start명령어로 서버 실행,

curl http://localhost:3000/api/restaurants명령어 통해서 하드코딩 된 db를 가져왔다
로컬에서 서버와 프론트 연결을 확인 했음 이후 AWS에서 모든 설정 후 Route53에서 도메인 접속하면 서버와의 연결이 안되는 문제 발생.
오타 등 휴먼 오류가 있나 확인
실행 되었던 태스크 정의를 제외하고 클러스터부터 라우트53까지 모두 새로 만들기 > 실패
혹시나 로컬에서 다시 하면 서버와 연결 되는가 확인
로컬에서는 package.json에 로컬호스트:3000 으로 설정 후 서버 실행하면 실행 되는 것 확인 > 확인 완료
package.json의 REACT_APP_ENDPOINT 설정 문제인가 확인
route53에 있는 모든 설정한 도메인 이름, alb 주소
(혹시나 해서 alb주소, localhost, 0.0.0.0 등 넣을 수 있는 주소는 혹시나 해서 다 넣음)
현상 유지 하며 변화 없음 > 실패
이미지 문제인가 확인
이미지가 자동화 되어서 배포 되는줄 알았지만 깃엑션 과정에서 빌드가 안된 것인지(?) 이전 이미지에 태그만 수정되는 것 같음
해서 직접 이미지를 수동으로 빌드(태그 2.0)해서 올리고 확인 > 실패
환경변수 실수? 등등 여러가지 이유를 찾아 보았음


섹션2가 끝났다. 벌써 반을 했다니. 믿어지지 않음
나는 성장 했는가? 성장의 기준이 어떤지 정확하게 모르겠지만 배운 지식을 활용해서 뭔가 하는 것이라면 성장 했다고 볼 수 있다 생각한다.
이번 실습과제 시작하면서 내가 팀원들에게 개인이 하고 달성하면 팀원들에게 알려주면서 다음으로 넘어가자 했지만 제대로 실행되지 않았다.
나도 빠르게 달성하지 못했고 팀원들도 그러지 못했어.
마음만 급해서, 빨리 하고싶어서 제대로 읽지 않고 읽으면서 바로바로 구현하려고 하다보니 놓치는 것들이 많았고 정해진 시간 안에 달성하지 못했다.
그래도 발전했다. 실습과제2 하면서 어떤 부분을 해야하는지 어떻게 하는지 왜 그런지 생각하게 되었고 정리하게 되었다. 실습과제1에서 목표했던 이슈가 생기면 적고 해결하고 해결 방법을 적는다는 목표를 달성했고 앞으로도 그렇게 현업에 가서도 할거야.
쉬운 부분도 있었지만 어려운 부분도 있었다. 주변에 빨리 하는 사람도 있지만 느린 사람도 있었다. 나는 그냥 내 탬포에 맞춰서 하자. (난 나일 뿐이야~ 누구도 나를 대신 할 수 없어~ 피카츄~~???)
남은 50퍼도 파이팅이다. DevOps04기 파이팅
마지막으로 실습과제1에서 사용했던 짤을 남기며 회고3에서 봅시다
