Amazon Web Service

이진경·2023년 1월 15일
post-thumbnail

✅ AWS란?

Amazon Web Services의 줄임말로 아마존에서 제공하는 클라우드 서비스이다. 클라우드 서비스란 다양한 컴퓨팅 자원을 온디맨드로 사용할 수 있는 서비스이기에 AWS 사용자는 직접 물리적인 서버 장비를 구입하거나 임대하여 설치할 필요없이 원격으로 손쉽고 빠르게 서버를 구축할 수 있다.

✍️ AWS를 사용하는 이유

  • 기업에서 기존에 갖고 있던 프로그래밍 모델, OS, 데이터베이스 및 아키텍쳐를 사용할 수 있게 지원함과 더불어 다양한 비즈니스 요구에 맞게 아키텍쳐를 혼합하고 구성할 수 있는 뛰어난 유연성을 갖고 있다.
  • 고객의 요구에 맞추면서도 비용을 관리하기 위해 자체 애플리케이션에 AWS리소스를 신속하게 추가하고 제거할 수 있는 확장성탄력성을 갖고 있다.
  • 보안 모범 사례에 따라 서비스를 구축하고 서비스에 적절한 보안 기능을 도입하며 해당 보안 기능의 사용법을 문서화하여 뛰어난 보안성을 제공해준다.
  • downtime(서비스를 이용할 수 없는 시간)이 매우 적다는 안정성을 보장한다.

✅ AWS 글로벌 인프라

아마존 웹 서비스의 서비스 지역은 크게 리전(Regions), 가용 영역(Availability Zones), 엣지 로케이션(Edge Location)으로 나눌 수 있다.

1️⃣ Regions

AWS가 전 세계에서 데이터 센터를 클러스터링하는 기준이 되는 물리적 위치를 기전이라고 한다. 쉽게 말해 각각이 완전히 독립적인 개별 지리 영역이다.

사용자와 리전이 가까울수록 네트워크 지연을 최소화 할 수 있다. 실제 서비스 사용자와 가장 가까운 리전을 선택하여 그 리전의 클라우드 인프라를 사용하는게 일반적이다. AWS에서 제공하는 다양한 서비스들은 대부분 리전을 기반으로 제공되기때문에 사용하고자하는 서비스가 특정 리전에서 제공되는지를 미리 확인할 필요가 있다.

2️⃣ Availability Zones

가용영역은 라전안에 존재하는 데이터 센터의 논리적인 그룹을 의미한다. 각 가용 영역은 물리적으로는 분리되어 있지만 리전들보다 빠르게 통신할 수 있으며 서비스 결합도 또 한 높다.

복수의 가용 영역은 동일한 리전 내에 있더라고 물리적으로는 격리되어 있으므로 자연재해 등에 의한 피해를 최소화 하면서도 네트워크 링크를 통해 논리적으로 연결되어 한 곳에서 장애가 발생하더라고 다른 곳으로 인스턴스 주소를 매핑함으로써 문제를 커버할 수 있다.

사용자는 여러 가용 영역에 걸쳐 서비스를 배치해 내결함성을 한층 더 강화한 서비스를 구성하고 제공할 수 있다.

3️⃣ Edge Location

엣지 로케이션은 AWS의 CDN(Content Delivery Network) 서비스인 CloudFront의 캐싱 콘텐츠가 위치하는 곳이다. 엣지로케이션의 경우 CloudFront 만을 위한 공간이다.

CDN은 인터넷상에 콘텐츠를 캐싱하여 좀 더 빠르게 사용자에게 전달 할 수 있게 도와준다. CDN엣지가 사용자 근처에 있을수록 더욱 빠른 전달을 받을 수 있기에 리전과 별도로 엣지 로케이션을 더 많이 전세계 주요 도시에 분포되어 있다.


✅ AWS의 주요 서비스 및 개념

AWS에는 컴퓨팅, 스토리지, 데이터베이스를 포함하여 이외에도 수많은 종류의 서비스를 제공하는 플랫폼이다. 그 중에서도 특히 자주 쓰이고 중요하다고 볼 수 있는 몇가지 주요 서비스와 개념이 있다.

1️⃣ EC2

