이두잉의 AWS 세상

안녕하세요. 이두잉입니다.

금일은 기존 On-premise(IDC) 환경에서 AWS로 Migration 시에 고려해야 될 사항에 대해 정리하도록 하겠습니다.

서비스 별로 정리해봤습니다. 


먼저 AWS Migration 관련 문서입니다. Case 별로 정리되어 있습니다.

참고 - http://media.amazonwebservices.com/CloudMigration-main.pdf

Wep Application Service

           1. EC2 Instance

                     1-1. 이중화 구성

                                -. AWS Hardware failure로 인한 Down Time 발생을 고려해야 합니다.

                                -. AWS Event(AWS Hardware 점검) Down Time 발생을 고려해야 합니다.

                                -. SLA 보장을 위해서는 이중화 구성이 필요합니다.

                     1-2. License

                                -. Windows OS 및 일부 Solution의 license는 사용 불가합니다.

                     1-3. 보안

                                -. 기존에 사용했던 상용 Appliance는 사용 불가합니다.

                                -. 어플리케이션 레벨에서 동작하는 AMI 상용 솔루션으로 대체해야 합니다.

                                -. 방화벽으로는 VM단위의 Security Group 사용합니다.

                     1-4. Instance Type

                                -. 서비스 환경에 맞는 Intance Type을 선택해야 합니다. 

                                   (vCPU / Memory / EBS-Opimized Available / Network Performance)

                     1-5. Backup

                                -. 스케쥴링을 통해 서비스 EBS나 기타 객체 단위의 주기적인 Backup 필요합니다.

                     1-6. RCA(Root Cause Analysis)

                                -. AWS은 Hardware Failure에 관한 상세 정보를 제공하지 않습니다.

                     1-7. IP

                                -. 기본적으로 EC2 Instance는 고정 IP가 할당되지 않습니다. 

                                -. Stop/Start 시에 Public IP가 변경됩니다.

                                -. Elastic IP를 사용해서 고정 IP 사용 가능하며, Elastic IP 비용이 별도로 발생됩니다. 

           2. EBS(Local Disk)

                     2-1. EBS Type

                                -. EBS는 세 가지 Type으로 분류되며, 서비스 환경에 맞는 EBS Tpye을 선택해야합니다.

                                -. EBS는 내부적으로 백업이 되며, Snapshot 기능이 있어 RAID0 구성을 권장합니다.

           3. Elastic Load Balancer

                     3-1. 성능

                                -. ELB는 CPU/Traffic을 기준으로 자체적으로 Scale-Up 및 Scale-Out 진행

                                -. 하지만 아직까지 Session에 대한 임계치는 없습니다.

                                -. ELB는 SLA 보장이 되지 않습니다.

                                -. Event 등으로 사용자가 몰릴 경우, Prewarm을 신청을 통해 사전에 가용성 확보 필요

                     3-2. Auto Scaling

                                -. Auto Scaling의 경우 CPU / Disk / Network를 기준으로 동작합니다.

                                -. Session을 기준으로 Auto Scaling 설정은 아직까진 불가합니다.

                     3-3. IP

                                -. ELB는 기본적으로 Domain Base로 동작합니다. 고정 IP를 제공하지 않습니다.

           4. RDS(Database)

                     4-1. 이중화 구성

                                -. DB Backup 및 Maintenance를 위한 Down Time 발생을 고려해야 합니다.

                                -. SLA 보장을 위해서는 이중화 구성이 필요합니다.

                                -. MS-SQL의 경우 이중화 구성이 불가합니다.

                     4-2. License

                                -. Oracle / MS-SQL의 일부 license는 사용 불가합니다.

                                -. Root User 권한을 부여하지 않습니다.

                                -. ​따라서 DB 튜닝 시에 AWS에서 허용한 Parameter만 변경 가능합니다.

                                -. Oracle 사용 시 RAC  / OEM / 테이블 파티션 / olap 기능 사용 불가

                     4-3. 개인정보보호법

                                -. 사전 동의 없이 개인 정보를 국외(다른 Region)에 이전할 경우 개인정보보호법에 위배

 ​5. S5(Web Storage)

                     5-1. HTTP/S 서비스

                                -. S3의 경우 HTTP/S 서비스만이 가능합니다.

