AWS

AWS 2장 확장성과 안정성 높은 서버 만들기

toywar94 2021. 7. 27. 00:23

AWS에서 자주 쓰이는 기능

AWS 자주 쓰는 기능

 

오늘 설명 드릴 내용은 EC2, EBS, AMI, SC(Security Group)

 

1. EC2란?

EC2 (Elastic Compute Cloud) : Amazon Web Services 상에서 안정적이며, 크기를 조정 가능한 컴퓨팅 파워를 제공하는 웹 서비스를 말한다. 이러한 가상화 서버를 '인스턴스'라고 한다. 

 

EC2 유형

EC2를 이용하는 목적에 따라 인스턴스 유형을 선택하면 된다.

 

1. 범용(M 시리즈) : 비즈니스 크리티컬 애플리케이션, 중소 규모 데이터베이스 등에 이상적이다.

2. 컴퓨팅 최적화 (C 시리즈) : 고성능 컴퓨팅, 일괄 처리, 비디오 인코딩 등에 이상적이다.

3. 스토리지 최적화 (I 시리즈) : NoSQL 데이터베이스, 분산 파일 시스템 등에 이상적이다.

4. GPU 최적화 (G 시리즈) : 기계 학습, 게임 등에 이상적이다.

5. 메모리 최적화 (R 시리즈) : 고성능 데이터베이스, 실시간 빅데이터 분석 등에 이상적이다.

 

t2.micro : AWS 일부 프리 티어 / 750시간 사용 가능

 

ex) m5.2xlarge

m 시리즈 Instance class

5 : generation (AWS improves them over tiem)

2xlarge : 인스턴스 크기

EC2 구매 옵션

1. 온디맨드 인스턴스(On-Demand) : 실행하는 인스턴스에 따라 시간 또는 초당 컴퓨팅 파워로 측정된 가격을 지불.

 - 장기적인 수요 예측이 힘들거나 유연하게 EC2를 사용하고 싶을 때

 - 사용한 만큼 지불

  ex) 만약 1년을 사용하려고 했는데 6개월만 사용했을 때.

 

온디맨드가 적합한 경우

- 선결제 금액이나 장기 약정 없이 저렴하고 유연하게 ec2 사용하기 원하는 사용자

- 단기의 갑작스럽거나 에측할 수 없는 워크로드가 있으며, 중단되어서는 안되는 애플리케이션

- ec2에서 처음으로 개발 or 시험 중인 애플리케이션

 

2. 예약 인스턴스(Reserved) : 미리 일정 기간 약정해서 쓰는 방식.

 - 1년 or 3년 예약, 온디맨드보다 75% 저렴

1년 부분, 1년 전체

3년 부분, 3년 전체

가장 싼 가격은 3년 전체

선불 결제 or 매월 결제 있는데 선불 결제가 더 할인이 크다

 

예약 인스턴스가 적합한 경우

- 수요가 꾸준한 애플리케이션

- 예약 용량이 필요할 수 있는 애플리케이션

- 총 컨퓨팅 비용을 절감하기 위해 1년 or 3년 동안 ec2 약정할 수 있는 고객

 

3. 스팟 인스턴스(Spot) : 경매 형식으로 시장에 남는 인스턴스를 저렴하게 구매해서 쓰는 방식.

 - 최대 90% 저렴하지만, 내가 제시한 가격보다 높아지면 중단됨.

 - 잠깐 쓰기엔 좋지

 내가 설정한 가격이 초과할 경우 두가지 옵션이 있음.

 - 2분 유예

 

스팟 인스턴스가 적합한 경우

- 시작 및 종료 시간이 자유로운 애플리케이션

- 컴퓨팅 가격이 매우 저렴해야만 수익이 나는 애플리케이션

- 대량의 서버 용량 추가로 긴급히 컴퓨팅 파워가 필요한 사용자

 

스팟 인스턴스 종료 하는 법?

두가지 요청이 있음

1. 스팟 인스턴스에 대한 일회성 요청

 - 현장 요청이 완료되면 즉시 인스턴스가 시작되고 스팟 인스턴스는 종료된다.

2. 사후 인스턴스에 대한 지속적 요청

 

 

4. 전용 인스턴스(Dedicated) : 실제 물리적인 서버를 임대하는 방식. AWS의 데이터 센터에서 전체 서버를 임대.

 

-인스턴스당 요금을 청구

- 자동 인스턴스 배치

 

5. (전용 호스트?)

 - 호스트당 요금 청구

 - 많은 엑세스 권한을 제공한다.

 - 서버 바운드 소프트웨어 라이센스

* Spot Fleets

스팟 인스턴스를 묶어서 요금을 절약하는?

-가격이 가장 저렴하다

-스팟 

 

2. EBS(Elastic Block Storage)

EC2에 연결되는 Block Level의 스토리지 서비스.

서버에 장착되는 서버용 하드디스크라고 생각하면 쉽습니다.

 

EBS 볼륨 유형

EC2 구성 목적에 따라 EBS 유형 중 하나를 선택하면 된다.

1. 범용 SSD

 - API 이름 : gp2

2. 프로비저닝된 IOPS

 - API 이름 : io1

3. 처리량 최적화 HDD

 - API 이름 : st1

4. 콜드 HDD

 - API 이름 : sc1

5. 마그네틱

 - API 이름 : standard

 

EBS 스냅샷 

EBS 스냅샷 기능은 EBS 볼륨의 데이터를 스냅샷으로 만들어 Amason S3에 백업 및 보관할 수 있는 기능이다.

