1.배포 전략이란?

이전에는 소스 배포가 비업무시간, 수주에서 수개월에 한번 수행하는 큰 작업이었으나 최근에는 서비스를 구성할 때 모놀리틱 서비스 환경에서 마이크로 서비스 환경으로 많이 바뀌면서 배포 주기가 짧아지게 되었다. 

 

더 자주 소스를 배포하는 방식으로 변화되고 있는 만큼 변경 사항이 생겼을 때 더 빠르게 반영할 수 있다는 장점은 있지만 소스를 수정하는 것은 항상 리스크가 따르기 때문에 이에 대응한 배포 전략을 구성해야한다.

 

2.배포 기법

2.1  Rolling Strategy

애플리케이션의 이전 버전의 인스턴스를 새로운 버전의 인스턴스로 서서히 대체하는 방식으로 가장 일반적인 배포 방식이다.

Rolling은 일반적으로 이전 구성 요소를 축소하기 전에 준비 상태 점검을 통해 새 POD가 준비될 때까지 일정 비율을 다운하지 않고 대기하고 중대한 문제가 발생하면 Rolling을 중단할 수 있다. Rolling 배포는 Canary 방식의 구축이며, 모든 이전 인스턴스를 교체하기 전에 새로운 버전(카나리아)을 테스트하고 준비 상태 점검이 성공하지 못하면 카나리 인스턴스가 제거되고 배포 구성이 자동으로 롤백(Roll-Backup)된다.

- 장점
  . 서비스 다운타임 없이 새버전의 어플리케이션으로 무중단 배포 가능
  . 순차적으로 진행함으로 손쉽게 롤백이 가능
  . 서버자원이 2배 필요한 Blue/Green 배포방식에 비해 서버 자원 제약시 유리

- 단점
   . 어플리케이션에 대한 복잡한 검사를 구현해야 하는 경우는 부적합
   . 좀 더 긴 배포시간을 요함
   . 배포중인 서버는 중단된 상태로 서버 부하량이 늘어난 상태에서 배포 시작시 나머지 서버 자원들의 부하량이
     늘어나 서비스 전체가 마비 될 수 있음(이벤트 확인 필요)

   . 롤백 과정이 다소 복잡하다

이미지 출처: 'developheo'님 블로그 (https://yongdev91.tistory.com/23) - 순차적 배포

 

2.2  Canary Deployments

사용자나 서버의 일부에 릴리즈를 롤아웃하기 위한 패턴이다. 그 아이디어는 먼저 서버의 작은 서브셋에 변경사항을 배포하고, 테스트한 다음 나머지 서버에 변경사항을 롤아웃하는 것이다.
Canary Deployments는 다운타임에 미치는 영향이 적은 조기 경고 표시기 역할을 한다. 카나리아 구축이 실패해도 나머지 서버들은 영향을 받지 않는다.

- 장점
   . 신버전 배포전 운영환경에 직접 테스트를 진행해 볼 수 있음
   . 단계적인 전환 방식으로 리스크를 최소화하고 상황에 따라 트래픽 양을 늘리거나 롤백이 가능

- 단점
   . 동시에 두개의 서로다른 버전이 운영됨으로 버전 관리 중요

이미지 출처: 'developheo'님 블로그 (https://yongdev91.tistory.com/23)

 

2.3  Blue-Green Deployment

Blue(OLD Version)와 Green(New Version)이라는 동일한 두 운영 환경을 운영하여 다운타임과 리스크를 줄이는 방식으로 모든 서비스 운영 환경은 오직 하나의 환경만 존재한다. 비용상의 문제로 물리서버 대상보다 도커나 컨테이너같은 가상 환경에서 사용한는 것이 유리하다.
어플리케이션의 새 버전을 준비할 때 배포 및 최종 테스트 단계는 라이브가 아닌 환경에서 수행되며, Green에서 어플리케이션을 배포하고 완전히 테스트한 후에는 로드발란서로 전환하여 들어오는 모든 요청을 Blue가 아닌 Green으로 이동 시킨다.
- 장점
   . 운영 다운타임 최소화(사실상 배포방식 중 가장 짧음)
   . 배포시간이 짧음
   . 배포 리스크를 적고 롤백이 단순함(Green으로 유입되는 경로를 Blue로 변경하여 즉시 적용)

- 단점

  . 신버전과 구버전 모두 필요하여 리소스가 두배 이상 필요

  . 롱텀 트랜잭션이 수행 중 일경우 전환시 어떤 방식으로 처리할 지 고려 필요

  . Blue와 Green 두 환경간 migration이 배포때 마다 필요하며, 롤백 수행시에도 고려 필요

이미지 출처: 'developheo'님 블로그 (https://yongdev91.tistory.com/23)

 

2.4  Recreate Strategy

Rolling 이랑은 다르게 새 어플리케이션을 배포시 기존 POD를 모두 삭제한후 배포가 되므로 일반적으로
사용되는 배포방식은 아니다.

Recreate 전략을 사용하는 경우는 다음과 같다. 서비스가 다운되어도 문제가 없는 경우 사용한다.

  1) 새 어플리케이션을 시작하기 전에 마이그레이션 또는 데이터 변환을 실행해야 하는경우
  2) 신규 버전의 어플리케이션 코드를 기존 어플리케이션과 같이 쓸수 없는 경우
  3) 여러 복제본 간에 공유할수 없는 RWO 볼륨을 사용하는 경우

- 장점

  . 다른 배포방식보다 빠른 배포시간

- 단점
  . 서비스 다운 타임이 발생함

