[AWS] 기본 기능 정리

반응형

이번 글에서는 AWS의 기본 기능들을 정리 해보도록 하겠습니다.

전체 구조의 흐름은 아래와 같습니다.

image.png

1. Region / AZ(Availability Zone)

Region

• AWS의 모든 서비스가 위치하고 있는 물리적인 장소입니다. 
• 전 세계 주요 지역에 위치하고 있으며 Region 내부에는 가용 영역이 여러 개 있습니다.

AZ(Availability Zone)

• 가용영역이라 불리며, 데이터 센터의 단위가 됩니다.
• 가용 영역이 위치한 데이터 센터는 같은 지역 혹은 도시라 하더라도 멀리 떨어져 있습니다.

AWS에서는 EC2 가상 서버를 하나의 Region 안에서도 여러 가용 영역에 만들어서 사용할 것을 권장합니다. ELB를 사용해 같은 Region의 여러 가용 영역에 걸쳐 있는 EC2에 트래픽을 분배할 수 있습니다. 이렇게 하면 가용 영역 하나가 작동 불능이 되더라도 무 중단 서비스를 제공할 수 있습니다.

자세한 내용은 아래의 책을 참고하시길 바랍니다.

 

아마존 웹 서비스를 다루는 기술:실무에서 알아야 할 기술은 따로 있다!

COUPANG

www.coupang.com

2. EC2

image.png

• AWS에서 가장 기본적이면서 널리 쓰이는 인프라입니다.
• EC2는 인터넷에 연결된 가상 서버를 제공해줍니다.

가상 서버이기 때문에 모니터에서는 직접 연결할 수 없고 터미널 또는 원격 데스크톱 연결로 접속해야 합니다.

3. Security Group

image.png

• EC2 인스턴스에 적용할 수 있는 방화벽 설정입니다.

예를 들어 Linux 서버의 SSH 접속 포트인 22번만 여는 것은 기본이고, 여기에 접속 가능한 IP 대역까지 설정하면 공격 위협이 상당수 줄어듭니다.

4. Elastic IP

image.png

• 고정된 공인 IP를 제공해줍니다.

EC2 인스턴스를 생성하면 기본적으로 공인 IP가 부여됩니다. 하지만, 이 IP 주소는 EC2 인스턴스가 실행되고 있는 동안에만 유효하며 EC2 인스턴스가 중단되면 IP 주소는 반납됩니다. 따라서 EC2 인스턴스를 다시 실행하면 이 공인 IP는 바뀔 수 있습니다. 따라서 Elastic IP를 사용해 IP를 고정할 필요가 있습니다.

5. Key Pair

image.png

• EC2 인스턴스에 접속하기 위해 사용하는 암호화된 파일입니다.

AWS에서는 보안 문제 때문에 EC2 인스턴스에 접속할 때 ID, 비밀번호 방식을 권장하지 않습니다. 이 키 쌍은 공개 키 알고리즘을 사용합니다.

6. AMI(Amazon Machine Image)

image.png

• EC2 인스턴스를 생성하기 위한 기본 파일입니다.

AWS에서는 빈 EC2 인스턴스에 직접 OS를 설치 할 수 없습니다. 따라서 미리 OS가 설치된 AMI를 이용해 EC2 인스턴스를 생성해야 합니다. 또한, Auto Scaling 기능을 이용하기 위해선 AMI가 필요합니다.

7. ELB(Elastic Load Balancer)

image.png

• 부하 분산과 고가용성을 제공하는 서비스입니다.

한 곳에 집중되는 HTTP, TCP, SSL 트래픽을 여러 EC2 인스턴스로 분산시킵니다. 서비스가 정상적으로 가동 중인지 확인해 일부 EC2 인스턴스가 중단되더라도 트래픽을 정상 EC2 인스턴스로 보내줍니다.

8. Auto Scaling

image.png

• 트래픽이 늘어나면 자동으로 EC2 인스턴스를 생성해 서비스를 확장하는 기능입니다.

