Cloud Infra Architecture (AWS) 205

Amazon Elastic Kubernetes Service(EKS)

AWS에서 Kubernetes를 실행하는 서비스 Kubernetes는 컨테이너 (Docker 등) 애플리케이션의 배포, 확장 및 관리를 자동화하는 시스템 배포 옵션 1) Amazon EKS : 자체 Kubernetes 컨트롤 플레인 (노드 컨트롤) 또는 노드를 설치, 운영 및 유지 관리할 필요 없이 AWS에서 관리하는 AWS 클라우드에 Kuberntes 클러스터를 배포하는 옵션 2) Amazon EKS Anywhere : 온프레미스에서 Kubernetes 클러스터를 생성하고 운영할 수 있게 해주는 배 포옵션 노드 옵션 1) EKS managed node groups : EKS에서 자동으로 EKS 클러스터의 노드 (Amazon EC2 인스턴스) 생성 및 관리 사용자가 보안 및 업데이트 등의 일부분을 설정 ..

Amazon Elastic Container Service (ECS)

Amazon Elastic Container Service (ECS) Docker 컨테이너를 지원하는 컨테이너 관리 서비스 Amazon EC2 인스턴스의 관리형 클러스터에서 애플리케이션을 손쉽게 실행 가능 ECS에서 애플리케이션 가용성을 유지 관리하고 애플리케이션 용량 요구 사항에 따라 컨테이너 규모를 확장하거나 축소 CPU 사용량, 메모리 사용량, 로드벨런서 요청수, EventBridge 이벤트, SQS Queue와 결합하여 Auto Scaling 수행 가능 Application Load Balancer 및 Network Load Balancer를 사용하여 트래픽 분산 가능 EC2 시작 유형 (EC2 Launch Type) 1) Fargate 시작 유형 서버리스 방식으로 ECS 워크로드를 호스팅 사용자..

AWS 컨테이너 서비스

Container란? OS위에 컨테이너 엔진을 올리고, 서로 영향을 주지 않는 애플리케이션들 및 이미지를 구축한다. 컨테이너는 애플리케이션 구성 라이브러리를 패키지로 묶어서 컨테이너 엔진위에서 실행하는 것 OS 환경이 바뀌어도 구성이 가능하며 각각의 컨테이너가 독립적인다. 대표적인 플랫폼은 쿠버네틱스, 도커가 있다. 마이크로 서비스를 배포하는데 주로 이용한다. 마이크로 서비스란 큰 서비스를 작은 서비스의 조합으로 운영하는 것 AWS에서는 이런 컨테이너를 제공하는 몇 서비스가 있다. AWS 컨테이너 서비스 1) Elastic Container Service (ECS) Docker 컨테이너를 배포, 관리하는 컨테이너 오케스트레이션 서비스 여러개의 컨테이너를 관리하는 서비스가 오케스트레이션 2) Amazon ..

AWS CloudFormation

AWS 인프라 세트를 수동으로 프로비저닝하면 많은 노력이 소요됨 AMI 생성, EC2 생성, 보안 그룹 적용, Auto Scaling, ALB 등의 세트를 수백 대 여러 리전에 배포 수동 작업 말고 코드를 작성하여 자동화 코드를 통해 인프라를 프로비저닝, 관리 하는 서비스가 CloudFormation (Infrastructure as Code) 코드를 통해 자동화하며 AWS 인프라 생성, 업데이트, 삭제 가능 AWS 인프라를 프로비저닝하는 비용과 시간을 절약할 수 있음 구성요소 1) Template : 인스턴스 유형, AMI ID, VPC, IP 주소등의 인프라를 구성하기 위한 설정 값이 있는 JSON 또는 YAML 형식의 텍스트 파일로 이루어진 템플릿 2) Stack : Template를 사용하여 생성..

AWS Transit Gateway 및 Data Transfer Costs

위에 Region의 VPC C는 VGW를 통해 온프레미스와 Site-to-Site로 연결되어 있다. 각각의 VPC들은 통신하기 위해 VPC Peering을 구성해야 한다. 아래 Region의 VPC D는 Site-to-Site, VPC E는 Private VIF를 통한 Direct Connect로 연결되어 있다. VPC D,E도 VPC Peering이 되어야하며 VPC B와 VPC D도 Peering이 되어야 한다. 이렇게 VPC끼리 만 1:1 Peering 구성이 가능하다. VPC A와 VPC B는 온프레미스 전송을 위해 각각 VPC에 DX나 VPN 연결을 만들어야 통신이 가능하다. VPC A(VPC C)와 VPC D는 통신되지 않는다. (VPC B를 통해 통신 불가능) VPC 끼리 모두 통신되게 하려..