이미지 출처: 'developheo'님 블로그 (https://yongdev91.tistory.com/23)

 

2.5  Kubernetes 배포 전략 적용 권고사항

Quota와 Limit Ranges와 같은 리소스 제한 설정을 사용하는 경우, 배포 전략 중 Recreate, Rolling 전략을 사용할 때 배포 오동작을 막기 위한 설정 개선 방안을 제시한다.
Recreate 배포 전략을 사용해서 배포하는 경우, 프로젝트별 Quota의 pod 개수는 실제 자동확장 최대 pod 개수 보다 2 큰 수(deployer pod + builder pod 포함)로 설정할 것을 권고 한다.
Rolling 배포 전략을 사용해서 배포하는 경우, 프로젝트별 Quota의 pod 개수는 실제 자동확장 최대 pod 개수에 deployer pod, builder pod 개수를 포함하고, maxSurge(기본 25%)값 반영하여(autoscale max pod 개수 * (maxSurge 25%)) 산정할 것을 권고 한다.

1.컨테이너 기술의 개념

이미지 출처: docker.com (왼쪽: Containers, 오른쪽: virtual machines)

구분 컨테이너 가상화
기능 하나의 OS Host에 다수의 가상공간(Container) 제공 단일 서버를 다수의 가상서버(VM)로 나눠 사용
특징 - Guest OS를 설치없이 이미지에 필수적인 라이브러리와 프로그램만 탑재
- 다양한 API제공으로 개발서버 환경에 적합
- Guest OS와 별도의 프로그램 설치
- 안정성이 요구되는 운영서버에 적합
장점 - 자원 효율성이 높고 파일 Access가 빠름
  (컴퓨팅 파워 및 디스크 용량 50% 절감)
- 이미지 생성, 배포가 용이
- VM 구분으로 안정성 우수
- VM 상호간의 영향 최소화
- 다양한 종류의 OS 수용 가능
단점 - 동일 OS내 상호간의 영향 우려
- 단일 기종의 OS만 수용
- 자원 효율성이 상대적으로 낮음
- Host OS와 Guest OS, Application을 중재 및 Guest OS 생성 과정에서 많은 자원이 낭비
주요 제품군 Docker, Garden, LXC vSphere, Hyper-V, KVM, Xen

* 컨테이너 적용
- PaaS 기반 개발환경 구성을 통해 컨테이너 환경의 Application 서비스 활용 가능
- 업무 구조의 모듈화 및 데이터 분리시 더욱 효과적

 

* 도커 안내서

https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html

 

초보를 위한 도커 안내서 - 도커란 무엇인가?

도커를 처음 접하는 시스템 관리자나 서버 개발자를 대상으로 도커 전반에 대해 얕고 넓은 지식을 담고 있습니다. 도커가 등장한 배경과 도커의 역사, 그리고 도커의 핵심 개념인 컨테이너와 이

subicura.com

* 쿠버네티스 안내서

https://subicura.com/k8s/

 

쿠버네티스 안내서

쿠버네티스 안내서 - 실습편

subicura.com

* 도커 컨테이너 장점

- 빠른 애플리케이션 배포

- 이식성: 도커 컨테이너는 호환성에 관련된 문제를 신경쓰지 않고도 운영할 수 있습니다.

- 쉬운 공유: 공용 리포지터리나 내부전용 사설 리포지터리를 구성해 쉽게 공유할 수 있습니다.

- 적은 자원 사용량: 도커 이미지는 크기가 작고 새로운 애플리케이션을 배포할 때 다른 컨테이너를 활용함으로써 자원 사용량도 적습니다.

- 재사용성: 도커 컨에티너의 버전을 지속적으로 이어나가기 쉽고, 언제든 이전 버전으로 돌리기도 쉽습니다. 기존에 사용하는 레이어에 담긴 컴포넌트들을 재사용할 수 있기 때문에 경량화가 가능합니다.

 

2.컨테이너 배포방식

 

*쿠버네티스 배포 [출처: https://bcho.tistory.com/1256 조대협의 블로그]

쿠버네티스의 Deployment 리소스를 이해하기 위해서는 쿠버네티스에서 Deployment 없이 어떻게 배포를 하는지에 대해서 이해를 하면 Deployment 를 이해할 수 있다.

 

다음과 같은 Pod와 RC가 있다고 하자

 

애플리케이션이 업데이트되서 새로운 버전으로 컨테이너를 굽고 이 컨테이너를 배포하는 시나리오에 대해서 알아보자. 여러가지 배포 전략이 있겠지만, 많이 사용하는 블루/그린 배포와 롤링 업데이트 방식 두가지 방법에 대해서 설명한다.

 

1)블루/그린 배포

블루/그린 배포 방식은 블루(예전)버전으로 서비스 하고 있던 시스템을 그린(새로운)버전을 배포한 후, 트래픽을 블루에서 그린으로 한번에 돌리는 방식이다.

여러가지 방법이 있지만 가장 손쉬운 방법으로는 새로운 RC을 만들어서 새로운 템플릿으로 Pod를 생성한 후에, Pod 생성이 끝나면, 서비스를 새로운 Pod로 옮기는 방식이다.

 

후에, 배포가 완료되고 문제가 없으면 예전 버전의 RC 와 Pod를 지워준다.

 

2)롤링 업그레이드

롤링 업그레이드 방식은 Pod를 하나씩 업그레이드 해가는 방식이다.

이렇게 배포를 하려면 먼저 새로운 RC를 만든후에, 기존 RC에서 replica 수를 하나 줄이고, 새로운 RC에는 replica 수를 하나만 준다.

 

라벨을 같은 이름으로 해주면 서비스는 자연히 새로운 RC에 의해 생성된 Pod를 서비스에 포함 시킨다.

다음으로 기존 RC의 replica를 하나 더 줄이고, 새로운 RC의  replica를 하나 더 늘린다.

 

그러면 기존 버전의 Pod가 하나더 서비스에서 빠지게 되고 새로운 버전의 Pod가 서비스에 추가된다.

마찬가지 작업을 반복하게 되면, 아래 그림과 같이 예전 버전의 Pod가 모두 빠지고 새 버전의 Pod만 서비스 되게 된다.

 

만약에 배포가 잘못되었을 경우에는 기존 RC의 replica 수를 원래대로 올리고, 새버전의 replicat 수를 0으로 만들어서 예전 버전의 Pod로 롤백이 가능하다.

이 과정은 kubectl rolling-update라는 명령으로 RC 단위로 컨트롤이 가능하지만, 그래도 여전히 작업이 필요하고, 배포 과정을 모니터링 해야 한다. 그리고 가장 문제는 kubectl rolling-update 명령은 클라이언트에서 실행 하는 명령으로, 명령어 실행중에 클라이언트의 연결이 끊어 지면 배포작업이 비정상적으로 끊어질 수 있는 문제가 있다.

그리고 마지막으로, 롤백과정 역시 수동 컨트롤이 필요할 수 있다.

그래서 이러한 과정을 자동화하고 추상화한 개념을 Deployment라고 보면 된다.

Deployment는 Pod 배포를 위해서 RC를 생성하고 관리하는 역할을 하며, 특히 롤백을 위한 기존 버전의 RC 관리등 여러가지 기능을 포괄적으로 포함하고 있다.

 

 

* AWS  : https://docs.aws.amazon.com
* Azure : https://docs.microsoft.com/en-us/learn/
            https://www.microsoft.com/handsonlabs
* GCP   : https://cloud.google.com/docs/

 

 

구분

AWS

MS Azure

GCP

Oracle Cloud

강점

