[AWS] 전체서비스 Overview — 1

Harry The Great
해리의 유목코딩
10 min readJan 15, 2019

본 내용은 AWS 서비스에 어떤것들이 있는지 짤막히 훑어(…?)보는 시간으로 만들어보았습니다. 컴퓨팅 ~ 관리 및 거버넌스까지 정리되었으며 1편이라고 하지만 생각보다 공부하며 정리하는데 시간이 너무많이 소요되여… 2편은 추후에 가능할때 다시한번 정리해보겠습니다. 😖😖

컴퓨팅관련 서비스

Elastic Cloud Computer(EC2)

AWS를 가장 대표하는 서비스로 가상서버를 클라우드에 몇분만에 올릴 수 있게 해주며 OS를 포함한 Application 계층 전체를 관리할 수 있는 컴퓨팅자원(인스턴스)를 제공하는 서비스입니다.

EC2 Auto Scalling

EC2를 모니터랑하며 트래픽이 몰리거나 더 많은 컴퓨팅 파워가 필요할경우 용량을 자동으로 조절해주는 서비스입니다.

Elastic Container Services

Docker를 이용한 컨테이너의 버전관리 서버배포등을 손쉽게 설정해주는 서비스입니다.

Ealstic Container Registry

도커이미지 프라이빗 저장소 서비스입니다.

Lightsail

클릭 몇번만으로 EBS,VPC,EC2,RDS등의 모든 서비스를 구축해주며 워드프레스와같은 사이트도 정말 간단히 구축할 수 있습니다. 하지만 제약이 많기때문에 실습용으로만 적합합니다.

Batch

수백 수천대의 AWS 인스턴스 관리를 손쉽게하도록 도와주는 서비스입니다. 쉽게 수천대의 인스턴스들의 세팅을 동시에 할 수 있기때문에 대용량 병렬처리에 적합합니다.

Elastic Beanstalk

런타임과 소스코드를 업로드하는것만으로 가장 빠르게 서버를 구성할 수 있도록 돕는 서비스입니다. 프로비저닝 로드밸런싱 오토스케일링이 자동으로 처리되며 개발서버구축이나 데모버전용도에 좋습니다.

AWS Fargate

EC2없이 Docker Container 서비스를 구동할 수 있게 해주는 서비스입니다. 단점은 많이 비쌉니다.

AWS Lambda

OS나 런타임의 설치없이 소스코드만으로 컴퓨팅을 가능하게하며 이벤트 드리븐 개발방식으로 코드 이외에 모든것을 완전 관리해주는 서비스입니다. 서버가 필요없기때문에 흔히 서버리스 서비스라고 이야기합니다.

AWS Serverless Application Repository

서버리스 어플리케이션의 관리형 저장소로 중복되는 코드들의 재사용성을 돕는 저장소입니다.

AWS Layer

서버리스에서 커스텀 런타임을 사용할수있도록 도와주고 중복되는 패키지들을 관리할 수 있게 도와주는 서비스입니다.

Elastic Load Balancing

트래픽이 몰려 더 많은 Ec2가 생겨났을때 트래픽이 새로 생긴 인스턴스로도 맵핑될 수 있도록 도와줍니다. 예를들어 EC2(또는 컨테이너,람다)가 오토스케일링되거나 다수의 EC2를 운영할때 네트워크를 자동으로 분산시켜줍니다.

Storage

Simple Storage Service(S3)

가장 오래된 AWS 서비스중 하나로 엄청난 내구성과 가용성을 자랑하며 이미지,동영상,오디오 파일과 같은 정적파일들을 용이하게 관리하도록 돕는 스토리지서비스입니다. 또한 보안설정이나 백업등을 매우 쉽게 관리할 수 있습니다.

Elastic Block Store(EBS)

EC2를 위한 스토리지 저장소로 간단히 이야기하여 EC2의 하디디스크와 같은 역활을하며 백업이나 복원을 매우 쉽게 할 수 있도록 돕습니다.

Elastic File System

다수의 EC2 인스턴스가 하나의 파일스토리지를 참조할 수 있도록 해주는 스토리지 서비스입니다. 대량 병렬 처리에 최적화되어있기때문에 다수의 컨테이너들이 하나의 공통된 참조공간이 필요할때 매우 유용합니다.

Glacier