5-2. 성능

  -. S3 성능의 경우 제한은 없지만, 각 파티션별 제약은 존재한다.

  -. 초당 100Request 이상 발생되는 워크로드라면 객체를 Prefix(Key) 기준으로 생성합니다.

     (http://docs.aws.amazon.com/de_de/AmazonS3/latest/dev/request-rate-perf-considerations.html)

 6. CloudFront(CDN)

                     6-1. HTTP/S, RTMP 서비스

                                -. CloudFront는 모든 원본에 대해 HTTP/S 서비스가 가능합니다.

                                -. RTMP 서비스의 경우 S3 원본만 사용 가능합니다.

                     6-2. 대소문자 제한

                                -. CloudFront는 CDN 서비스로 URL의 대소문자를 구별합니다.

                     6-3. 로그 분석

                                -. CloudFront는 로그 분석을 토대로 다양한 Reports를 제공합니다.

                                -. Reports 저장 기간은 2달입니다.

                                -. 아직 Reports에 대해 AWS에서 API를 제공하지 않습니다.

 ​7. CloudWatch(APM)

                     7-1. 모니터링

                                -. CloudWatch를 이용하여 AWS 서비스에 대한 모니터링이 가능합니다.

                                -. CloudWatch 데이터 보존 기간은 2주입니다.

                                -. Default 매트릭은 CPU/Disk/Network가 있습니다.

                                -. 추가적으로 Custom 매트릭(Memory/Process 등)을 생성해서 모니터링이 가능합니다.

                                -. CloudWatch 대신 상용 솔루션(Datadog, New Relic, 와탭 등)을 사용하기도 합니다.

                                -. 상용 솔루션은 Agent 방식이며 비용은 1copy 당 2~5만원 선입니다.

Network

           1. VPC

                     1-1. 네트워크 구성

                                -. AWS은 SDN인 VPC 서비스를 제공합니다.

                                -. SDN의 제약으로 상용 Appliance는 사용 불가합니다.

                                -. 어플리케이션 레벨에서 동작하는 AMI 상용 솔루션으로 대체해야 합니다.

                                -. 사용자는 VPC 특성을 이해하고 네트워크 구성을 해야 합니다.

                     1-2. 보안

                                -. VPC는 기본적으로 IPS/IDS를 제공하지 않습니다.

                                -. SDN의 제약으로 보안 Appliance는 사용 불가합니다.

                                -. 어플리케이션 레벨에서 동작하는 AMI 상용 솔루션으로 대체해야 합니다.

                                -. AMI 상용 보안 솔루션의 경우 대부분 Host Base로 동작합니다.

                                -. 방화벽으로는 Network ACLs을 사용합니다.

           2. Route53

                     2-2. DNS 서비스

                                -. Route53은 NameServer로 100% 가용성 보장하며 사용법은 NameServer와 유사합니다.

 계정 관리

           1. Identity&Access Management

                     1-1. 계정 관리

                                -. 계정 관리를 위해서 Identity&Access Management에 대한 이해가 선행되야 합니다.

                                -. 해당 서비스를 이용하여 각 사용자 계정 및 정책 관리가 필요합니다.

           2. CloudTrail

                     2-1. API 로깅

                               -. AWS의 모든 서비스는 API를 이용하여 사용됩니다.

                               -. API 로깅 서비스로 사용된 API에 대한 로그를 저장하므로 필수 설정해야 합니다.


AWS는 일부 서비스에 관해서 Limits이 있습니다. 해당 Limits을 반드시 확인하시기 바랍니다. Limits 해제는 AWS Support Case를 통해 가능합니다.

(참고 - http://docs.aws.amazon.com/ko_kr/general/latest/gr/aws_service_limits.html)


​AWS은 일부 서비스를 제외한 SLA를 보장합니다. 아래는 가장 많이 사용되는 사용되는 서비스에 대한 SLA 정보입니다.

- EC2 SLA: https://aws.amazon.com/ec2/sla/ 

- RDS SLA: https://aws.amazon.com/rds/sla/ 

- S3 SLA: https://aws.amazon.com/s3/sla/ 

- Route53 SLA: https://aws.amazon.com/route53/sla/ 

- Cloudfront SLA: https://aws.amazon.com/cloudfront/sla/


이상 On-premise(IDC) 환경에서 ​AWS로 Migration 시에 고려해야 될 사항에 대해서 정리해봤습니다.

개인적인 경험 및 의견으로 부족하거나 잘못된 정보가 있을 수도 있습니다.

감사합니당.