- 선도적인 시장지위(1)
-
광범위하고 성숙도 높은 서비스
-
대규모 조직지원 가능
-
광범위한 교육지원
-
글로벌 지원 가능

- 두 번째로 큰 공급자
- Microsoft
도구 및 소프트웨어와의 통합
-
광범위한 기능 세트
-
하이브리드 클라우드
-
오픈 소스 지원

- 클라우드 기반 비즈니스를 위해 설계되었습니다.
-
오픈 소스 및 이식성에 대한 약속
-
좋은 할인 정책 및 유연한 계약
- DevOps
전문 기술(지원)

 

약점

- 사용하기 어렵다.
-
원가관리가 필요
-
저항하기 힘든 옵션

- 문서 관련 문제(문서가 빈약)
-
불완전한 관리툴(툴 기능부족)

- IaaS 시장 후반 참가자
-
기능 및 서비스 감소
-
역사적으로 기업 중심이 아님(개발자 중심)

 

Compute Services

EC2 (가상서버)
Elastic Container Service (Docker컨테이너 실행 및 관리)
Elastic Container Service for Kubernetes (관리형 쿠버네티스 실행)
Elastic Container Registry (Docker 이미지 저장 및 검색)
Lightsail (가상 프라이빗서버 시작 및 관리)
Batch (규모와 상관없이 배치작업 실행)
Elastic Beanstalk (웹 앱 실행 및 관리)
Fargate (서버/스토리지관리가 필요없는 컨테이너 실행)
Auto Scaling
Elastic Load Balancing
VMware Cloud on AWS

Virtual Machines
Virtual Machine Scale Sets
Azure Container Service (AKS)
Container Instances
Batch
Service Fabric
Cloud Services

Compute Engine
Kubernetes
Functions
Container Security
Graphics Processing Unit (GPU)
App Engine
Knative

OVM
1.BM(
베어메탈 Standard,DenseIO,HPC)
2.GPU(VM.GPU,BM.GPU),
3.VM (VM.Standard,DenseIO)

Storage Services

Simple Storage Service (S3) - 확장가능한 오브젝트스토리지
Elastic Block Storage (EBS) - EC2용 블록스토리지
Elastic File System (EFS) - 관리형 파일스토리지
Storage Gateway - 하이브리드 스토리지 통합
Snowball - PB 규모의 데이터 전송
Snowball Edge - 온보드 컴퓨팅으로 PB규모의 데이터 전송
Snowmobile - 엑사바이트(EB) 규모의 데이터 전송

Blob Storage
Queue Storage
File Storage
Disk Storage
Data Lake Store

Cloud Storage
Persistent Disk
Transfer Appliance
Transfer Service

Local NVMe SSD (고성능,낮은 Latency 워크로드용)
Block Volume (
고성능 워크로드용)
File Storage (
가용성,공유파일시스템)
Object Storage(
다양한 데이터 종류와 인터넷 Access)
Archive Storage(
저렴하고 장기간 보관 사용)
Storage Gateway (
클라우드로 비동기식 데이터 이관시)

Database Services

Aurora (고성능 관계형 DB)
RDS (MySQL,PostgreSQL,Oracle,SQL Server,MariaDB 관계형DB)
DynamoDB (NoSQL DB )
ElastiCache (인 메모리 캐시)
Redshift (빠르고 간단한 비용효과적인 DW)
Neptune (완전관리형 그래프데이터서비스)
Database migration service (최소한다운타임으로 DB 이관 서비스)

SQL Database
Database for MySQL
Database for PostgreSQL
Data Warehouse
Server Stretch Database
Cosmos DB
Table Storage
Redis Cache
Data Factory

Cloud SQL
Cloud Bigtable
Cloud Spanner
Cloud Datastore

DB Cloud Service(VM,Bare Metal,Exadata Cloud Service/at Customer)

Backup Services

Glacier (저렴한 아카이브 스토리지)

Archive Storage
Backup
Site Recovery

None

 

N/W & Content
Delivery

ELB (로드발란서)
CloudFront (CDN-컨텐츠 딜리버리)
Route 53 (DNS 서비스)
API Gateway (Cross-Premise 연결서비스)
VPC-Virtual Private Cloud (가상 네트워크)
Direct Connect (Dedicate/Private N/W연결 서비스)

Load Balancer Application Gateway (로드발란서)
Content Delivery Network (CDN-컨텐츠 딜리버리)
Traffic Manager Azure DNS (DNS 서비스)
VPN Gateway (Cross-Premise 연결서비스)
Virtual Network (가상 네트워크)
Express Route (Dedicate/Private N/W연결 서비스)

Cloud Load Balancing (로드발란서)
Cloud interconnect (CDN-컨텐츠 딜리버리)
Google Cloud DNS (DNS 서비스)
Cloud VPN (Cross-Premise 연결서비스)
subnet (가상 네트워크)
None-없음 (Dedicate/Private N/W연결 서비스)

Virtual Cloud Network(VCN-가상네트워크)
 - Subnets ,VNIC DYNAMIC ROUTING GATEWAY(DRG)
Service Gateway(Cross-Premis
연결서비스)
DNS
Fast Connect(Dedicate/Private N/W
연결서비스)
Load Balancing(
로드발란서)

Security

IAM (인증 및 권한부여)
Key Management Service (데이터 암호화 보안)
Web Application Firewal-WAF (방화벽)
Cognito (ID관리)
Shield (보호 기능이 있는 클라우드서비스)

AD(Active Directory) , AD Premium (인증 및 권한부여)
Storage Service Encryption (데이터 암호화 보안)
Application Gateway (방화벽)
AD B2C (ID관리)
DDoS Protection Service (보호 기능이 있는 클라우드서비스)

Cloud IAM,
  Cloud Identity-Aware Proxy (
인증 및 권한부여)

IAM
Key Management
Audit
Oracle CASB Cloud Service(
보안 브로커)
WAF(Web Application Firewall)
DDoS Protection

개발 툴

Elastic Transcoder ( 미디어변환)
Device Farm (앱 테스트)
Code Build  (DevOps)
Developer Tools (개발툴)
AWS Source Repositories (Git Repositories)

Media Services ( 미디어변환)
DevTest Labs-Backend (앱 테스트)
Virtual Studio Team Services  (DevOps)
Developer Tools (개발툴)
Azure Source Repositories (Git Repositories)

None
Cloud Test Lab(앱 테스트)
None
None
Cloud Source Repositories (Git Repositories)

 

Monitoring

Application Discovery Service
  System Manager
  Personal Health Dashboare (Administration)
Billing API (빌링)
Cloudwatch
  X-Ray
  Management Console(Cloud Advisor Capabilities)