Auto Scaling 기능은 ELB와 함께 사용합니다. Auto Scaling은 생성한 EC2 인스턴스를 ELB에 연결하고, ELB는 새로 생성된 EC2 인스턴스에 트래픽을 분산시킵니다.

Auto Scaling은 Cloud Watch와 연동해 EC2 인스턴스의 CPU 사용률, 네트워크 사용량이 늘어났을 때 EC2 인스턴스를 생성하고, 줄어들면 EC2 인스턴스를 삭제합니다.

9. Cloud Watch

image.png

• AWS 리소스의 상태를 모니터링하는 서비스입니다.

모니터링 뿐만 아니라 측정치와 연계하여 다양한 액션을 사용할 수 있습니다. EC2 인스턴스가 이상이 있을 경우 알림을 받고자 할 때, 사용량이 급증했을 때 자동으로 Auto Scaling을 할 수 있습니다. 설정한 측정치에 도달하면 알림 메일을 전송하도록 알람을 생성할 수 있습니다.

10. Cloud Front

image.png

• 전 세계에 파일을 빠른 속도로 배포하는 CDN 서비스입니다.

AWS를 사용하더라도 모든 Region에 EC2 인스턴스나 S3 Bucket을 생성하는 것은 비효율적이며 비용이 많이 듭니다. 각 사용자들은 에지 로케이션(캐시 서버)에 접속해 파일을 다운받으므로 다운로드 속도가 빨라집니다.

11. ElastiCache

image.png

• 분산 인 메모리 캐시를 손쉽게 생성하고 확장할 수 있는 서비스입니다.

읽기 중심의 서비스(소셜 네트워크, 게임, 추천 엔진 등)를 제공해야 하는 환경에 적합합니다. 데이터베이스의 부하를 줄이고자 할 때, 대용량 분산 캐시 환경을 자체적으로 운영하기에는 부담이 있을 때 유용합니다.

12. S3

image.png

• 인터넷 스토리지 서비스입니다.

용량에 관계없이 파일을 저장할 수 있고 웹(HTTP)에서 파일에 접근할 수 있습니다.동적 웹 페이지(ASP, JSP)와 정적 웹 페이지가 섞여 있다면 동적 웹 페이지만 EC2에서 서비스하고 정적 웹 페이지는 S3를 이용하면 성능도 높일 수 있고 비용도 절감할 수 있습니다.

13. RDS

image.png

• 관계형 데이터베이스 RDBMS를 손쉽게 생성하고 확장할 수 있는 서비스입니다.

사용량이 늘어나면 스토리지 용량과 IOPS를 증가시켜 성능 확장이 가능합니다. 장애가 발생하면 Failover 기능을 통해 정상적인 서비스 제공하도록 구현 가능합니다. Read Replica를 이용해서 읽기 성능을 향상시킬 수 있습니다.

14. IAM(Identity Access Management)

image.png

• 사용자와 그룹을 생성하고 AWS의 각 리소스에 대해 접근 제어와 권한관리를 제공합니다.

AWS 계정 안에 IAM 그룹과 사용자를 생성해 접근제어 및 권한관리를 세분화 할 수 있습니다. 어떤 IAM 사용자는 EC2만 관리할 수 있고, 어떤 IAM 사용자는 S3의 내용을 읽을 수만 있도록 구성할 수 있습니다. 사용자별로 필요한 권한만 주기 때문에 보안성이 높아집니다.

15. Route 53

image.png

• EC2, ELB, S3, CloudFront와 연동 가능한 DNS 서비스입니다.

일반적인 DNS 서비스와 달리 Latency Based Routing, Weighted Rounded Robin, DNS Failover 등의 기능을 제공합니다.

Latency Based Routing : 현재 위치에서 지연 시간이 가장 낮은 Region의 IP 주소를 알려줍니다.
Weighted Rounded Robin : 서버 IP 주소나 도메인(ELB)마다 가중치를 부여해 트래픽을 조절합니다.
DNS Failover : 장애가 발생한 서버의 IP 주소 또는 도메인(ELB)는 알려주지 않습니다.


파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음


반응형

댓글

Designed by JB FACTORY