S3와 비슷한 스토리지 서비스지만 S3에 비해 저장요금이 저렴하고 트래픽요금은 비싸 백업데이터처럼 사용빈도가 낮은 데이터의 보관에 적합한 스토리지 서비스입니다.

AWS Storage Gateway

기존에 운영하던 온프로미스환경의 데이터들을 클라우드로 옮길필요 없이 AWS 클라우드와 연결하여 마치 클라우드 자원처럼 사용할 수 있도록 도와주는 게이트웨이 서비스입니다.

Snowball

페타바이트 규모의 데이터를 클라우드 환경으로 옮기기위해 AWS에서 고객사로 Snowball 디바이스를 배송합니다.

Snowmobile

스노우볼 서비스로도 감당하지 못할정도의 데이터면 트럭을 보내주는 서비스입니다.(….)

Database

Amazon Aurora

Mysql이나 PostgreSQL과 호환되는 클라우드 관계형 데이터베이스 서비스로 AWS에서 직접 클라우드에 적합하게 엔진을 만들어 여타 다른 AWS의 관계형 데이터베이스보다 가격이 저렴합니다.

RDS

앞선 오로라가 AWS의 커스텀 엔진이였던데 반해 RDS는 시중에서 많이 사용되는 엔진들을 제공합니다.(Mysql, MariaDB, Oracle, PostgreSql 등등) AWS에서 가장 인기있는 데이터베이스 서비스로 시간을 많이잡아먹는 관리작업이나 백업등을 손쉽게 도와주며 모니터링을 매우쉽게 할 수 있도록 돕습니다.

DyanmoDB

완전관리형 클라우드 스토리지기반의 NoSQL데이터베이스입니다. 서버를 관리할 필요가 없으며 API 기반의 데이터베이스이기때문에 람다와 궁합이 잘 맞습니다.

Ducoument Database

MongoDB와 호환되는 NoSQL 데이터베이스 서비스입니다. 가장 따끈따끈한 서비스중 하나입니다.

Elastic Cache

인메모리 데이터베이스 서비스로 Redis나 Memcached와 같은 메모리 데이터 스토어를 제공합니다. 처리량이 많고 지연시간이 짧은 데이터들을 처리하는데 유용하며 RDS에 트랜잭션이 많다면 RDS와 연동하여 Write-RDS / Read-Memcached(Elastic Search)와 같이 분리하여 인프라를 구축할 수 있습니다.

Redshift

데이터웨어하우스 서비스로 페타바이트 이상의 데이터를 저렴한 비용에 관리하고 쿼리를 질의할 수 있도록 해주는 서비스입니다. 구글클라우드의 유명한 빅쿼리 서비스와 유사합니다.

Neptune

완전관리형 그래프 데이터베이스 서비스입니다. 그래프 데이터베이스란 기존 관계형 데이터베이스가 열과 행으로 데이터를 저장하고 NoSQL이 수많은 비정형 데이터를 저장하는데반해 그래프데이터베이스는 각 데이터간의 포인트를 연결하여 네트워크를 구축합니다. 이때문에 데이터간 포인트(노드)가 늘어나면 늘어날수록 엄청난 네트워크(엣지)가 생겨나게됩니다. 예를들어 SNS의 친구관계, 친구들의 댓글등이 정의될 수 있습니다.

Migration Service

기존의 데이터베이스를 클라우드 환경으로 마이그레이션 되도록 돕는 서비스입니다.

네트워크 및 컨텐츠

Virtual Private Cloud

가상 네트워크 서비스로 퍼블릭 네트워크와 프라이빗 네트워크를 분리하고 모니터링할 수 있도록 해주는 서비스입니다. 이외에 네트워크 구성과 관련된 사실상 모든 기능을 담당합니다.

Private Link

온프로미스환경에서 VPC를 통해 액세스할 수 있도록 해주는 서비스로 VPC 프라이빗 네트워크로 구성이 되어도 온프로미스 엔드포인트와 연동할 수 있습니다.

Amazon CloudFront

전세계 AWS 엣지로케이션을통한 CDN 서비스를 제공합니다.

Route 53

가용성과 확장성이 뛰어난 DNS 서비스입니다. 이외에 도메인등도 구매가 가능합니다.

API Gateway

람다를 비롯한 다양한 AWS 서비스들이 HTTP 프로토콜을 통해 Restful API를 구축할 수 있도록 해주는 서비스입니다.