OpsWorks(Chef-base)
  CloudFormation (DevOps
배포 오케스트레이션-자동화툴)
Trusted Advisor (Cloud 자원관리와 보안이슈 등 모니터링 )

Log Analystics
  Opeations Management Suite
  Resource Health
  Storage Explorer (Administration)
Billing API (빌링)
Portal
  Monitor
  Application Insights (Cloud Advisor Capabilities)
Automation
  Resource Manager
  VM Extensions (DevOps
배포 오케스트레이션-자동화툴)
Advisor (Cloud 자원관리와 보안이슈 등 모니터링 )

Cloud Console(Administration)
Cloud Billing API (빌링)
Stackdriver Monitoring
  CloudShell
  Debugger
  Trace
  Error Deployment (Cloud Advisor Capabilities)
Cloud Deployment Manager
  (DevOps
배포 오케스트레이션-자동화툴)
Cloud Platform Security (Cloud 자원관리와 보안이슈 등 모니터링 )

Metrics(Block Volume,Compute,LB,NW,Notification,Object Storage,Streaming Metrics 제공,14일보관)
Alarms (90
일보관)

AI/ML

SageMaker
Comprehend
Lex
Polly
Rekognition
Machine Learning
Translate
Transcribe
DeepLens
Deep Learning AMIs
Apache MXNet on AWS
TensorFlow on AWS

Machine Learning
Azure Bot Service
Cognitive Services

Cloud Machine Learning Engine
Dialogflow Enterprise Edition
Cloud Natural Language
Cloud Speech API
Cloud Translation API
Cloud Video Intelligence
Cloud Job Discovery (Private Beta)

 

IoT

IoT Core
FreeRTOS
Greengrass
IoT 1-Click
IoT Analytics
IoT Button
IoT Device Defender
IoT Device Management

IoT Hub
IoT Edge
Stream Analytics
Time Series Insights

Cloud IoT Core (Beta)

 

Serverless

Lambda
Serverless Application Repository

Functions

Cloud Functions (Beta)

 

Regions

Global Infrastructure
세계 21 리전 내에 66개의 가용 영역

Regions
54 리전, 140 가용성존

Regions and Zones
24 리전에 각 3개씩 가용성존(84개)

 

Pricing

Cloud Services Pricing
model : On demand,Spot and Reserved
시간당- 반올림
EC2
경우 초당 결제(60초기준)

Pricing
분당- 반올림
선불 또는 월간 Commitments

Pricing
model : On demand-지속적 사용(Sustained Use)
분당- 반올림(최소 10분)

 

Basic Compute

EC2

Virtual Machines

Compute Engine

 

Containers