Elastic Compute Cloud의 약자로 AWS를 대표하는 클라우드 컴퓨팅 서비스이다.
실제 클라우드 컴퓨터를 인스턴스화하여 제공하는 서비스이고, 사용자는 이를 통해 단순 클릭 몇번을 통해 쉽게 사양을 고르고 원하는 시간만큼 EC2 인스턴스를 생성해 해당 서버로 API를 배포할 수 있다. 장점은 아래와 같다.

EC2는 운영서버에 필요한 대부분의 OS를 지원하고 사용목적에 맞는 수십가지 사양들을 제공한다. 또한 거의 모든 작업이 API화가 되어 있어 특히 트래픽 부하가 걸리면 인스턴스를 자동으로 늘리고 반대의 경우에는 줄이는 Auto Scaling 서비스를 이용할 수 있다.

2️⃣ RDS

Relational DAtabase Service의 약자로 클라우드에서 간편하게 데이터 베이스를 설치, 운영 및 확장할 수 있닫 서비스이다.

사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 즉시 사용할 수 있는 상태로 미리 준비해두는 것을 말하는 하드웨어 프로비저닝에 더해 설정, 백업과 같은 시간 소모적인 데이터베이스 관리 테스트를 제거하여 훨씬 효율적으로 운영할 수 있다.

사용자가 직접 서버를 생성해서 DB를 설치하거나 설정하고 관리하지 않아도 되므로 비용적인 측면에서도 효율적인 서비스이다.

3️⃣ S3

Simple Storage Service의 약자로 파일을 쉽게 저장할 수 있는 공간을 제공하는 서비스이다. 파일마다 고유 주소를 부여해주기때문에 S3에서 저장한 파일을 웹상에서 쉽게 읽을 수 있다.
주로 사이트상의 이미지들을 저장하고 사이트에서 읽어들여 렌더링 해주는데 사용된다.

4️⃣ VPC

Virtual Private Cloud의 약자로 클라우드 환경을 계정 별로 독립된 네트워크 환경을 구성할 수 있게 도와주는 서비스이다. 어떠한 리소스라도 분리된 퍼블릭과 프라이빗 영역에 격리할 수 있게 해주며 사용자가 네트워크 환경 설정에 대한 통제권을 가질 수 있다.

즉, VPN을 활용하면 온프레미스 방식으로 데이터 센터에서 직접 네트워크 환경을 만드는 것과 같이 클라우드 환경에서도 네트워크를 구축할 수 있다.

5️⃣ CloudFront

AWS에서 제공하는 CDN서비스이다.
많은 수의 엣지 로케이션을 기반으로 CloundFront라는 CDN서비스를 제공하고 있으며 사용자가 콘텐츠를 요청하면 지연시간이 가장 낮은 엣지 로케이션으로 라우팅하여 빠르고 뛰어난 성능을 보여준다.

6️⃣ Route 53

AWS의 DNS 서비스이다.

💡 DNS란 사람이 읽을 수 있는 도메인 이름을 머신이 읽을 수 있는 IP주소로 변환해주는 역할을 한다.

Route 53은 가용성과 확장성이 뛰어나고 AWS 인프라의 각종 네트워크를 제어할 수 있으며, 도메인 등록, DNS라우팅, 상태 확인과 같은 주요 기능들을 간편하게 사용할 수 있다.

7️⃣ ELB

Elastic Load Balancer의 약자로 이름 그대로 로드 밸런서를 제공하는 서비스이다.
로드 밸런서의 기능에 더해 여러 보안 옵션을 제공할 수 있고, 여러 애플리케이션 서버의 사용률에 따라 자동으로 추가되거나 제거되는 고가용성 및 탄력성을 갖추고 있다.
트래픽을 라우팅할 여러 대상들이 정상으로 구동되는 상태인지 확인 할 수 있으며 모니터링 및 로깅의 기능도 있다.

8️⃣ IAM

AWS의 리소스에 대해 개별적으로 접근제어를 하거나 권한을 가지도록 계정 또는 그룹을 생성 및 관리하는 서비스이다.
IAM 계정이 없다면 AWS 루트 계정 자체가 모든 서비스에 대한 권한이 있기에 보안상 매우 취약하기 때문이다. 따라서 IAM 계정을 생성해서 각각 필요한 권한만 갖도록 설정할 수 있고 이렇게 만들어진 IAM 계정은 access key를 개별적으로 관리할 수 있기 때문에 보안성이 높아진다.

profile
멋찐 프론트엔드 개발자가 되자!

0개의 댓글