VPC와 관련 기술들
·
DevOps/AWS
VPC을 이해하기 위해선 VPN을 먼저 이해해야 한다.VPN 같은 네트워크상에 있지만 논리적으로 다른 네트워크인것처럼 동작하게 하는 기술 VPC VPC별로 네트워크를 구성하여 하나의 독립된 네트워크처럼 작동하게 하는 기술 각 VPC마다 다른 네트워크 설정을 부여할 수 있음 Subnet VPC의 IP를 더 작은 단위로 쪼개서 리소스를 나누어 배치하는 것(더 작은 아이피 범위와 높은 서브넷마크스를 갖음) 실제 인스턴스는 VPC 내부의 서브넷에 배치된다.private 서브넷과 public 서브넷private 서브넷인터넷에 접근이 불가능하고 VPC 내부에서만 통신이 가능한 서브넷public IP를 갖고 있지 않음public 서브넷인터넷에 접근이 가능하여 VPC 내부 서브넷 뿐만 아니라 외부 인터넷과도 ..
ECS 총정리
·
DevOps/AWS
ECS란?컨테이너화 된 어플리케이션을 배포, 관리, 확장할 수 있도록 돕는 플랫폼 ECS 실행 흐름을 요약한 아래 사진을 간략하게 설명해보겠다.ECR에 있는 Docker Image를 가져와 컨테이너화하여 Container 실행 단위인 Task에 올린다.Task 관리 단위인 Service에 Task들을 올린다.Service와 Task의 가장 상위 관리 단위인 Cluster에 Service가 관리하는 Task들을 EC2 또는 Fargate에 배치하여 컨테이너들을 실행시킨다.즉, Task는 컨테이너(들)을 의미하고, Service는 컨테이너를 유지/관리하는 역할이고, Cluster는 컨테이너들을 EC2 또는 Fargate에 배치하여 실행시키는 최상단의 관리 단위이다.Fargate란?(EC2와 비교)ECS 용어..
Fargate vs Lambda vs EC2
·
DevOps/AWS
FargateLambda vs FargateLambda 같은 완전한 서버리스 모델요청 이벤트가 들어오면 서버를 생성해서 요청 처리 후 서버 삭제이벤트 기반 동작 방식요청이 들어오면 자동으로 서버(컨테이너) 생성해서 요청 처리요청이 끝나면 서버를 자동으로 종료따라서 사용하지 않는 동안에는 비용 발생XFargateLambda처럼 필요할 때만 실행되어 요청을 처리하는 방식이 아닌 ECS의 Task를 컨테이너 단위로 실행하는 구조로써 컨테이너가 항상 실행되는 서비스 ECS Task가 실행되면 컨테이너는 계속해서 동작한다.요청이 없다고 컨테이너가 자동으로 종료되지 않고 Task를 종료하지 않는 이상 항상 컨테이너는 동작하고 있다.즉, 요청이 없어도 항상 실행되는 컨테이너 기반 서비스를 의미한다.항상 실행되고 ..
EC2 인스턴스가 갑자기 터진다면?(Swap memory)
·
DevOps/AWS
EC2를 프리티어로 사용하면 t2.micro를 사용하게 된다. t2.micro는 램이 1GB 밖에 안돼서 Spring 서버만 띄워도 메모리 부족으로 인해 서버가 멈추고 ssh 연결이 끊어지는 경우가 많다. 프리티어 인스턴스가 아니어도 Docker를 사용하면 터지는 경우도 많다. 이럴 경우 Memory Swap을 이용하면 상위 인스턴스를 사용하지 않고도 서버가 다운되는 문제를 해결할 수 있다.Swap Memory 설정가상 메모리는 하드디스크를 메모리처럼 사용하는 방식이기 때문에 속도가 매우 느려진다는 단점이 있다.그래도 더 비싼 상위 인스턴스 쓰는 것보단 나으니 ... 이정도는 감수하고 쓰자.우선 메모리 용량 별 가능한 Swap 용량이다.사용하고 있는 인스턴스에 맞게 설정해주면 된다.난 t2.micro를 ..