Cloud Infra Architecture (AWS)/AWS SAA-C03 97

AWS EC2 Auto Scaling 만들기 및 실습(1)

EC2 Auto Scaling이란? EC2 인스턴스를 자동으로 확장하고 축소하는 기능 사용자가 정의한 조정 정책에 따라 인스턴스 수가 늘어나거나 줄어든다. 서버의 로드가 증가하면 EC2 인스턴스 개수가 추가 됨 서버의 로드가 감소하면 EC2 인스턴스 개수 줄어 듬 이 경우 원하는 사용량은 3대지만 사용량이 줄면 최소 2개까지, 사용량이 증가하면 대 7대까지 자유자제로 늘었다, 줄었다 하는 것이 오토스케일링이다. EC2 Auto Scaling 구성요소 1. Auto Scaling Group EC2의 인스턴스의 그룹 2. 시작 템플릿 (런치 템플릿) EC2 서버를 시작하기 위한 AMI, 인스턴스 유형 정보를 가진 템플릿 3. 조정 옵션 (조정 정책) Auto Scaling을 실행하기 위한 조건 EC2 Aut..

AWS Network Load Balancer(NLB)란? 실습

NLB 특징은? TCP, UDP, TLS 요청을 로드 벨런싱 해야 하는 경우 사용 고도의 성능이 요구되거나 대기 시간이 낮아야 하는 앱에 적합 게임 등의 수백만의 동시 사용자 처리에 적합 (게임회사들) NLB의 경우는 고정 IP 주소 할당 가능 (ALB는 불가능) 클라이언트 IP 주소를 전달이 가능하다 (Source IP Preservation) => NLB를 통해 클라이언트 IP를 가져옴 ALB 처럼 리스너 규칙 설정이 따로 필요 없다. 리스너 프로토콜은 TCP, TCP/UDP, UDP, TLS를 사용할 수 있음 데이터 전송 보안을 위한 TLS 프로토콜 사용시 SSL/TLS 인증서를 배포해야 함 인증서는 ACM 사용 또는 클라이언트 인증서를 사용 가능 생성 실습 미리 설정한 TG - NLB 대상그룹(연..

AWS Application Load Balancer(ALB)란? 실습

ALB 특징 HTTP/HTTPS 요청을 로드 밸런싱 해야 하는 경우 사용 Web 앱 처리에 적합 (당연히 HTTP이므로) 리스너 규칙을 기반으로 라우팅 설정이 가능함 데이터 전송 보안을 위한 HTTPS 프롵오콜 사용시 SSL/TLS 인증서를 배포해야 함 인증서는 ACM (AWS Certificate Manger)사용 또는 클라이언트 인증서 사용 가능 Listener 규칙 조건을 걸어준다. (ex) 크롬 등 HTTP로 80포트로 들어오면 if 조건에 따라 그에 맞는 Target Group으로 라우팅 (트래픽전달) 한다. Host Header : 각 요청의 호스트 이름을 기반으로 라우팅 (ex) aaa.example.com 접속시 이와 연결된 Target Group으로 연결해줌) Path : 요청의 URL의..

AWS Target Group이란? 실습

