AWS- Amazon Web Services
AWS - Amazon Web Services
AWS- Amazon Web Services 의 줄임말로 아마존에서 제공하는 클라우드 서비스 이다.
클라우드 서비스란 다양한 컴퓨팅 자원을 온디맨드로 사용할 수 있는 서비스이기 때문에 AWS 사용자는 직접 물리적인 서버 장비를 구입하거나 임대하여 설치할 필요없이 원격으로 손쉽고 빠르게 서버를 구축할 수 있다.
아마존에서 이런 클라우드 서비스 플랫폼을 처음부터 만들 생각을 하고 있던 것은 아니었다. 인터넷 쇼핑몰을 운영하던 아마존은 늘어난 트래픽과 높아진 주문량을 감당하다보니 자연스럽게 굉장히 뛰어난 수준의 내부 인프라 시스템을 구축하게 되었고 컴퓨팅, 스토리지, 데이터베이스 등 운영 서버에 필요한 인프라를 누구보다 안정적이고, 규모를 키울 수 있으면서도, 저렴하게 운영할 수 있는 능력을 갖게 되었다. 아마존은 이러한 능력을 가지고 본인들의 쇼핑몰 하나에만 제공하기보다 전세계 모든 회사를 대상으로 제공하자는 생각을 하게 되었고 결국 이 인프라를 누구나 쉽게 사용할 수 있게 만들어 다른 회사에 돈을 받고 서비스를 하며 AWS 가 탄생 하게 되었다.
AWS 를 사용하는 이유
[클라우드 플랫폼 서비스에 대한 매직 쿼트런트]
클라우드 서비스라는 것을 아마존이라는 회사에서도 제공할 뿐 전 세계에는 이와 같은 수많은 클라우드 서비스 프로바이더가 있다.
클라우드 컴퓨팅 시장에는 계속해서 새로운 프로바이더의 탄생과 동시에 매년 빠른 속도의 성장을 보이고 있으며 점점 더 모든 산업의 기업이 클라우드에 대한 의존성을 그만큼 확대하고 있다. AWS 는 이러한 클라우드 마켓의 선구자이자 리더이다.
아마존 웹서비스의 서비스 지역은 크게 Regions, Availability Zones, Edge location 으로 나눌 수 있다.
Regions
리전이라는 개념은 AWS 가 전 세계에서 데이터 센터를 클러스터링하는 기준이 되는 물리적 위치를 리전이라고 한다. 쉽게 말해 각각이 완전히 독립적인 개별 지리 영역이다.
사용자와 리전이 가까울수록 네트워크 지연을 최소화 할 수 있다. 그래서 실제 서비스 사용자와 가장 가까운 리전을 선택하여 그 리전의 클라우드 인프라를 사용하는 것이 일반적이다. AWS에서 제공하는 다양한 서비스들은 대부분 리전을 기반으로 제공되기 때문에 사용하고자 하는 서비스 (컴퓨팅, 스토리지, 데이터베이스 등 ) 특정 리전에서 제공되는지를 미리 확인할 필요가 있다.
Availability Zones
가용 영역은 리전안에 존재하는 데이터 센터의 논리적인 그룹을 의미한다. 리전 내에 격리된 위치를 말한다. 각 가용 영역은 물리적으로는 분리되어 있지만 리전들보다 빠르게 통신할 수 있으며 서비스 결합도 또한 높다.
복수의 가용 영역은 동일한 리전 내에 있더라도 물리적으로는 격리되어 있으므로 자연재해 등에 의한 피해를 최소화 하면서도 네트워크 링크를 통해 논리적으로 연결되어 한 곳에서 장애가 발생하더라도 다른 곳으로 인스턴스 주소를 매핑함으로써 문제를 커버할 수 있다.
사용자는 여러 가용 영역에 걸쳐 서비스를 배치해 내결함성을 한층 더 강화한 서비스를 구성하고 제공할 수 있다.
Edge Location
엣지 로케이션은 AWS 의 CDN (Content Delivery Network) 서비스인 CloudFront 의 캐싱 콘텐츠가 위치하는 곳이다. 엣지 로케이션 의 경우 CloudFront 만을 위한 공간이라 볼 수 있다. CDN 은 인터넷상에 콘텐츠를 캐싱하여 좀 더 빠르게 사용자에게 전달 할 수 있게 도와준다.CDN 엣지가 사용자 근처에 있을수록 더욱 빠른 전달을 받을 수 있기에 리전과 별도로 엣지 로케이션은 훨씬 더 많이 전세계 주요 도시 곳곳에 분포 되어 있다.
AWS 의 주요 서비스 및 개념
AWS 에는 앞서 언급한 컴퓨팅, 스토리지, 데이터베이스를 포함하여 이외에도 수많은 종류의 서비스를 제공하는 플랫폼이다.
EC2
- EC2 는 Elastic Compute Cloud 의 약자로 AWS 를 대표하는 컴퓨팅 서비스이다. 실제 클라우드 컴퓨터를 인스턴스화 하여 제공하는 서비스이고, 사용자는 이를 통해 단순 클릭 몇번을 통해 쉽게 사양을 고르고 원하는 시간만큼 EC2 인스턴스를 생성해서 해당 서버로 API 를 배포할 수 있다.
RDS
- RDS 는 Relational Database Service 약자로 클라우드에서 간편하게 데이터베이스를 설치, 운영 및 확장할 수 있는 AWSㅇ 의 대표적인 서비스 중 하나 이다.
RDS 는 EC2 와 마찬가지로 클라우드 서비스이므로 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 즉시 사용 할 수 있는 상태로 미리 준비해두는 것을 말하는 하드웨어 프로비저닝에 더해 설정, 백업과 같은 시간 소모적인 데이터베이스 관리 데스크를 제거하여 훨/씬 효율적으로 운영할 수 있다.
S3
- S3 는 Simple Storage Service 의 약자로 이름 그대로 파일을 쉽게 저장할 수 있는 공간을 제공하는 서비스이다.
파일을 저장할 수 있을 뿐만이 아니라 파일마다 고유 주소를 부여해주기 때문에 S3 에 저장한 파일을 웹상에서 쉽게 읽어들일 수 있다.
S3 는 다양한 부가 기능들을 가지고 있지만, 주로 사이트상의 이미지들을 저장하고 사이트에서 읽어 들여 랜더링 해주는데 사용된다.
VPC
- VPC 는 Virtual Private Cloud 의 약자로 클라우드 환경을 계정 별로 독립된 네트워크 환경을 구성할 수 있게 도와주는 서비스이다. 어떤 리소스라도 논리적으로 분리된 퍼블릭과 프라이빗 영역에 격리할 수 있으며, 사용자가 네트워크 환경 설정에 대한 완전한 통제권을 가질 수 있다.
사용자가 VPC 를 통해 만든 네트워크에서 자체 IP 주소, 자체 IP 범위, 퍼블릭 및 프라이빗 서브넷, 라우트 테이블, 네트워크 게이트웨이 등 모든 기능을 활용할 수 있는 것을 의미한다.
CloudFront
- CloudFront 는 AWS 에서 제공하는 CDN 서비스 이다.
사용자로부터 요청이 발생하면 엣지 서버는 요청이 발생한 데이터에 대하여 캐싱 여부를 판단하고, 만약 사요아좌 근접한 엣지 서버중 캐싱 데이터가 존재한다면 요청에 맞는 데이터를 응답하고 요청에 적합한 데이터가 캐싱되어 있지 않다면 오리진 서버로 요청이 포워딩 된다.
Route 53
- Route 53 은 AWS 의 DNS 서비스 이다. 가용성과 확장성이 뛰어나고 AWS 인프라의 각종 네트워크를 제어 할 수 있으며, 도메인 등록, DNS 라우팅, 상태 확인과 같은 주요 기능들을 간편하게 사용할 수 있다. AWS 내의 다른 서비스들과 호환성이 뛰어나 연동이 잘 된다는 장점이 있다.
ELB
- ELB 는 Elastic Load Balancer 의 약자로 이름 그대로 로드 밸런서를 제공하는 서비스 이다. 로드 밸런서는 서버로 들어오는 높은 애플리케이션 트래픽을 여러 대상에 적절하게 , 자동으로 분산시켜줌으로써 안정적으로 서버를 운영 할 수 있게 도와준다.
초기 AWS 계정 생성시 해당 계정의 모든 AWS 서비스 및 리소스에 대해 완전한 액세스 권한이 있는 루트 사용자로 시작한다. 그러나 AWS 에서는 관리와 같은 일상적인 작업조차도 루트 계정으로 하지 않는 것을 권장하고 있다.
IAM 계정이 없다면 AWS 루트 계정 자체가 모든 서비스에 대하 ㄴ권한이 있기에 보안상 매우 취약하기 때문이다. 따라서 IAM 계정을 생성해서 각각 필요한 권한만 갖도록 설정 할 수 있고 이렇게 만들어진 IAM 게정은 access key 를 개별적으로 관리 할 수 있기 때문에 보안성이 높아진다.
정리
-
AWS 란 Amazon Web Services 의 줄임말로 아마존에서 제공하는 클라우드 서비스 이다.
-
AWS 는 클라우드 컴퓨팅의 특징과 장점을 그대로, 혹은 그 이상으로 갖고 있다.
-
AWS 의 서비스 지역은 크게 리전, 가용영역, 엣지로케이션 으로 나눌 수 있다.
-
EC2 는 클라우드 컴퓨터를 인스턴스화하여 제공하는 서비스이고, 이를 통해 단순 클릭 몇번을 통해 쉽게 EC2 인스턴스를 생성해서 해당 서버로 API 를 배포할 수 있다.
-
RDS 는 클라우드에서 간편하게 데이터베이스를 설치, 운영 및 확장할 수 있게 하는 서비스이다.
-
S3 는 파일을 쉽게 저장할 수 있는 공간을 제공하는 서비스 이다.
-
VPC 는 계정 별로 독립된 네트워크 환경을 구성할 수 있게 도와주는 서비스이며 이를 통해 데이터 센터에서 직접 네트워크 환경을 만드는 것과 같이 클라우드 환경에서도 네트워크를 구축 할 수 있다.
-
CloudFront 는 글로벌하게 구축되어 있는 엣지 로케이션을 기반으로 CDN 기능을 제공하는 서비스 이다.
-
ELB 는 추가 보안 옵션을 제공할 수 있고 고가용성 및 단력성을 갖춘 로드 밸런싱 서비스 이다.
-
IAM 은 AWS 리소스에 대해 개별적으로 접근을 제어하거나 권한을 가지도록 계정 또는 그룹을 생성 및 관리하는 서비스 이다.