전체 글 77

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

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

Infra & DevOps/AWS 2022.04.14

[Powershell] json parse error

오늘의 꿀팁 눈을 크게 뜨자 cli 환경에서 인라인으로 작성된 데이터를 결국 json 형태로 변환해야 dynamodb에 넣을 수 있다. 다음은 그것을 위한 옵션이 붙은 invoke 명령어 aws lambda invoke를 호출해라 --payload : 뒤에 json으로 변형할 수 있는 포맷으로 string을 넣거나, true, false 형태의 데이터를 넣을 수 있다. --cli-binary-format raw-in-base64-out : 이진값으로 입력되는 매개변수 값을 해석할 수 있는 플래그 64 기반의 규칙을 명명한다. aws lambda invoke --function-name {Lambda함수의Arn를입력} --invocation-type Event \ --payload '{ "Metadata"..

그 외 메모 2022.04.13

[Serverless]마이크로서비스

서버리스의 의미는 무엇인가요? 서버리스란, 개발자가 서버를 관리할 필요 없게 해주는 서비스를 말한다. 서버가 없다는 뜻이 아니다. 어플리이션을 빌드하고, 실행, 각종 데이터 관리, 코드 실행 기술 등 개발 환경에서 서버를 관리 할 필요 없게 해주겠다는 클라우드 네이티브 개발 모델을 의미한다. 리액트 네이티브가 리액트를 기반으로 하는 어플리케이션을 의미하는 것 처럼, 클라우드 네이티브 개발 모델 역시 클라우드를 기반한 개발 모델이라는 뜻. IaaS처럼 사용자가 트래픽에 따라 직접 서버를 증/감 할 필요가 없는 기술 서비스. 서버는 기본적으로 하드웨어적 부분과 소프트웨어적 부분으로 이뤄져있는데, 클라우드 컴퓨팅 서비스란 벤더 업체들이 하드웨어적인 관리를 담당하고 그로써 활용 할 수 있는 소프트웨어적 부분들을..

Infra & DevOps/AWS 2022.04.06

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

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

Infra & DevOps/AWS 2022.04.04

[AWS][ECS]task definition-service 메모

task definition을 바탕으로 task를 만들고 그 task는 service로 노출시킬 수 있다. cluster는 이러한 태스크의 모음 클러스터 생성 > 클러스트 탬플릿으로 네트워킹 전용 선택 > 클러스터 구성에 이름 알아서 > 시작 task definition 만들기 fargate 선택 > 작업 및 컨테이너 정의 구성에서 설정 시작 > 이름은 몽고, iam 새로만들기, 운영체제는 리눅스, 작업 크기는 그냥 작게 알아서 > 컨테이너 추가 > 컨테이너 이름 알아서, 이미지는 ecr에서가 기본, 근데 mongodb는 도커 허브에 있으니까 docker.io/mongo:latest, 포트매핑은 27017(공식문서 참조), tcp >고급 설정에 환경변수 설정, mongo_initial_유저네임, 패스워드..

Infra & DevOps/AWS 2022.04.02

[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

[AWS]오답 정리

모든 저작권은 코드스테이츠에 있음을 밝힙니다. 1. kill 명령을 사용하기 위한 올바른 명령어는? kill 시그널번호(시그널명) %작업번호 kill 시리얼번호(시리얼명) PID >> 아... 시리얼 번호는 하드웨어에 찍혀있는 일련번호였다. 실제 명령어로 kill 뒤에 pid, % 작업번호 둘 다 된다. kill -9 PID >> 작업 강제종료 kill -15 PID >> 작업 일시중지 2. 자체 도메인에서 정적 웹사이트를 호스팅하고, 컴퓨팅 비용은 최소화하고 싶습니다. 다음 중 어떤 AWS 서비스를 사용하면 자체 도메인에서 웹사이트를 호스팅 할 수 있는지 모두 고르시오. S3 Route53 EC2 >> EC2는 정적 웹사이트 호스팅에 필요없다. EC2인스턴스는 가상의 서버. S3에서 정적 웹사이트 호스..

Infra & DevOps/AWS 2022.03.30

[Ubuntu]Node.js 설치

이번엔 node.js(+npm)을 설치! 이미 이것저것 내 vmware는 다깔아서 안 할 줄알았는데, ec2 연습을 하면서 빈 깡통 우분투 컴퓨터가 생겼다. 놀랍게도 ec2 를 통해 만든 빈 깡통 우분투에 딱 하나 먹는게 있다면 git 이었다. 1. curl 설치 $ sudo apt install curl 아예 처음이라 이것부터 2. NVM 설치 NVM은 node 전용 버전관리 프로그램 $ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.36.0/install.sh | bash 3. 빌드를 위한 빌드 환경 설치 $ sudo apt-get install build-essential libssl-dev 4. NVM path 설정 source ~/.bash..

그 외 메모 2022.03.17

[Git] 리드미로 프로필 꾸미기

요즘 여기저기 이력서 준비하려다보니 깃헙 주소를 써 낼 곳이 많아졌다. 그래서 준비한 깃헙 리드미로 프로필 자랑하기! 엄청나게 중요하고 그런건 아니지만 예쁘면 보기좋다. 다시한번 마음에 새기는 말 "인사 담당자들은 너같은 감자들을 하루에 수백명 씩 본단다." 1. 본인 깃헙에서 레포지토리 하나 새로 만들기 2. 레포지토리 이름을 본인 깃헙 아이디로 설정하기 짜잔! 저렇게 뭔가 숨겨진 해금조건 맞춘 것 처럼 안내문을 띄워준다. 오타쿠는 약간 설렜다. 3. 리드미를 init, public 설정 4. 완료 이제 저 초록버튼을 눌러서 각자 꾸미기!

Git & Github 2022.03.12