목록ec2 (8)
민프

MSA란 무엇이며, 왜 중요할까?MicroService Architecture는 크게 Inner Architecture와 Outer Architecture로 구분할 수 있습니다.위 그림에서 남색 부분은 Inner Architecture의 영역이고, 회색 부분은 Outer Architecture 부분입니다.1. MSA 기본 개념 (Inner Architecture) MSA는 대규모 애플리케이션을 작고 독립적인 서비스들로 분리해 배포하고 운영하는 방식입니다.Monolith vs MSA모놀리식은 하나의 커다란 앱이지만, MSA는 여러 독립 서비스의 모임독립 배포가 가능해 개발, 운영이 유연해지고, 장애도 격리 가능해짐 도메인 중심 분리비즈니스 영역(주문, 결제, 회원 등)을 기준으로 서비스 단위 구성“한 서..

이번 글에서는 API Gateway + Lambda + S3를 활용하여 사용자가 이미지를 업로드하면 Lambda가 이를 S3 버킷에 저장하는 아키텍쳐를 구축한 과정을 알려드리겠습니다 실습 과정클라이언트가 multipart/form-data 형식으로 이미지를 POST로 전송API Gateway가 요청을 받아 Lambda를 호출Lambda는 S3 버킷에 이미지를 저장저장 후 결과를 반환 (성공/실패 여부)구현 과정1. S3 버킷 생성2. Lambda 함수 구성 (Python 3.11) python에서 multipart/form-data를 받기 위하여 toolbelt-layer를 계층으로 삽입하였습니다.// Python디렉토리 생성 및 패키지 설치mkdir -p pythonpip install requests..

1. 사전 준비NCP - Server, VPC2. 공인 IP 설정Server에 적용 할 공인 IP를 생성합니다. 3. ACG 설정Server에 적용되어있는 ACG를 설정합니다.(각 포트 등..)4. Root 비밀번호 받기서버를 생성하면서 받은 pem키로 비밀번호를 받으면 됩니다.(서버 선택 -> 서버 관리 및 설정 변경 -> 관리자 비밀번호 확인) 5. VScode에서 서버 접근 (Remote-SSH)Host {서버 별명} HostName {포트포워딩에서 확인한 서버 접속용 공인 IP} Port {포트포워딩에서 확인한 서버 접속용 외부 포트} 접근 성공 6. Container Reistry 생성 방법6-1. Object Storage 이용 신청 및 버킷 생성6-2 Container Regi..

이전 포스팅에서는 CICD를 하지 않고 nestjs를 배포하는 것을 해보았습니다.https://minf.tistory.com/entry/AWSEC2-EC2%EC%97%90-Nestjs-ECR%EC%A0%81%EC%9A%A9%ED%95%B4%EB%B3%B4%EA%B8%B0#google_vignette [AWS][EC2] EC2 + Docker + ECR로 Nestjs 어플리케이션 배포하기 (feat. WARNING: The requested image's platform (linux/ar준비물 - Docker- nestjs Docker Image- IAM (AccessKey, Secret Accesskey)- ECR - EC2 과정- 로컬에서 Nestjs Docker image 생성- ECR에 PUSH- ..

준비물 - Docker- nestjs Docker Image- IAM (AccessKey, Secret Accesskey)- ECR - EC2 과정- 로컬에서 Nestjs Docker image 생성- ECR에 PUSH- EC2(ubuntu)에 적용 1. EC2(ubuntu) - Docker 설치 (SSH) sudo apt update -y sudo apt install -y docker.io sudo systemctl start docker sudo usermod -aG docker $USER 설치확인 docker --version2. EC2 - AWS CLI 설치순차적으로 진행curl "https://awscli.amazonaws.com/awscli-exe-linux-x8..

1. AWS의 구조AWS의 예시 구조를 보면 아래와 같은 구성이 되어있을 것 입니다.우리가 Github, Naver, Netflex를 이용할 때는 다양한 노드를 통해서 Public Internet을 이용해서 접근을 하게 됩니다. AWS 클라우드도 마찬가지 입니다. 이렇게 Public Internet을 이용해서 사용할 수 있는데 예외적인게 있습니다.그게바로 VPC입니다. VPC는 원칙적으로 Public Internet에서 접근이 불가능합니다.그래서 다른 AWS서비스들은 Public을 Endpoint로 접근을 하고 있습니다. 예를 들어서)EC2로 S3로 접근을 하려고 할때AWS내부에 있다고 하더라도 원칙적으로는 바로 접근이 불가능합니다.그럼 어떻게 되느냐?EC2 -> Internet Gateway -..

1. 사설 IP (Private IP)한정된 IP주소를 최대한 활용하기 위해 IP주소를 분할하고자 만든 개념IPv4기준으로 최대 IP갯수는 43억개인데, 요즘 인터넷을 사용하는 인구 대비 턱없이 부족하다.따라서 '사설망'을 구축한다.사설망사설망 내부에는 외부 인터넷 망으로 통신이 불가능한 사설 IP로 구성외부로 통신할 때는 통신 가능한 공인 IP로 나누어 사용보통 하나의 망에는 사설 IP를 부여받은 기기들과 NAT기능을 갖춘 Gateway로 구성참고로 IPv6 최대 IP의 개수는 V4의 48억개보다 많은 2^128개 이다. (2^96)배 더 많다. 2. NAT(Network Address Translation)사설 IP가 공용 IP가 통신할 수 있도록 주소를 변환해 주는 방법3가지 종류Dynamic N..

1. 왜 탄력적 IP가 필요할까?탄력적 IP는 AWS에서 제공하는 고정 된 IPv4 주소 입니다.EC2 인스턴스를 생성하면 자동으로 공용 IP가 할당되지만, 인스턴스를 재시작하게 되면 IP가 변경이 됩니다.이 경우, IP가 바뀌기 때문에 DNS 설정, 서버 접근 등에서 문제가 발생할 수 있습니다. 이 문제를 해결하기 위해서 탄력적 IP가 필요한 겁니다. 2. 적용하기2-1. 탄력적 IP 생성하기 2-2. 탄력적 IP 주소 연결하기적용하고싶은 인스턴스를 선택해서 '완료' 버튼을 누르면 적용이 완료된다. 2-3. 탄력적 IP 주소 연결 확인하기적용한 EC2 인스턴스에 접속하여 탄력적 IP 주소를 확인한다.