대상 유형(Target Type) 1. 인스턴스 EC2 인스턴스 EC2 Auto Scaling Groups 2. IP 주소 Local VPC CIDR (Private IP대역) Public IP 주소 온프레미스에서도 가능 3, Lambda 4.Auto Scaling Group Protocols 선택 종류 ALB => HTTP, HTTPS NLB => TCP, TLS, UDP, TCP_UDP GWLB => GENEVE 상태 검사 (Health Checks) EC2가 서로 살아있는지 죽었는지 확인해야할 필요가 있는데 이것을 상태 검사로 진행 등록된 Target에게 상태 확인 메시지를 보내서 대상의 상태를 확인 속성 (Attributes) - HTTP/HTTPS 등록 취소 지연 (Deregistration d..

로드벨런서(Elastic Load Balancer)란?

Load Balancer 개요 트래픽을 분산하는 서비스 각 EC2 서버는 이중화되어 있으면 고 가용성도 신경쓸 수 있음 클라이언트가 로드벨러서가 없으면 각각의 개별 서버로 접속한다. 동일한 서버로 접속할 경우 트래픽이 과부화 될 수 있는데 ELB를 통해 해결한다. 각각의 클라이언트, 서버, SQL은 등등 ELB에 연결되어 사용된다. EC2 인스턴스, 컨테이너, IP 주소 등 여러 대상으로 자동으로 분산 가능 만일 맨위 EC2 서버를 사용하다가 장애가 발생하면 (비정상 대상) 트래픽 라우팅을 중단하고 다시 빈 EC2 서버로 다시 라우팅 ELB 종류 1. Application Load Balancer Application단에서 작동하므로 Layer 7 계층에서 작동한다. Layer7이기 때문에 주로 HTTP..

AWS 가용성과 확장성이란?

확장성 (Scalability) 확장에는 2가지 확장인 수직적 확장과 수평적 확장이 있다. 수직적 확장 자원을 추가로 추가하는 방식 (크기) EC2 인스턴스를 t2.mirco에서 t2.large로 변경하는 것 수평적 확장 노드를 추가하는 방식 EC2 인스턴스 개수를 늘리는 것 탄력성이라고도 함 (자원을 다시 안쓰면 4개에서 3개, 2개 등으로 줄일 수 있다.) 앱의 확장 방법으로 주로 사용됨(오토 스케일링) AWS에서 주로 사용함 고 가용성(High Availability)란? 지속적으로 정상 운영이 가능한 상태 (얼마나 잘 가용되고 있는지) 이중화에서 많이 사용 AZ 내에 3 - Tier 구조가 장애가 발생나면 옆에 있는 3 - Tier가 받아가고 (이중화) AZ 전체가 장애 발생시 옆의 AZ가 받아간다.

배치그룹이란?

EC2 인스턴스 배치를 구성하는 방법 3가지 유형의 배치 그룹 존재 클러스터 배치그룹 고성능 네트워크 연결로 이루어진 인스턴스 묶음 파티션 배치그룹 인스턴스 그룹을 하드웨어를 공유하지 않는 파티션 단위로 분할 분산형 배치그룹 인스턴스 그릅울 별개의 서버 랙 단위로 분할 배치그룹 - 클러스터 (Cluster) 배치그룹이란? 근접한 서버를 고속 네트워크로 연결하여 그룹화 클러스터 배치를 통해 이용자는 여러 서버를 마치 하나의 서버를 쓴 것처럼 인식 네트워크 지연시간이 매우 짧음 짧은 대기 시간이 필요한 고성능 컴퓨팅(HPC)등에 적합 배치그룹 - 파티션(Partition) 배치그룹 하드웨어를 파티션으로 그룹화 파티션끼리는 서로 다른 하드웨어 사용 (하드웨어를 공유하지 않음) 하나의 하드웨어 장애 발생시 다른..

EC2 AMI란?

Amazon Machine Image (AMI)란? OS, 앱, 서버 프로그램 설정 등이 미리 구성된 이미지 EC2 인스턴스를 시작하는데 AMI를 사용하여 EC2 시작시 OS 설치나 서버 소프트웨어 설정 등을 별도로 할 필요가 없다. AMI는 3가지 유형이 존재한다. AWS 제공 AMI AWS 마켓플레이스 AMI AWS 커스텀 AMI 운영중인 EC2인스턴스를 커스텀 AMI만들어서 동일하게 구성된 EC2 인스턴스를 구성가능하다. 이런것들... EBS 볼륨을 스냅샷을 떠놓은 후 AMI를 통해 다시 불러와서 사용할 수 있다.

탄력적 IP란? (Elastic IP)

먼저 탄력적 IP를 알기 전에 Public IP와 Private IP에 대해 알아보자 Public IP vs Private IP Public IP 인터넷 (네이버) 연결에 사용하는 IP 전세계에서 하나밖에 없는 고유의 IP Private IP 회사나 집의 (공유기) 내부에서만 사용하는 IP 직접적으로 인터넷 연결이 안되며 인터넷 게이트웨이를 통해야 한다. 다른 내부사설망이나 다른 집에서는 IP가 겹쳐도 서로 상관없다. Private IP는 다른 내부망에 어디에서나 동일한 IP가 있을 수 있다. 인터넷 게이트웨이와 WEB Server는 외부와의 통신을 해야하므로 Public IP를 가지고 유일한 IP를 가진다. 탄력적 IP (Elastic IP)란? 인스턴스 생성시 자동으로 할당 받은 Public IP는 ..

보안 그룹(Security Group)이란?

인스턴스 생성할 때 같이 보안그룹을 설정했었다. 자세히 알아보자 보안그룹이란? EC2 인스턴스에 대한 인바운드, 아웃바운드 트래픽을 제어하는 가상 방화벽 역할 EC2 인스턴스의 ENI와 연결 됨 보안 그룹은 허용 규칙만 지정 가능하고 거부 규칙은 지정할 수 없음 (허용이 아니면 모두다 거부) 보안 그룹은 연결 상태를 추적하는 상태저장 방화벽 (Stateful Firewall) 인바운드 트래픽 외부에서 EC2 인스턴스로 들어오는 트래픽 아웃바운드 트래픽 EC2인스턴스에서 외부로 나가는 트래픽 제어 규칙 트래픽 유형 (SSH, HTTP, RDP, MySQL ....) 프로토콜 (TCP, UDP ...) 포트 범위 (SSH 22, HTTP 80, HTTPS 443, MySQL 3306 ...) 리눅스는 SSH..