ECS  (서버없는 컨테이너,마이크로서비스,배치처리,
 
클라우드로 Application 이관 ,ML(머신러닝) 적합

AKS 

Kubernetes Engine

Oracle Container Native Service(OCNS)
Container Engine for Kubernetes
Registry

EKS (구베르네테스를 사용하여 컨테이너식 Application 쉬운 배포,관리 확장)
-
관리할 컨트롤 플레인이 없음,기존 쿠베르네테스와 완벽호환
-
마이크로서비스(MSA) 하이브리드 컨테이너배포,배치처리,애플리케이션이관에 적합

Container Instances

 

Serverless

Lambda

Functions

Cloud Functions

 

App Hosting

Elastic Beanstalk

App Service 

App Engine

 

Service Fabric 

 

Cloud Services

 

Batch Processing

Batch

Batch

N/A

 

Object Storage

S3 (어디에서나 액세스할 있는 인터넷API 통해 사용)
-
내구성 높음,보안,규정준수,감사기능
-
백업 복원,재해복구,아카이브,데이터 Lake,빅데이터분석,Hybrid Cloud,Cloud Native App데이터

Blob Storage

Cloud Storage

 

Block Storage

EBS (단일 EC2에서 가장 짧은 지연시간의 워크로드에 적합)
볼륨유형 SSD- io1(EBS프로비저닝IOPS SSD):4GB~16TB,볼륨당 최대 64,000IOPS
     gp2(
범용 SSD): 부트볼륨,짧은 지연시간,1GB~16TB, 16,000IOPS
HDD- st1(
처리량 최적화(저비용) HDD) : 빅데이터,DW,로그처리사용,500GB~16TB ,볼륨당 500IOPS
 sc1(
콜드HDD) : 최저비용 HDD,일별스캔횟수가 적은 Cold 데이터,500GB~16TB,250IOPS

N/A

Persistent Disk

 

File Storage

EFS (추가.제거시 자동확장/축소)
'- 30
일동안 억세스안하면 Infrequent Access스토리지로 자동이동
   AZ
내부와 여러AZ 걸처 데이터 저장
고도로 병렬화된 확장 워크로드부터 응답시간이 중요한 단일스레드 워크로드에 적합함
(10GB/ch,
최대 500,00 IOPS지원)

File Storage

N/A

 

Hybrid Storage

Storage Gateway (파일/볼륨(iSCSI)/테이프(VTL) 게이트웨이 인터페이스 지원)

StorSimple

N/A

 

Offline Data Transfer

Snowball (데이터전송솔루션,PT규모의 데이터 전송가속화)
-
로컬 NW속도,파일크기,로컬서버의 데이터읽기속도에 따라 전송속도가 달라짐

N/A

Transfer Appliance

 

Snowball Edge (데이터 이관 및 Edge 컴퓨팅 디바이스)
블록스토리지,S3 호환객체 스토리지와 24개 vCPU 제공
로컬스토리지 대규모 데이터 전송에 적합

 

Snowmobile

 

Relational/SQL Database

RDS 

SQL Database 

Cloud SQL 

 

Aurora (고성능 속도와 안정성 오픈소스의 간편성,비용효율성이 결합된 DB,10GB~16TB)
MySQL(
페이지 크기 16KB)보다 5배,PostgreSQL(페이지크기 8KB)보다 3 빠름,병렬쿼리 지원
DB
볼륨의 청크를 6가지방법으로 3개의 가용역역에 복제

Database for MySQL 

Cloud Spanner

 

 

Database for PostgreSQL

 

 

NoSQL Database

DynamoDB

Cosmos DB 

Cloud Bigtable 

 

Table Storage

Cloud Datastore

 

In-Memory Database

Elasticache

Redis Cache

N/A

 

Archive/Backup

Glacier

Backup

N/A

 

Disaster Recovery

N/A

Site Recovery

N/A

 

Machine Learning

SageMaker 

Machine Learning

Cloud Machine Learning Engine

 

AML 

 

Apache MXNet on AWS 

 

TensorFlow on AWS

 

Cognitive Services

Comprehend 

Cognitive Services

Cloud Natural Language 

 

Lex 

Cloud Speech API 

 

Polly 

Cloud Translation API 

 

Rekognition 

Cloud Video Intelligence

 

Translate 

 

 

Transcribe

 

 

IoT

IoT Core

IoT Hub 

Cloud IoT Core

 

IoT Edge

 

Networking

Direct Connect

Virtual Network

Cloud Interconnect 

 

Network Service Tiers

 

Content Delivery

CloudFront

CDN

Cloud CDN

 

Big Data Analytics

Athena 

HDInsight 

Cloud Dataflow 

 

EMR 

Stream Analytics 

Cloud Dataproc

 

Kinesis

Data Lake Analytics 

 

 

 

Analysis Services

 

 

Authentication and Access Management

IAM 

Active Directory 

Cloud IAM 

 

Directory Service 

Multi-Factor Authentication

Cloud IAP

 

Organizations 

 

 

 

Single Sign-On

 

 

 

Security

GuardDuty 

Security Center

Cloud DLP 

 

Macie 

Cloud Security Scanner

 

Shield 

 

 

WAF

 

 

Application Lifecycle Management

CodeStar 

Visual Studio Team Services 

N/A

 

CodePipeline

Visual Studio App Center

 

Cloud Monitoring

CloudWatch 

Monitor 

Stackdriver

 

CloudTrail

Log Analytics

 

Cloud Management

Systems Manager 

Portal 

Stackdriver

 

Management Console

Policy 

 

 

Cost Management

 

AR & VR

Sumerian

N/A

N/A

 

Virtual Private Cloud

VPC

N/A

Virtual Private Cloud

 

Training

Training and Certification

Training

Training Programs

 

Support

Support

Support

Support

 

3rd Party Software and Services

Marketplace

Marketplace

Cloud Launcher 

 

Partner Directory

 

 

PYRASIS.COM - 가장 빨리 만나는 도커(Docker) 사이트 링크



목차

  1. Docker
    1. 가상 머신과 Docker
      1. 가상 머신
      2. Docker
      3. 리눅스 컨테이너
    2. Docker 이미지와 컨테이너
  2. Docker 설치하기
    1. 리눅스
      1. 자동 설치 스크립트
      2. 우분투
      3. RedHat Enterprise Linux, CentOS
      4. 최신 바이너리 사용하기
    2. Mac OS X
    3. Windows
  3. Docker 사용해보기
    1. search 명령으로 이미지 검색하기
    2. pull 명령으로 이미지 받기
    3. images 명령으로 이미지 목록 출력하기
    4. run 명령으로 컨테이너 생성하기
    5. ps 명령으로 컨테이너 목록 확인하기
    6. start 명령으로 컨테이너 시작하기
    7. restart 명령으로 컨테이너 재시작하기
    8. attach 명령으로 컨테이너에 접속하기
    9. exec 명령으로 외부에서 컨테이너 안의 명령 실행하기
    10. stop 명령으로 컨테이너 정지하기
    11. rm 명령으로 컨테이너 삭제하기
    12. rmi 명령으로 이미지 삭제하기
  4. Docker 이미지 생성하기
    1. Bash 익히기
    2. Dockerfile 작성하기
    3. build 명령으로 이미지 생성하기
  5. Docker 살펴보기
    1. history 명령으로 이미지 히스토리 살펴보기
    2. cp 명령으로 파일 꺼내기
    3. commit 명령으로 컨테이너의 변경사항을 이미지로 생성하기
    4. diff 명령으로 컨테이너에서 변경된 파일 확인하기
    5. inspect 명령으로 세부 정보 확인하기
  6. Docker 좀더 활용하기
    1. Docker 개인 저장소 구축하기
      1. 로컬에 이미지 데이터 저장
      2. push 명령으로 이미지 올리기
      3. Amazon S3에 이미지 데이터 저장
      4. 기본 인증 사용하기
    2. Docker 컨테이너 연결하기
    3. 다른 서버의 Docker 컨테이너에 연결하기
    4. Docker 데이터 볼륨 사용하기
    5. Docker 데이터 볼륨 컨테이너 사용하기
    6. Docker 베이스 이미지 생성하기
      1. 우분투 베이스 이미지 생성하기
      2. CentOS 베이스 이미지 생성하기
      3. 빈 베이스 이미지 생성하기
    7. Docker 안에서 Docker 실행하기
  7. Dockerfile 자세히 알아보기
    1. .dockerignore
    2. FROM
    3. MAINTAINER
    4. RUN
    5. CMD
    6. ENTRYPOINT
    7. EXPOSE
    8. ENV
    9. ADD
    10. COPY
    11. VOLUME
    12. USER
    13. WORKDIR
    14. ONBUILD
  8. Docker로 애플리케이션 배포하기
    1. 서버 한 대에 애플리케이션 배포하기
      1. 개발자 PC에서 Git 설치 및 저장소 생성하기
      2. 개발자 PC에서 Node.js로 웹 서버 작성하기
      3. 개발자 PC에서 Dockerfile 작성하기
      4. 개발자 PC에서 SSH키 생성하기
      5. 서버에 Git 설치 및 저장소 생성하기
      6. 서버에 Docker 설치하기
      7. 서버에 SSH 키 설정하기
      8. 서버에 Git Hook 설정하기
      9. 개발자 PC에서 소스 Push하기
    2. 서버 여러 대에 애플리케이션 배포하기
      1. 개발자 PC에서 Git 설치 및 저장소 생성하기
      2. 개발자 PC에서 Node.js로 웹 서버 작성하기
      3. 개발자 PC에서 Dockerfile 작성하기
      4. 개발자 PC에서 SSH키 생성하기
      5. 배포 서버에 Git 설치 및 저장소 생성하기
      6. 배포 서버에서 SSH 키 생성하기
      7. 배포 서버에 Docker 설치하기
      8. 배포 서버에 Docker 레지스트리 서버 설정하기
      9. 배포 서버에 SSH 키 설정하기
      10. 배포 서버에 Git Hook 설정하기
      11. 애플리케이션 서버에 Docker 설치하기
      12. 애플리케이션 서버에 SSH 키 설정하기
      13. 개발자 PC에서 소스 Push하기
  9. Docker 모니터링하기
    1. 모니터링 서버 Dockerfile 작성하기
    2. 애플리케이션 서버 Dockerfile 작성
    3. 웹 브라우저에서 그래프 확인
  10. Amazon Web Services에서 Docker 사용하기
    1. Amazon EC2에서 Docker 사용하기
    2. AWS Elastic Beanstalk에서 Docker 사용하기
      1. AWS 콘솔에서 Docker 애플리케이션 배포하기
      2. Docker Hub 공개 저장소 이미지 사용하기
      3. Docker Hub 개인 저장소 이미지 사용하기
      4. Git으로 Elastic Beanstalk Docker 애플리케이션 배포하기
  11. Google Cloud Platform에서 Docker 사용하기
    1. Google Cloud SDK 설정하기
    2. Compute Engine에서 Docker 사용하기
    3. Container Engine에서 Docker 사용하기
  12. Microsoft Azure에서 Docker 사용하기
  13. Docker Hub 사용하기
    1. Docker Hub 가입하기
    2. push 명령으로 이미지 올리기
    3. Docker Hub 개인 저장소 생성하기
    4. Docker Hub Automated Build 활용하기
  14. Docker Remote API 사용하기
    1. Docker Remote API Python 라이브러리 사용하기
      1. 컨테이너 생성 및 시작하기
      2. 이미지 생성하기
      3. 컨테이너 목록 출력하기
      4. 이미지 목록 출력하기
      5. 기타 예제 및 함수
    2. Docker Remote API Python 라이브러리로 HTTPS 통신하기
      1. 인증서 생성하기
      2. Python 라이브러리 사용하기
  15. CoreOS 사용하기
    1. VirtualBox에 CoreOS 설치하기
      1. systemd로 서비스 실행하기
    2. Vagrant로 CoreOS 설치하기
    3. etcd 사용하기
      1. etcd 키, 디렉터리 생성하기
      2. etcd 키, 디렉터리 목록 출력하기
      3. etcd 키, 디렉터리 자동 삭제 설정하기
      4. etcd 키 감시하기
      5. etcd 기타 명령
    4. fleet 사용하기
      1. fleet 머신 목록 출력하기
      2. fleet으로 유닛 실행하기
      3. fleet 유닛 목록 출력하기
      4. fleet 유닛 상태 확인하기
      5. fleet 자동 복구 확인하기
      6. fleet 전용 옵션 사용하기
      7. fleet 유닛 파일 템플릿 활용하기
      8. fleet 사이드킥 모델 활용하기
      9. fleet 기타 명령
    5. 클라우드 서비스에서 CoreOS 사용하기
      1. Amazon EC2에서 CoreOS 사용하기
      2. Google Compute Engine에서 CoreOS 사용하기
  16. Docker로 워드프레스 블로그 구축하기
    1. 워드프레스 Dockerfile 작성하기
    2. MySQL 데이터베이스 Dockerfile 작성하기
    3. 워드프레스와 데이터베이스 컨테이너 생성하기
  17. Docker로 Ruby on Rails 애플리케이션 구축하기
    1. Ruby와 Rails 설치하기
    2. Rails Dockerfile 작성하기
    3. PostgreSQL 데이터베이스 Dockerfile 작성하기
    4. Rails와 데이터베이스 컨테이너 생성하기
  18. Docker로 Django 애플리케이션 구축하기
    1. Django 설치하기
    2. Django Dockerfile 작성하기
    3. Oracle 데이터베이스 Dockerfile 작성하기
    4. Django와 데이터베이스 컨테이너 생성하기
  19. Docker 활용 시나리오
    1. 로드 밸런서와 연계한 확장 전개
    2. 개발, 테스트, 운영을 통합
    3. 손쉬운 서비스 이전
    4. 테스트 용도
  20. Docker 명령어 및 옵션 목록
    1. attach
    2. build
    3. commit
    4. cp
    5. create
    6. diff
    7. events
    8. exec
    9. export
    10. history
    11. images
    12. import
    13. info
    14. inspect
    15. kill
    16. load
    17. login
    18. logout
    19. logs
    20. port
    21. pause
    22. ps
    23. pull
    24. push
    25. restart
    26. rm
    27. rmi
    28. run
    29. save
    30. search
    31. start
    32. stop
    33. tag
    34. top
    35. unpause
    36. version
    37. wait
  21. 부록
    1. Docker 컴파일하기
    2. 우분투 한국 미러 사용하기
    3. 참고 사이트

예제 소스


*PYRASIS.COM: "아마존 웹 서비스를 다루는 기술" 책 사이트 링크


목차

  1. 왜 AWS인가?
    1. 가상화와 클라우드 컴퓨팅
    2. 아마존 웹 서비스
    3. 스타트업과 클라우드 컴퓨팅
    4. 다양한 활용 사례
      1. 화성탐사로버 큐리오시티
      2. 넷플릭스
      3. 애니모토
      4. 아모레퍼시픽
      5. 모바일 게임 쿠키런
  2. AWS 기본 개념 살펴보기
    1. 리전, 지역
    2. 가용 영역
    3. 에지 로케이션
  3. AWS 계정 생성하기
  4. 가상 서버를 제공하는 EC2
    1. EC2 인스턴스 유형
    2. EC2 인스턴스 구매 옵션
    3. EC2 인스턴스 생성하기
    4. EC2 인스턴스에 접속하기
      1. Windows에서 PuTTY로 접속하기
      2. Linux, Mac OS X에서 접속하기
    5. 가상 스토리지를 제공하는 EBS
      1. EBS 볼륨 생성하기
      2. EC2 인스턴스에 EBS 볼륨 장착하기
      3. EC2 인스턴스에서 EBS 볼륨 포맷하기
      4. EC2 인스턴스에서 EBS 볼륨 마운트하기
      5. EC2 인스턴스에서 EBS 볼륨 제거하기
    6. EBS 스냅샷 활용하기
      1. EBS 스냅샷 생성하기
      2. EBS 스냅샷으로 EBS 볼륨 생성하기
      3. EBS 스냅샷으로 AMI 생성하기
      4. EBS 스냅샷을 다른 리전으로 복사하기
    7. 인스턴스 스토리지를 Root 장치로 사용하는 EC2 인스턴스 생성하기
    8. EC2 기타 설정 및 기능
  5. Security Group으로 방화벽 설정하기
  6. 고정 IP를 제공하는 Elastic IP
    1. Elastic IP 할당받기
    2. Elastic IP 연결하기
  7. EC2 인스턴스 접속을 위한 키 쌍
    1. 키 쌍 생성하기
    2. 외부 키 쌍 파일 사용하기
      1. PuTTY로 생성한 키 쌍 파일 활용하기
      2. Linux와 Mac OS X에서 생성한 키 쌍 파일 활용하기
    3. 이미 생성된 EC2 인스턴스에서 공개 키 바꾸기
  8. AMI
    1. AWS Marketplace
    2. EC2 인스턴스로 AMI 생성하기
    3. AMI를 다른 리전으로 복사하기
    4. 인스턴스 스토리지를 Root 장치로 사용하는 EC2 인스턴스 생성하기
  9. API와 툴 사용을 위한 액세스 키 생성하기
  10. AWS 리소스의 상태를 모니터링하는 CloudWatch
    1. CloudWatch 알람 생성하기
    2. CloudWatch 커스텀 측정치 사용하기
  11. HTTP 프로토콜과 연동되는 스토리지 S3
    1. S3 버킷 생성하기
    2. S3 버킷에 파일 올리기/받기
    3. S3 세부 설정하기
      1. S3 객체 권한 관리하기
      2. S3 버킷 권한 관리하기
      3. S3 정적 웹사이트 호스팅 사용하기
      4. HTTP Referer로 S3 접근 제한하기
      5. S3 객체 스토리지 클래스, 암호화 설정하기
      6. S3 객체 메타데이터 설정하기
      7. S3 버킷 로그 설정하기
      8. S3 버킷 버저닝 설정하기
      9. S3 버킷 수명 주기 설정하기
      10. S3 버킷 기타 설정
  12. 전 세계에 콘텐츠를 배포하는 CDN 서비스인 CloudFront
    1. CloudFront 배포
    2. S3와 CloudFront 연동하기
    3. CloudFront 커스텀 오리진 사용하기
      1. EC2와 CloudFront 연동하기
      2. 외부 서버와 CloudFront 연동하기
    4. Signed URL로 CloudFront 콘텐츠 사용 제한하기
      1. Signed URL 사용 설정하기
      2. Signed URL 서명을 위한 CloudFront 키 쌍 생성하기
      3. Canned Policy를 사용한 Signed URL 생성하기
      4. Custom Policy를 사용한 Signed URL 생성하기
    5. Invalidation으로 CloudFront 콘텐츠 갱신하기
  13. 확장 가능한 관계형 데이터베이스를 제공하는 RDS
    1. RDS DB 인스턴스 클래스
    2. RDS 예약 인스턴스
    3. RDS 데이터베이스 엔진과 라이선스 모델
    4. RDS DB 인스턴스 생성하기
    5. RDS DB 인스턴스 Security Group 생성 및 설정하기
    6. RDS DB 인스턴스 사용하기
    7. RDS DB 스냅샷 활용하기
      1. RDS DB 스냅샷 생성하기
      2. RDS DB 스냅샷으로 RDS DB 인스턴스 생성하기
      3. RDS 스냅샷을 다른 리전으로 복사하기
    8. RDS를 특정 시점으로 복구하기
    9. RDS DB 인스턴스 Read Replica 생성하기
    10. RDS DB 인스턴스 성능 확장하기
    11. RDS 기타 설정 및 기능
  14. 확장 가능한 NoSQL 분산 데이터베이스를 제공하는 DynamoDB
    1. DynamoDB의 데이터 모델
    2. DynamoDB에 맞는 데이터 구조 설계하기
    3. DynamoDB 테이블 생성하기
    4. DynamoDB 테이블에 데이터 추가하기
    5. DynamoDB 데이터 쿼리하기
    6. DynamoDB 기타 설정 및 기능
  15. 확장 가능한 분산 인 메모리 캐시를 제공하는 ElastiCache
    1. ElastiCache 캐시 노드 유형
    2. ElastiCache 예약 캐시 노드
    3. ElastiCache Memcached 클러스터 생성하기
    4. ElastiCache Memcached 클러스터 Security Group 생성 및 설정하기
    5. ElastiCache Memcached 클러스터에 캐시 노드 추가하기
    6. ElastiCache Redis 클러스터 생성하기
    7. ElastiCache Redis 클러스터 Security Group 생성 및 설정하기
    8. ElastiCache Redis 클러스터 스냅샷 활용하기
      1. ElastiCache Redis 클러스터 스냅샷 생성하기
      2. ElastiCache Redis 클러스터 스냅샷으로 Redis 클러스터 생성하기
    9. ElastiCache Redis 클러스터 Read Replica 생성하기
  16. 사용자와 그룹을 생성하여 접근제어 및 권한관리를 제공하는 IAM
    1. IAM 그룹 생성하기
    2. IAM 사용자 생성하기
    3. IAM 사용자로 AWS 콘솔에 접속하기
    4. IAM 역할 활용하기
      1. IAM 역할 생성하기
      2. IAM 역할을 사용하는 EC2 인스턴스 생성하기
    5. IAM 기타 설정 및 기능
  17. AWS 리소스와 연동 가능한 DNS 서비스 Route 53
    1. Route 53 Hosted Zone 생성하기
    2. Route 53 A 레코드 생성하기
    3. Route 53와 S3 연동하기
    4. Route 53와 CloudFront 연동하기
    5. Route 53 DNS Failover 활용하기
    6. Route53 Latency Based Routing, Weighted Round Robin, Geo Routing 설정하기
    7. Route 53에서 도메인 구입하기
  18. 부하 분산과 고가용성을 제공하는 ELB
    1. ELB 로드 밸런서 생성하기
    2. EC2 인스턴스에 웹 서버 실행하기
    3. ELB 로드 밸런서 Sticky Session 기능 사용하기
  19. 자동으로 EC2 인스턴스를 생성하여 서비스를 확장하는 Auto Scaling
    1. Auto Scaling에 사용할 AMI 생성하기
    2. EC2 생성 옵션 설정과 Auto Scaling 그룹 생성하기
  20. 가상 네트워크를 제공하는 VPC
    1. VPC 생성하기
    2. VPC 서브넷 생성하기
    3. VPC 인터넷 게이트웨이 생성하기
    4. VPC 기타 설정 및 기능
  21. 데이터 보관 및 백업을 위한 매우 저렴한 스토리지 서비스 Glacier
    1. Glacier 볼트 생성하기
    2. Glacier 볼트에 파일 올리기
    3. Glacier 볼트에서 파일 받기
  22. 서버 구성을 자동화하는 CloudFormation
    1. CloudFormation 템플릿 기본 구조
    2. EC2 인스턴스를 생성하는 CloudFormation 템플릿
    3. EC2 인스턴스를 생성하고 웹 서버를 설치, 실행하는 CloudFormation 템플릿
    4. EC2 인스턴스를 생성하고 Security Group을 설정하는 템플릿
    5. CloudFormation 템플릿으로 CloudFormation 스택 생성하기
  23. 간편하게 사용하는 애플리케이션 플랫폼 서비스 Elastic Beanstalk
    1. Elastic Beanstalk으로 Node.js 애플리케이션과 환경 생성하기
    2. AWS 콘솔에서 Elastic Beanstalk Node.js 애플리케이션 배포하기
    3. Git으로 Elastic Beanstalk Node.js 애플리케이션 배포하기
    4. Elastic Beanstalk 환경 URL 교체로 무중단 배포하기
  24. 애플리케이션 구성과 배포를 자동화하는 OpsWorks
    1. OpsWorks 스택 생성하기
    2. OpsWorks PHP 레이어 생성하기
    3. OpsWorks PHP 인스턴스 생성하기
    4. OpsWorks PHP App 생성하기
    5. OpsWorks PHP App 배포하기
    6. OpsWorks 커스텀 Chef 레시피 사용하기
  25. 검색 서비스를 제공하는 CloudSearch
    1. CloudSearch 검색 인스턴스 유형
    2. CloudSearch 검색 도메인 생성하기
    3. CloudSearch 검색 도메인에 데이터 올리기
    4. CloudSearch 검색 도메인에서 검색하기
      1. CloudSearch 검색 자동완성 사용하기
      2. CloudSearch 검색 식 사용하기
    5. CloudSearch 검색 도메인 엔드포인트 주소 활용하기
      1. CloudSearch 인덱스 구조를 설계하고 검색 도메인 생성하기
      2. CloudSearch 검색 도메인 엔드포인트로 데이터 올리기
      3. CloudSearch 검색 도메인 엔드포인트 주소로 검색하기
  26. 푸시 알림 서비스 SNS
    1. SNS 토픽과 이메일 구독 생성하기
    2. SNS 토픽에 메시지 보내기
    3. SNS로 구글 안드로이드에 푸시 알림 보내기
      1. 구글 GCM API 사용 등록하기
      2. SNS 애플리케이션 생성하기
      3. 예제 안드로이드 애플리케이션 실행 및 Registration ID 생성하기
      4. SNS 애플리케이션에 엔드포인트 추가하기
      5. SNS 애플리케이션의 엔드포인트에 메시지 보내기
      6. SNS 토픽에 GCM 구독 생성하기
    4. SNS로 애플 iOS에 푸시 알림 보내기
      1. iOS App ID 생성하기
      2. 인증서 요청 생성하기
      3. APNS 인증서 생성하기
      4. SNS 애플리케이션 생성하기
      5. 예제 iOS 애플리케이션 실행 및 Device Token 생성하기
      6. SNS 애플리케이션에 엔드포인트 추가하기
      7. SNS 애플리케이션의 엔드포인트에 메시지 보내기
      8. SNS 토픽에 APNS 구독 생성하기
  27. 이메일 전송 서비스 SES
    1. 이메일 주소 인증하기
    2. 도메인 인증하기
    3. 프로덕션 액세스 권한 얻기
    4. SES로 테스트 메일 보내기
    5. SES SMTP로 메일 보내기
  28. 메시지 큐를 제공하는 SQS
    1. SQS 큐 생성하기
    2. SQS 처리 실패 큐 생성하기
    3. SQS 큐에 메시지 보내기/받기
  29. 동영상 인코딩 서비스 Elastic Transcoder
    1. Elastic Transcoder 파이프라인과 작업 생성하기
  30. AWS API, CLI 활용하기
    1. Node.js용 AWS SDK 설치하기
    2. AWS CLI 설치하기
    3. EC2
    4. CloudWatch
    5. ELB
    6. Auto Scaling
    7. S3
    8. CloudFront
    9. DynamoDB
    10. CloudSearch
    11. SNS
    12. SES
    13. SQS
  31. 글로벌 사진 사이트 구축하기
    1. 이미지, 소스 저장용 S3 버킷 생성하기
    2. 이미지 정보 저장용 RDS DB 인스턴스 생성하기
    3. 이미지 처리용 SQS 큐 생성하기
    4. S3, SQS 접근용 IAM 역할 생성하기
    5. 웹 서버용 ELB 로드 밸런서 생성하기
    6. 웹 서버, 이미지용 CloudFront 배포 생성하기
    7. Route 53로 도메인 연결하기
    8. Node.js로 웹 서버 작성하기
      1. 웹 서버 및 사이트 내용 둘러보기
    9. 웹 서버 AMI 생성하기
    10. 웹 서버 Auto Scaling 설정하기
    11. Node.js로 이미지 변환 서버 작성 및 구축하기
      1. 이미지 변환 서버 내용 둘러보기
      2. 이미지 변환 서버 구축하기
    12. 사진 사이트 동작 확인하기
  32. 자동 확장 가능한 콘서트 티켓 예매 사이트 구축하기
    1. 소스 저장용 S3 버킷 생성하기
    2. 좌석 데이터 저장용 RDS DB 인스턴스 생성하기
    3. 좌석 상태 갱신용 ElastiCache 캐시 클러스터 생성하기
    4. S3 접근용 IAM 역할 생성하기
    5. 웹 서버용 ELB 로드 밸런서 생성하기
    6. 웹 서버용 CloudFront 배포 생성하기
    7. Route 53로 도메인 연결하기
    8. Node.js로 웹 서버 작성하기
      1. 웹 서버 및 사이트 내용 둘러보기
    9. 웹 서버 AMI 생성하기
    10. 웹 서버 Auto Scaling 설정하기
    11. 티켓 예매 사이트 동작 확인하기
  33. 자동 확장 가능한 모바일 게임 서버 구축하기
    1. 소스 저장용 S3 버킷 생성하기
    2. 순위 산출용 ElastiCache 캐시 클러스터 생성하기
    3. 게임 데이터 저장용 RDS DB 인스턴스 생성하기
    4. 로그 저장용 DynamoDB 테이블 생성하기
    5. S3, DynamoDB 접근용 IAM 역할 생성하기
    6. 게임 서버용 ELB 로드 밸런서 생성하기
    7. Route 53로 도메인 연결하기
    8. Node.js로 게임 서버 작성하기
      1. 게임 서버 내용 둘러보기
    9. 게임 서버 AMI 생성하기
    10. 게임 서버 Auto Scaling 설정하기기
    11. 게임 서버 동작 확인하기
  34. 부록
    1. 요금 계산기
    2. Windows EC2 인스턴스 사용하기
    3. S3을 s3fs로 파일시스템처럼 사용하기
    4. S3을 s3cmd로 관리하기
    5. Auto Scaling 그룹의 EC2 인스턴스에 소스 배포하기
    6. AWS Visual Studio 툴킷
    7. AWS Eclipse 툴킷
    8. 요금 절약하기

예제 소스


+ Recent posts