AWS 17

[Final Project]TeamB_화물 용달 예약/조회 서비스

Day1 오늘 한 것 요구 사항 명세 작성 소비자가 예약을 진행할 때, 예약 정보를 RDS에 저장한다. 드라이버가 예약을 인지할 수 있도록 해당 메시지를 알림 서버에 전달한다. 예약 정보를 다루는 서버는 추가 될 트래픽에 대한 확장성이 보장되어야한다. 알림 서버는 추가 될 트래픽에 대한 확장성이 보장되어야한다. 데이터 내구성을 보장하기 위해 RDS는 복제본이 만들어져야 한다. 빠른 예약 정보 검색을 위해 쿼리결과는 ElastiCache를 통해 캐싱이 되어야 한다. 예약 내역이 담긴 메시지 누적은 Elasticsearch를 통해 제공된다. 누적된 로그는 예약 정보를 담는 rds와는 별도의 db에 저장된다. 예약 서비스와 조회 서비스는 별도로 관리되는 서비스이다. 요구 사항 명세 바탕으로 엔지니어와 팀미팅 ..

[AWS][aws-cli] 인스턴스에서 s3 업로드하기

어차피 인스턴스 내에서 작업을 하는 중이니까 특히 s3 버킷의 경우 정적파일이라서 매번 새로 빌드하면 새로 올려야한다. 파일 질라같은 프로그램으로 매번 인스턴스에서 로컬로 받아서 올리고 s3 파일 삭제하고 하기 귀찮으니까 한줄로 덮어쓰기까지 가능한 aws-cli를 활용하쟈! aws configure 프로필 > 보안자격증명 여기서 액세스키 id 랑 secret key를 받을 수 있는데 꼭 저장하자 id는 노출되도 괜찮지만 secret key는 노출되지않도록 조심 aws-cli 사용을 위한 설정 $ aws confiugre 여기서 위에서 알아낸 id랑 key 넣어준다. 리전과 aws.log 포맷은 좋아하는거 넣어주면 된다. 이걸 넣어줘야 aws-cli 활용할때 쉽게 가능함:) 인스턴스 내에서 s3로 폴더 이..

Infra & DevOps/AWS 2022.05.15

[AWS][EC2] 초기설정 명령어

EC2 인스턴스는 가장 처음 생성하면 당연히 깡통 있는 것 git 하나 뿐이다. 그럼 작업을 하기위한 설정들이 조금 필요하다. 순서대로 복붙! node & npm 설치 과정 $ sudo apt-get install build-essential libssl-dev $ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash $ source ~/.bashrc $ nvm install 16.15.0 #이건 내가 글을 쓰는 시점에서 그냥 최신 각자 알아서 curl 설치 과정 $ sudo apt install curl $ curl -sL https://deb.nodesource.com/setup_14.x | sudo -..

Infra & DevOps/AWS 2022.05.15

[AWS][lambda] s3 버킷sqs 알람 이벤트 설정

약 2-3일간 초보자 단계에서 볼 수 있는 에러란 에러는 다 만난 것 같다. 1. 트리거 중복문제 s3 버켓에 트리거를 걸고 싶었는데 중복으로 걸리는 문제라고한다. s3 > 속성 > 이벤트 알림 지우고 다시걸면 된다. 2. 람다 함수의 트리거에 sqs를 붙일 때, timeout error가 발생했다. 함수 제한 시간은 많은데 sqs의 제한 시간은 그보다 짧아서 sqs의 에러발생 타이밍을 함수가 잡지 못해서 발생한다. 함수가 먼저 에러가 발생했음을 알아야 sqs로 그 알람이 가야하기때문에 함수의 타임아웃 시간을 더 줄여줬다. 람다 함수 일반구성 > 시간 설정

Infra & DevOps/AWS 2022.04.14

[ECS] 배포 시 자주 발생하는 실수

- 대부분은 포트문제 로드밸런서 : 리스너 포트와 보안그룹의 미스매치 작업 정의에서 포트매핑 누락 서비스 보안그룹에서 인바운드 포트 누락 - 환경 설정의 누락 .env의 내용들 깃 레포지토리 > 세팅스 > 시크릿 - 로컬의 이미지와 ECR에 올라가 있는 이미지가 서로 다름 이미지 해시 값을 통해 이미지 확인하기 - 잘못된 로드 밸런서 사용 🌹 WAS에 NLB 연결, ALB 연결을 추천 나는 NLB와 mongoDB를 연결 한 상태인데 거기다 was까지 연결한 경우였다. 다른 티어의 작업이기 때무에 각 티어별로 다른 로드밸런서 연결

Infra & DevOps/AWS 2022.04.04

[AWS][ECS][메모]배포 자동화 과정

ecs 배포 자동화 도커 허브 역할을 하는 ecr에 올려서 그걸 컨테이너 화 시켜서 ecs로 배포하려고한다 그것을 fargate에 올린다. 얘는 ec2랑 비슷한 역할이기 때문에 dns로 들어가면 뜨게된다. fargate가 일을 하도록 하려면 task definition을 만들고 클러스터와 서비스를 만들어서 그 안에서 돌아가게 한다. fargate에 들어가려면 로드밸런서를 만들어야하는데, 이게 alb 이걸 다 연결해서 깃 액션으로 묶으려는 자동화를 시도한다. > ecr 만들기 레포지토리 만들기 누르면 뜨는 하라는대로 안내창에 복붙. 이때 태그를 latest로 달아서 올린다. 전부 안내창에 나온대로 복붙만 하면된다. 그러면 ecr 레포지토리에 올라오는 걸 볼수 있음 > ecs 만들기 크리에이트 클러스터 네트..

Infra & DevOps/AWS 2022.04.02

[AWS]Application Load Balancer

🌹 3. 웹 호스팅을 하는 EC2 인스턴스 집합이 있습니다. 현재 각 EC2 인스턴스에 SSL 인증서를 설치하고 있지만 최근 몇년 동안 이 인증서를 유지하고 새롭게 추가하는 비용이 계속 오르고 있습니다. 여러 인증서가 필요하지 않은 SSL 종단을 위한 솔루션을 설계해야 합니다. 어떤 서비스를 추천하겠습니까? Application Load Balancer CloudFront >> 로드 밸런서는 종류가 여러개가 있는데 가장 기본적으로 elb에 대한 설명은 aws 공식문서에서 가져왔다. 쉽게 말하자면 각 서버에 과도한 트래픽이 몰리지 않도록, 아픈 서버에 트래픽이 가지 않도록 조절 해 준다. ELB : Elastic Load Balancing은 둘 이상의 가용 영역에서 EC2 인스턴스, 컨테이너, IP 주소 ..

Infra & DevOps/AWS 2022.03.30