AWS Direct Connect

온프로미스환경과 AWS간의 전용네트워크를 구성하여 프라이빗연결을 설정을 할 수 있게 제공하는 서비스입니다.

Developer Tools

CodeStar

개인적으로 가장 잘만들었다고 생각하는 서비스중 하나입니다. 코드개발, 빌드, 배포, 팀원, 사용자관리를 하나의 인터페이스안에서 할 수 있도록 도와주며 지라에서 제공하는 기획이나 이슈트래킹 그리고 젠킨스나 팀시티에서 제공하는 CI/DI를 합쳐놓은 서비스입니다.

CodeCommit

private Git 저장소 서비스입니다.

CodeBuild

완전관리형 원격빌드로 빌드하는 분당 요금만지불하며 ECR과 연계하여 커스텀 도커이미지로 원하는 빌드를 구성할 수 있습니다.

CodeDeploy

Codebuild를 통해 만들어진 빌드파일을 서버등에 Deploy할수록 도와주며 블루/그린 배포등도 매우 쉽게 할 수 있도록 돕습니다.

CodePipline

CodeCommit, CodeBuild, CodeDeploy를 한번에 세팅할 수 있도록 도와주는 서비스입니다.

Cloud9

웹기반의 IDE서비스로 허접할것같지만 코드편집기, 디버거, 터미널등 웬만한 기능이 다 있으며 심지어 협업으로 코딩하는것도 가능하다고합니다.

AWS X-RAY

Cloud Tail과 연계하여 각 AWS 리소스간 이슈나 레이턴시를 체크합니다. 예를들어 API Gateway에서 Lambda를 통해 DyanmoDB에서 데이터를 가져온다면 각 과정에서의 딜레이시간과 오류가 몇번 발생했는지 대시보드를 통해 확인할 수 있습니다.

관리 빛 거버넌스

CloudWatch

AWS에서 발생하는 모든 로그와 정보를 모니터링할 수 있게 도와주는 서비스이며 cron작업과 같은 예약작업도 역시 cloudwatch를 통해 설정합니다.

CloudFormation

Infrastructure as code (IaC)를 가능하게해주는 서비스로 인프라 구성을 마치 프로그래밍 하는것처럼 코드로 관리할 수 있게해주는 서비스입니다.

CloudTail

AWS 루트계정 하위 계정들간의 활동이나 작업을 기록하고 모니터링할 수 있게 도와주며 리소스간 문제, 변경추적등을 간소화하게 도와줍니다.

Config

리소스의 구성을 측정 감사 및 평가한다는 서비스입니다. 가장 난해한 설명일것같아 조금 장대하게 풀어쓰면 새벽에 문제가 생겼을때를 대비하여 당직자들에게 서버 재가동이나 접근권한을 주긴해야하지만 반대로 권한을 이용해서 보안에 문제가 생길수도 있습니다. 이럴때 권한을 주기는하지만 실제로 그 권한을 이용하여 리소스의 변경이 발생한다면 Simple Notification Service를 통해 관리자에게 통보됩니다. (규정 미준수 리소스 파악 및 준수상태 확인)

OpsWoks

Cehf나 Puppet의 관리형 인스턴스를 제공합니다. 기존에 Chef등을 사용하고 있었다면 손쉽게 마이그레이션 할 수 있습니다.

Service Catalog

이건 정말 아무리 설명을 보고 실습서를 읽어봐도 모르겠습니다 (…)

System Manager

EC2 인스턴스, S3버킷, RDS와 같은 리소스들이 개별적으로 발생하던 모니터링이나 데이터들을 그룹화하여 서비스단위로 모니터링할 수 있도록 도와주는 서비스입니다.

Personal Health Dashboard

AWS에서 발생한 에러나 고객에게 영향을 줄 수 있는 이벤트들을 알려줍니다. 현재 나의 서비스 구성에 맞게 영향을 받는 사항도 선별하여 알려줍니다.

마치며

너무많아서 나머지는 이후에 다시한번 정리해보겠습니다. (…) 혹시 다른점이 있다면 댓글이나 private note 남겨주시면 확인 후 수정하겠습니다.

--

--

Harry The Great
해리의 유목코딩

Android & IOS Developer 😀 미디움 이외에 스니펫이나 디버그노트로 활용하는 https://www.harrymikoshi.com/ 블로그도 운영하고있습니다.