AWS VPN & Direct Connect

VPN 개요 인터넷을 이용해 가상 사설망 (Virtual Private Network)을 구성하는 것 VPN 트래픽은 VPN 프로토콜로 보호 된다. Private IP를 통해 Main Office와 Branch Office를 통신하려고 한다. 각각의 라우터끼리 IPSec Tunnel를 만들어 연결해준다. 이터널안에선 Private한 통신이 가능한데 이걸 가상 사설망이라고 부른다. IPSec : Site - to - Site VPN 암호화 프로토콜이다. 노트북 클라이언트에서도 VPN 소프트웨어를 통해 Private 망으로 연결할 수있다. (TSL 프로토콜) 1) AWS VPN 연결 옵션 - Client VPN AWS 리소스와 클라이언트 PC와 연결하는 OpenVPN 기반의 VPN 서비스 Active Dir..

AWS PrivateLink

AWS PrivateLink란? VPC와 서비스간에 프라이빗 연결을 제공하는 기술 (VPC 끼리 연결은 VPC Peering) 1) VPC 엔드포인트 인터넷을 통하지 않고 AWS 서비스에 프라이빗하게 연결할 수 있는 VPC의 진입점 게이트웨이 엔드포인트 인터페이스 엔드포인트 Gateway Load Balancer 엔드포인트 2) 앤드포인트 서비스 (AWS PrivateLink) - 이름이 위와 같다. VPC 내에 있는 애플리케이션 또는 서비스 (EC2 내의 보안 서비스를 엔드포인트 서비스로 만든다.) 다른 AWS 계정의 VPC Endpoint에서 엔드포인트 서비스(AWS PrivateLink)로 연결 인터넷이 아니라 AWS 내부연결 방식으로 연결 1) VPC 엔드포인트 - 게이트웨이 엔드포인트 기존에 외..

VPC Peering이란?

VPC Peering이란? VPC 간에는 기본적으로 네트워크 통신이 되지 않는다. VPC 피어링은 두 VPC 간에 트래픽을 라우팅할 수 있도록 하기 위한 두 VPC 사이의 네트워킹 연결 VPC 피어링은 트래픽은 퍼블릭 인터넷을 통과하지 않고 프라이빗 IP 주소를 사용하여 서로 통신 VPC 피어링은 같은 리전 내에, 다른 리전 간, 다른 AWS 계정간 가능하다. VPC Peering 구성 요청자(VPC A)가 다른 VPC(VPC B)와 피어링하기 위한 요청을 생성 VPC의 소유자가 (VPC B) VPC 요청을 수락하여 피어링을 활성화 (Peering connection) 라우팅 테이블에 피어링 연결을 추가 VPC A에는 VPC B의 IP와 Peering Target을 추가한다. VPC B에도 VPC A의 ..

AWS NAT Instance and NAT Gateway

앞서 이거와 같이 설정되어 있는 상태에서 이어서 실습을 진행할 것이다. AWS Custom VPC 생성하기 Cloud 계정내에 VPC를 생성한다. (자동적으로 NACL, Routing table이 생성됨) 가용영역에 Public Subnet과 Private Subnet을 만들어준다. 라우팅 테이블을 통해 서로 연결한다. 인터넷 게이트를 만들고 Public Subnet seongduck.tistory.com 이전에 Public Subet, Private Subnet을 각각 생성했다. Public의 경우 IGW를 통해 인터넷과 통신이 되며 Private는 통신이 안된다. 하지만 Subnet간은 Routing Table을 통해 서로 통신이 가능하다. VPC 안에 있는 리소스끼리 통신이 가능한지 한 번 확인해보..

AWS NACL & Security Groups란?

앞서 이거와 같이 설정되어 있는 상태에서 이어서 실습을 진행할 것이다. AWS Custom VPC 생성하기 Cloud 계정내에 VPC를 생성한다. (자동적으로 NACL, Routing table이 생성됨) 가용영역에 Public Subnet과 Private Subnet을 만들어준다. 라우팅 테이블을 통해 서로 연결한다. 인터넷 게이트를 만들고 Public Subnet seongduck.tistory.com 서브넷의 모든 ec2를 Security 그룹으로 묶고 NACL을 거치게 된다. 모든 서버는 꼭 NACL를 거쳐 Subnet단의 보안역할을 진행한다. 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할이다. 서브넷 수준이 아니라 인스턴스 수준에서 작동한다.(EC2인스턴스의 ENI와..