백업받은 스냅샷으로 다시 EBS 볼륨을 생성 또는 EC2로 연결하여 데이터를 복원하는 작업을 할 수 있다.

 

*스냅샷 : 파일 or 이미지로 저장하는 기술 -> 유실된 데이터 복원과 일정 시점 상태로 데이터 복원 가능

AMI(Amason Machine Image)

EC2 인스턴스 생성에 필요한 모든 소프트 웨어 정보를 담고 있는 템플릿 이미지.

이미지 생성하는 방법(AMI)

OS와 Application을 담고 있음.

SG (Security Group)

보안 그룹은 인스턴스에 대한 인바운드, 아웃바운드에 네트워크 트래픽을 제어하는 가상의 방화벽 역할을 수행한다.

 

*인바운드 : 외부에서 인스턴스로 들어오는 요청

*아웃바운드 : 내부 인스턴스에서 외부로 나가는 요청

 

0.0.0.0/0 : IPv4

::/0 : IPv6

 

1. 인스턴스당 최대 5개의 보안 그룹을 할당할 수 있다.

2. 네트워크 트래픽에 대한 '허용'만 가능하며, '차단'은 설정할 수 없다.

 -  차단 기능을 적용하기 위해서는 VPC의 기능 중 하나인 네트워크 ACL(Network ACL)을 통해 서브넷 수준에서 네트워크의 흐름을 제어할 수 있다.

3. 아웃 바운드 규칙은 기본적으로 모든 규칙을 허용한다.

 

 

기본포트

(HTTP : 80,  HTTPS : 443,  RDP :3389 PostgreSQL : 5432)

 

*Elastic IP

ENI(Elastic Network Interface)

ENI에 달린 public ip가 계속 변경됨.

EC2를 stop했다가 running하면 ip가 변경되는데 이것을 해결하는게 Elastic ip

 

 

 

 

------------------------------------------------------------------------------------------------------------------------------END

 

IPv4 vs IPv6

IPv4 :

ex) 210.111.65.224

총 4칸으로 구성되어있는데 한칸당 226가지의 경우의 수, 즉 2의 8승을 표현할 수 있다.

비트로 표현하면 칸당 8비트 총 4칸 8*4 = 32비트

------------------------

인스턴스 구성(옵션 알아보기)

 

어떤 서버를 선택하고 해당 서버가 어떤 성능으로 운영될지 선택했다면

이제 해당 서버가 클라우드 환경에서 어떻게 운영되고 어떤 네트워크를 가질지 선택하는 옵션이다.

구매 옵션(스팟 인스턴스 요청 Click)

1. 인스턴스 개수

인스턴스를 몇 대 운영할지에 대한 옵션.

scailling과 연관 있음(아직 공부 안 했으니 다음에 연관 지어 작성)

 

2. 구매 옵션

*위에 스팟 인스턴스 참고

 

3. 네트워크

Amazon에서는 VPC라는 가상 네트워크 환경을 사용자에게 제공하고 있음.

처음에 별도 생성이 없다고 기본 값이 제공됨.

 

여러 프로젝트를 구상하고 별도의 네트워크로 서비스할 것이라면, 새로운 VPC를 생성하는 것이 좋음.

 

4. 서브넷

운영 중인 서비스 중에는 외부에 노출시킬 서비스와 그렇지 않은 서비스가 있을 수 있음.

이를 위해서 AWS에서는 public, non-public 네트워크를 구성하고 지원해주는 역할을 서브넷이 한다.

(bastion server / 로드 밸런서 설정 등을 통해 접근이 가능..?)

(bastion server 알아보기) 

 

5. 퍼블릭 IP 자동 할당

AWS에서 자동으로 퍼블릭한 IP를 제공할지를 선택.

만약 자동 할당으로 설정하면 AWS에서 퍼블릭 IP를 할당해주고 DNS 주소도 제공해줌.

하지만, 자동 할당하면 ec2인스턴스가 종료되었다가 재시작할 시 새로운 DNS 주소가 할당될 수 있음.

 

* 필요 없는 인스턴스라면 상관없지만 그렇지 않은 경우 위험하다.

 

6. 용량 예약(일단 생략)

7. IAM 역할

 

8. 종료 방식

중지/종료

 

중지 : 인스턴스를 중지하여 추후 필요시 다시 인스턴스를 재가동할 때에 사용한다.

종료 : 해당 인스턴스를 더 이상 구동하지 못하도록 '제거'

 

9. 모니터링

AWS에서는 거의 모든 서비스들에 대한 모니터링을 제공해주며 이 모니터링 서비스는 CLoudWatch를 통해 제공.

 

10. 테넌시

AWS는 클라우드 서비스로 하나의 물리 자원을 여러 자원이 공유할 수 있음.

하지만, 이 테넌시를 설정하면 물리적으로 단일 인스턴스 환경을 구축할 수 있음.

(자세한 건 나중에.)

 

11. Elastic Inference

몰라도 될 듯.

 

고급 세부 정부 (나중에)

 

사용자 데이터 : ec2가 띄워질 때 해당 스크립트는 한 번만 실행되고 다시는 실행되지 않음

ex) 여러개의 인스턴스를 띄울 때 웹서버를 다운 받으려고 하면 한개씩 입력해줘야하는데 이것을 사용하면 자동으로 처리된서 편리함

 

 

사진 자료 : 

유튜브 : AWS 강의실

https://www.youtube.com/channel/UCpDxKxars7BHR3owaNRctaQ