Amazon Web Services 한국 블로그

Elastic Beanstalk – Java 및 Go 언어 지원

Abhishek Singh는 AWS Elastic Beanstalk의 신규 기능 업데이트 소식인 Java JAR 파일 및 Go 프로그래밍 언어 지원을 아래 글을 통해 알려드립니다.

Jeff;


AWS Elastic Beanstalk을 통해 Java, .NET, PHP, Ruby, Node.js 및 Docker 등 웹 응용 프로그램 및 서비스를 손쉽게 확장성 높은 AWS 클라우드로 배포 및 서비스가 가능합니다. 프로그램 코드를 업로드만 하면 Elastic Beanstalk이 자동으로 용량 프로비저닝, 로드 밸런싱, 오토 스케일링, 응용 프로그램의 상태 모니터링을 포함하여 배포 작업을 수행합니다. 또한, 응용 프로그램을 계속 서비스하기 위한 AWS 리소스 제어 또한 가능합니다.

이번에 Java와 Go 응용 프로그램에 대한 지원을 추가함으로써 Elastic Beanstalk를 더욱 유용하게 활용할 수 있게 되었습니다. 또한, 새로운 플랫폼에서는 Nginx 리버스 프록시를 구성하는 프로세스를 쉽게 가능합니다. Nginx 구성을 제어하려면 .ebextensions/nginx 폴더에 nginx.conf를 추가 할 수 있습니다. 또한 플랫폼에서 제공하는 Nginx 구성을 포함하려면, .ebextensions/nginx/conf.d 폴더에 설정 파일을 추가 할 수 있습니다. 자세한 내용은 역방향 프록시 구성 방법을 참조하십시오.

  1. .ebextensions/nginx/nginx.conf – Nginx 설정 재정의(Override)
  2. .ebextensions/nginx/conf.d – Nginx 설정 파일

자바 신규 지원

JettyPlay와 같은 개발 프레임웍을 사용하여 자바 앱을 배포하는 것이 가능합니다. Tomcat외에도 다양한 옵션이 제공됩니다.

Java 응용 프로그램을 Elastic Beanstalk에 배포하는 방법은 다음과 같습니다.

바로 시작해 보시려면, Elastic Beanstalk 시작 화면에서 샘플로 정의된 카테고리에 있는 Java 플랫폼을 선택하십시오. Java 7 및 Java 8 모두 지원됩니다.

Go 언어 신규 지원
AWS Elastic Beanstalk에서 Go language 응용 프로그램을 실행시킬 수 있습니다. 다음과 같은 방법으로 Elastic Beanstalk에 Go 응용 프로그램을 배포 할 수 있습니다.

  1. 응용 프로그램의 소스를 포함 아카이브를 업로드합니다. AWS Elastic Beanstalk은 자동으로 응용 프로그램을 빌드하고 실행시킵니다. (AWS Elastic Beanstalk은 application.go라는 파일에 main function이 있다고 가정합니다.)
  2. 응용 프로그램의 바이너리를 포함한 아카이브를 업로드합니다. 여기에 응용 프로그램을 동작 시키기 위해 필요한 추가 매개 변수를 정의하는 Procfile도 포함되어 있습니다. 자세한 내용은 Application Process Configuration (Procfile)를 참조하십시오.
  3. 응용 프로그램 소스 Buildfile 및 Procfile를 포함한 아카이브를 업로드합니다. 자세한 내용은 Building Applications On-Server (Buildfile)를 참조하십시오.Java 플랫폼처럼 Go 플랫폼은 Profile에 여러 프로세스를 정의하는 Procfile을 지원합니다.

새로운 플랫폼을 사용하려면, AWS Elastic Beanstalk Management Console 로그인 및 EB CLI를 이용하여 최적의 클라우드 서비스 플랫폼을 만들어 보시기 바랍니다.

Abhishek Singh, Senior Product Manager, AWS Elastic Beanstalk

이 글은 Elastic Beanstalk Update – Support for Java and Go의 한국어 번역입니다.

AWS 스토리지 업데이트 – 신규 저가형 S3스토리지 옵션 및 Glacier 가격 인하

AWS의 모든 서비스처럼 Amazon S3팀은 고객의 요구사항을 더 잘 이해하기 위해서 고객의 목소리에 항상 귀기울이고 있습니다. 그동안 해 주신 많은 피드백과 사용자 접근 유형 분석을 한 결과 S3팀은 자주 사용하지 않는 객체 및 파일에 잘 맞는 새로운 스토리지 옵션을 제공할 필요성을 알게되었습니다.

즉, 저희팀은 많은 AWS 고객들이 자주 접근하지 않는 백업이나 로그 파일들을 S3에 저장하고 있다는 것을 발견했습니다. 다른 회사들은 공유 문서 또는 즉각적인 분석을 위한 RAW 데이터도 업로드합니다. 이 파일들은 대게 업로드가 된 직후에는 자주 사용을 하지만, 시간이 지남에 따라서 사용률이 급격히 떨어집니다. 물론 이 데이터들은 여전히 중요하며 높은 내구성을 요구합니다. 이러한 스토리지 모델은 자주 접근하지 않는 경우에 특화되어 있더라도, 고객들은 파일에 빠른 접근을 요구하기 때문에 검색 성능 역시 중요합니다.

새로운 스토리지 옵션, 저빈도 접근(Infrequent Access)
많은 고객의 요구사항에 부합하기 위해서 접근 빈도가 낮은 데이터를 위한 새로운 스토리지 클래스를 추가합니다. 새로운 S3 Standard – Infrequent Access (Standard – IA) 스토리지 클래스는 S3 Standard와 같이 높은 내구성, 낮은 지연 시간, 높은 처리량을 제공합니다. 여러분은 이제 99.999999999%의 내구성을 지닌 세 개의 S3 스토리지 클래스(Standard, Standard – IA, Glacier) 중 하나를 선택할 수 있습니다. Standard – IA의 SLA는 99%입니다.

새로운 스토리지 클래스는 여러분이 알고있는(선호하시듯) 안전한 보안과 접근관리, 데이터 생명주기 정책, 리전간(cross-region) 복제, 그리고 이벤트 알림을 포함한 기존 S3 기능을 모두 가지고 있습니다.

Standard – IA의 가격은 최소 30일 이상 유지시 기가바이트당 월 $0.0125부터 시작하며 일반적인 데이터 전송과 요청 요금을 제외한 검색(retrieval)은 기가바이트당 $0.01의 비용이 발생합니다. 과금을 위해서 128 킬로바이트보다 작은 객체들은 128 킬로바이트로 과금됩니다. 이러한 비용 모델이 매우 경제적이면서도 필요한 경우 오래된 데이터를 빠르게 검색하는데 도움을 줄것입니다. 새로나온 스토리지 클래스를 장기 보관 스토리지, 백업, 그리고 재해 복구용으로 사용할 수 있습니다.

S3 스토리지 클래스간 데이터 이동 생명주기 정책을 정의할 수 있습니다. 예를 들어, 새로 업로드된 데이터를 Standard 스토리지 클래스를 사용해서 저장할 수 있고, 이 데이터가 업로드된지 30일이 지난 후에 Standard – IA로 이동하고, 60일이 지난 후에는 Amazon Glacier로 이동하도록 설정할 수 있습니다.

새로운 Standard – IA 스토리지 클래스는 단순히 S3의 각 객체와 연관된 속성들 중 하나입니다. 객체들이 같은 S3 버킷에 있고 Standard – IA로 이행될 때 같은 URL로 접근할 수 있기 때문에 애플리케이션 코드 변경을 하지 않아도 생명주기 정책을 통해서 Standard – IA를 바로 사용할 수 있습니다. 즉 여러분은 어플리케이션 변경이나 성능에 영향없이 즉시 정책을 적용하고 S3 비용을 줄일 수 있습니다.

AWS 관리 콘솔을 통해서 새로운 객체를 업로드할 때 새로운 스토리지 클래스를 선택할 수 있고, 이는 모든 리전에 바로 적용됩니다.

또한, 각 S3 버킷별 생명주기 룰을 설정할 수 있습니다. 다음은 위에서 설명한 정책 구성 방법입니다.

이 기능은 AWS Command Line Interface (CLI), the AWS Tools for Windows PowerShellAWS SDKs, S3 API를 통해서도 적용 가능합니다.

아래는 이 기능을 초기에 써 보신 고객의 피드백입니다.

“13년 이상 SmugMug는 고객에게 무제한 사진 저장 서비스를 해왔습니다. 페타바이트급 데이터가 Amazon S3에 저장되어 있고 저희 사용자들이 예전에 올린 사진이라 하더라도 바로 빠르게 데이터를 접근하는 것이 매우 중요합니다. Amazon S3 Standard – IA를 통해 높은 내구성과 성능을 가진 Amazon S3 기본 기능을 계속 활용하면서도 저희 고객들에게 더 빠르고 고품질의 사진 및 동영상을 제공할 수 있게 되었습니다.”

Don MacAskill, CEO & Chief Geek
SmugMug

“저희는 많은 동영상을 제공하는데 대부분 Amazon S3에 사용자 동영상의 복제본을 저장합니다. 즉, 내구성이 매우 중요하다는 것을 의미하는데 Amazon S3 Standard – IA를 통해 스토리지 비용도 낮추면서 내구성도 확보하는 것이 가능해졌습니다. 몇 번의 클릭으로 스토리지 생명 주기를 설정할 수 있어서 쉽게 전환이 가능합니다. 이를 통해 새로운 버킷을 만들어 이동하는 등 사용자 경험에 영향을 주는 걱정이 없어졌습니다.”

Brian Kaiser, CTO
Hudl

새로운 스토리지 클래스의 전체 가격에 대한 정보는 S3 가격 페이지에서 확인 가능합니다.

Glacier 스토리지 가격 인하
2015년 9월 1일부터 Amazon Glacier에 저장된 데이터 가격을 기가 바이트당 월 $0.01에서 $0.007로 인하합니다. 여느 때와 같이 가격 인하는 자동으로 적용될 것이며 여러분이 가격 인하를 받기 위해서 하실 건 없습니다. 이 가격은 US East(Northern Virginia), US West(Oregon), Europe(Ireland) 지역에 해당하는 것으로 다른 지역에 대한 가격 정보는 Glacier 가격 페이지에서 확인하시기 바랍니다.

Jeff;

이 글은 AWS Storage Update – New Lower Cost S3 Storage Option & Glacier Price Reduction의 한국어 번역으로 AWS 코리아의 기술 지원 엔지니어로 근무하는 이범석(Beomseok Lee)님이 번역해 주셨습니다.

AWS Device Farm 안드로이드 앱을 위한 내장 탐색기 공개

오늘부터 AWS Cloud에서 안드로이드 앱이 실제 기기에서 어떻게 구동 되는지 테스트 케이스를 만들지 않고도 확인할 수 있습니다. 바로 AWS Device Farm 내장 탐색기를 통해 일반 사용자가 보는 각 콘트롤과 상호 작용 및 분석 및 앱을 탐색합니다. 앱 탐색기는 스크린샷을 만들고, 앱 탐색하는 동안 성능 데이터 및 로그도 저장합니다.이들 결과는 디바이스 팜 보고 기능이나 API를 통해 확인 가능합니다.

앱 탐색기는 네이티브 및 웹 콘트롤 모두 지원하고, 버튼을 누르거나 텍스트 입력 항목에 글을 넣거나 메뉴를 열거나 하는 동작도 됩니다. 이런 동작 중에 나오는 스크린샷과 로그를 저장합니다. 또한, 앱이 로그인이 필요하다면 로그인 양식에서 입력할 인증 정보를 제공해 줄 수 있습니다.

시작하기

1. 먼저 AWS Device Farm 콘솔에 로그인합니다. 처음 사용하시더라도 한번 테스트에 250분까지는 무료로 사용 가능합니다.

2. 콘솔에서 “Create a new run”을 눌러 다음 단계에 간단한 프로젝트 명을 입력합니다.

3. 여러분이 만드는 Android app (.apk) 파일을 업로드 합니다.

4. Configure Test 단계에서 테스트 종류 중 “Built-in: Explorer”을 선택합니다. 만약 로그인 정보가 필요하다면 usernamepassword 항목에 미리 테스트 계정의 인증 정보를 입력합니다.

5. “Next”을 계속 누른 후, Review and Start Run 단계에서 “Confirm and start run.”을 눌러 테스트를 진행합니다.

결과 분석하기

내장 탐색기를 통한 디바이스 테스트가 끝나면, 그 결과는 리포트 기능으로 전달됩니다. 보고 요약에서 “Screenshots” 탭을 누르면 모든 스크린샷을 볼 수 있습니다. 좀 더 자세한 정보를 “Devices” 항목에서 각 디바이스 별로 클릭하면 보실 수 있습니다.

View logs and screenshots for a specific device by selecting it from the AWS Device Farm report summary view

요약 보기에서 각 디바이스 선택 시 나오는 로그, 스크린샷, 성능 자료

각 디바이스 별로 로그, 성능 데이터 및 스크린샷으로 특정 디바이스의 데이터를 분석해 볼 수 있습니다.

The Android app explorer captures logs for each devices

특정 디바이스의 앱 탐색기로 얻은 로그 보기

The app explorer captures screenshots for each interaction on a device

특정 디바이스의 앱 탐색기로 본 스크린샷

맺으면서

앱 탐색기는 별도의 테스트 스크립트 없이도 안드로이드앱의 사용자 행동을 테스트해 볼 수 있어서 개발 중에 좀 더 빠르게 자동 테스트를 해볼 수 있습니다. 내장 앱 탐색기를 콘솔과 SDK을 통해 사용해 볼 수 있으며 Jenkins의 지속적 통합 환경에서도 테스트 가능합니다. 더 자세한 것은 Device Farm Jenkins 플러그인을 이용해 보시기 바랍니다.

앱 탐색기에 여러분이 직접 만든 테스트를 추가할 수 있습니다. 이를 통해 앱에서 특정 기능을 실행해 볼 수 있고, 원하는 정확한 스크린샷을 얻을 수 있습니다. 이러한 맞춤형 테스트 역시 앱 탐색기에 가능하며, 앱의 비지니스 로직과 관계 없이 앱을 탐색할 수 있습니다.

또한, Espresso, Calabash 및 Appium 같은 테스트 프레임웍을 이용할 수 있고 자세한 것은 개발자 문서를 참고하시면 됩니다. 좀 더 빠르게 테스트 해보시려면 Android 테스트앱과 샘플 테스트 케이스를 받아 해보실 수 있습니다.

이 글은 AWS Mobile Blog의 Test user flows through your Android app with AWS Device Farm’s built-in app explorer. No scripts required.의 한국어 번역입니다.

공격 지점을 줄여서 DDoS 공격 대비하기

DDoS(Distributed denial of service) 공격은 악의의 공격자가 감당할 수 없는 규모의 트래픽이나 커넥션 요청을 네트웍, 시스템, 어플리케이션에 전송함으로서 야기됩니다. 예상하신 대로 AWS 고객도 어떻게 하면 이런 종류의 공격으로 부터, 어플리케이션을 보호할 수 있는지 많이 질문합니다. AWS에서는 여러분이 DDoS 상황에서도 복원력이 높은  아키텍쳐를 만드는 방법과 어떻게 AWS 확장성을 잘 활용할 수 있는지에 관한 베스트 프랙티스를 제공하고 있습니다.

먼저 최근에 공개한 AWS Best Practices for DDoS Resiliency(영문 백서)를 보시면 어플리케이션 가용성을 보호하고, DDoS 공격에 좀 더 잘 대비하기 위한 참고 아키텍쳐를 잘 알 수 있습니다. 이 글에서는 그 중에서도 공격을 방어하기 입장에서 공격받을 지점을 줄이는 사례를 좀 더 자세히 공유해 드리겠습니다.

간단히 설명하자면, 어플리케이션에 도달할 수 있는 가능한 트래픽의 유형을 줄이는 것을 뜻합니다. 간단한 예로 웹어플리케이션을 만들때, 인터넷으로 80과 443 포트만을 오픈하는 것입니다. 이를 통해서 DDoS 공격에 흔히 사용되는 다양한 공격 기법들을 막을 수 있습니다.

이 글에서는 Amazon Virtual Private Cloud (VPC) 를 활용하여 여러분들의 어플리케이션에 대한 접근을 어떻게 통제할 수 있는지, 네트웍 접근제어목록(network access control lists (ACLs))과 보안그룹(security groups)을 통해 공개된 통로를 어떻게 최소화 할 수 있는지 등에 관한 내용을 다룹니다. 이 내용들은 여러분들이 DDoS 복원 아키텍쳐(DDoS-resilient architecture)를 구축 할 때 고려하셔야 하는 몇 가지 베스트 프랙티스 중에 일부입니다.

통상적인 DDoS 공격

AWS VPC에 관한 내용을 시작하기 앞서, DDoS 공격 기법에 어떤 것들이 있는지 이해하고 전송되는 위해 트래픽을 막도록 어떻게 공격 지점을 최소화 할 수 있는지를 이해하는 것이 중요합니다. 가장 흔한 DDoS 공격기법은 반사공격(reflection attack)으로서, 네트웍이 감당할 수 없는 트래픽의 양을 생성하여 정상적인 트래픽을 처리하지 못하도록 하는 것입니다. 반사공격(reflection attack)을 시작하려면, SSDP(Simple Service Discovery Protocol)나 DNS(Domain Name System), NTP(Network Time Protocol), SNMP(Simple Network Management Protocol)과 같은 UDP(User Datagram Protocol)서비스를 제공하는 인터넷 서버들을 스캐닝하게 됩니다.

그리고 대부분 이와 같은 서버들은 구성에 따라, 원 요청보다 큰 결과를 반환하게 됩니다. 이러한 부분을 이용하는 것을 증폭 공격(Amplification Attack)이라고 하며, 이 두 가지 기법을 이용하여 공격자가 소스 IP를 공격 대상 IP로 임의로 변경하여 많은 요청들을 해당 서버들에게 보내게 되면, 10배 혹은 수백배 큰 응답들이 공격 대상에게 전달되어 정상적인 서비스를 방해하도록 하는 것입니다.

아래 그림1은 공격자가 어떻게 요청을 변조하여 DDoS반사/증폭(Reflection/Amplification)공격을 희생자에게 전송시키는지를 보여줍니다.


그림 1. Distributed reflection denial of service attack

보안 그룹 구성

반사공격(Reflection attack) 기법을 통해 공격자들은 전세계 어느 곳으로도 통상적인 UDP서비스를 이용하여 대규모 트래픽을 보낼 수 있게 됩니다. 다행히 이러한 공격들은 쉽게 탐지될 수 있고, AWS의 VPC에 있는 보안그룹(Security Group) 구성을 통해 감소시킬 수 있습니다. 이 기능은 여러분들의 인스턴스에 대한 인바운드, 아웃바운드 통신에서 허용할 포트나 프로토콜을 지정해서 통제할 수 있도록 해줍니다. 지정되지 않는 다른 포트나 프로토콜은 자동으로 접근이 불허됩니다.

아래 그림에선 앞에서 언급했던 웹 어플리케이션에 적용할 수 있는 Amazon VPC레퍼런스 아키텍쳐를 보실 수 있습니다. 좀 더 자세한 내용은 여기를 참조하시기 바랍니다. Security Groups for Your VPC.


그림 2. Reference architecture with Amazon VPC configuration

위의 아키텍쳐에서는 한 개의 퍼블릭 서브넷과 두 개의 프라이빗 서브넷으로 구성된 VPC를 사용합니다. 위 구성을 위해 몇 가지 보안 그룹(Security Group)을 정의해야 하는데, 우선 일반 사용자와 관리자가 인터넷을 통해 접근할 수 있도록 허용하는 것과 내부 리소스들을 DMZ로 부터만 접근이 가능하도록 제한하는 방법이 있습니다. VPC를 만들고 접근을 제한하는 것과 관련된 자세한 내용은 링크를 참조하시기 바랍니다. Your VPC and Subnets.

SSH bastion security group

SSH bastion 서버는 오로지 관리자만이 SSH를 사용하여 접근할 수 있도록 제한하기 위해 하나의 EC2인스턴스에 구성됩니다. 이를 통해 관리자는 TCP 22번 포트를 통해 인터넷이나 허용된 IP로부터 접근할 수 있게 됩니다. SSH bastion으로 접근한 뒤, 관리자는 웹어플리케이션 서버나 MySQL서버로 접근할 수 있습니다. 22번 포트에 대한 DDoS 공격을 받게 되면 SSH 서비스에 대한 부분만 지장을 받게 됩니다. 이로 인해, 공격자가 이 포트를 통해서 어플리케이션에 영향을 주려는 시도가 차단됩니다. 불법적인 접근을 최소화 하기 위해서는, SSH bastion의 보안그룹에 여러분 네트웍의 공용IP만 허용해주는 게 필요합니다. 다음 테이블은 SSH Bastion의 보안그룹을 설정할 때 참조할 수 있는 사례입니다.

ELB 보안 그룹

Elastic Load Balancing (ELB)는 EC2 인스턴스 장애에 대비하여 자동으로 인바운드 트래픽을 라우팅해 줍니다. ELB는 웹 어플리케이션 앞단에서 위치하여 공격받을 수 있는 부분을 줄여주게 되고, 자동으로 용량에 따라 스케일링 해 줍니다. 게다가, ELB는 웹어플리케이션으로 잘 정의된(유효한) 트래픽만 전달하도록 만들어져 있습니다. 이 기능을 통해 DDoS에 저항력 있는 레이어를 부가적으로 구성할 수 있습니다. 사용자가 여러분의 웹어플리케이션으로 접근할 수 있도록 하기 위해선, 우선 인터넷으로부터 80과 443포트를 통해서 만 접근 가능 하도록 하고, 그 다음 각 요청이 웹어플리케이션들이 운영되는 EC2인스턴스로 잘 분배될 수 있도록 보안그룹 설정을 합니다. 다음 테이블은 ELB 보안 그룹을 설정하는데 참조할 만한 규칙을 보여줍니다.

NAT 보안 그룹

본 사례에서, 웹어플리케이션 서버와 MySQL서버는 프라이빗 서브넷에 위치하는데, 이로 인해, 직접적으로 인터넷과 통신할 수 없습니다. ELB를 통해서 서비스하는 부분과는 별개로, 소프트웨어 업데이트 등을 위해 인스턴스가 인터넷과 연결되어야 할 필요가 있습니다. 이를 위해, 고유의 보안그룹을 갖는 network address translation (NAT) 인스턴스를 구성하게 됩니다. NAT 인스턴스를 통해, 프라이빗 서브넷에서 인터넷으로 나가는 아웃바운드 통신을 라우팅할 수 있게 됩니다.자세한 내용은 NAT Instances. 를 참조하시기 바랍니다.

웹 어플리케이션 보안그룹

이 보안 그룹은 모든 웹어플리케이션이 올라가 있는 EC2인스턴스들의 설정에 대한 내용입니다. 이들 인스턴스들은 ELB로부터 오는 웹 요청들만 받아 들이게 됩니다. 공격 지점의 최소화를 위해, 이들 인스턴스에는 VPC 써브넷 IP 범위에서 할당되는 사설 IP만이 부여되어 인터넷으로부터의 직접적인 접근을 막아 주게 됩니다. 그 대신, ELB로부터의 TCP 포트 80, 443과 관리자의 접근을 위한SSH 22번 포트 접근만이 허용됩니다. 다음 테이블은 웹어플리케이션을 위해 보안 그룹을 설정할 때 참조하면 좋습니다.

MySQL 데이터베이스 서버보안 그룹

지금까지와 유사하게 생각해서, MySQL 데이터베이스 쪽은 오로지 웹어플리케이션이 올라가 있는 EC2인스턴스로부터의 접근만을 허용해 주게 됩니다. 이를 위해, MySQL 데이터베이스를 사설 서브넷 상에 두고 사설 IP를 할당하고, 웹 어플리케이션이 올라가 있는 EC2인스턴스로부터의 TCP포트 3306 트래픽만을 받아 들이도록 설정하게 됩니다. 아래 테이블은 MySQL서버를 위한 보안그룹 설정을 보여줍니다.

네트웍 ACL 구성하기

네트웍ACL을 통해, 상용 방화벽과 유사하게, 우선순위가 할당된 Allow, Deny 규칙을 생성하여 VPC를 보호하게 됩니다. 이것은 EC2 인스턴스 수준에서 트래픽을 허용할 지를 결정하는 보안그룹과는 다르게, 서브넷 레벨에서 Allow, Deny 규칙을 설정할 수 있도록 해줍니다.예를 들어, 원하지 않거나 악용될 수 있는 인터넷 IP 주소 혹은 범위를 규정하려면, 어플리케이션으로 들어오는 트래픽 중 해당 IP 범위를 Deny 하도록 구성하게 됩니다. 단일 IP 주소 혹은 전체 IP 서브넷을 타겟으로 할지는 필요에 따라 정하면 됩니다. 다음 테이블은 지금까지 기술한 부분에서 보안 그룹에 적용했던 규칙들에 상응하는 사용자 정의 네트웍 ACL 입니다. 보다 자세한 내용이 필요하면 Network ACLs. 을 참조하시기 바랍니다. (또한 1024에서 65535까지 중 임시 포트 범위를 선택하기 위한 정보가 필요하시면, Ephemeral Ports를 참조하시기 바랍니다.)

기타 고려사항

아마존 VPC상에서 보안 그룹과 네트웍 ACL을 구성하는 것은 여러분의 어플리케이션이 공격 받을 수 있는 지점을 줄여줄 수 있는 효과적인 방법입니다. 각각의 규칙들이 비슷해 보일 지라도 공격 지점을 줄여주는 데 중요한 몫을 하게 됩니다. 보안 그룹은 어플리케이션 상의 리소스에 접근할 수 있는 트래픽을 설정할 수 있게 해주며, 네트웍 ACL은 서브넷 레벨에서 명시적으로 Deny 해야 하는 포트, 프로토콜, 트래픽 소스들을 설정할 수 있게 해준다는 면에서 DDoS 방어에서 중요한 의미를 가집니다. 지금 여러분들은 두 가지 중요 기능, VPC와 보안 그룹을 설정하는 방법에 대해 안내를 받았으며, 이 외에도, DDoS에 대해 복원력이 높은 아키텍쳐를 구성할 수 있는 다음과 같은 서비스들(Amazon CloudWatch를 통한 모니터링, Amazon CloudFront, Amazon Route 53, Elastic Load Balancing, 과 Auto Scaling을 통한 스케일링) 을 고려해야만 합니다.

이 글은 AWS 보안 블로그 How to Help Prepare for DDoS Attacks by Reducing Your Attack Surface의 한국어 번역으로서 AWS 코리아 보안 담당 솔루션 아키텍트인 임기성님이 번역해 주셨습니다.

SM엔터테인먼트 고객 사례 – 신뢰성 높은 AWS 클라우드 보안

SM엔터테인먼트는 글로벌 최고의 엔터테인먼트 및 콘텐츠 회사를 지향하고 있으며, 한류 및 KPOP 문화를 선도하고 있습니다. 이를 위해 엔터터인먼트 서비스 및 미디어 커머스 사업 그리고 모바일 엔터테인먼트 서비스를 운영하고 있습니다.

보아, 동방신기, 소녀시대, 샤이니, EXO 및 레드벨벳 등 다양한 아티스트를 키워냈으며 콘텐츠 뿐만 아니라 모바일 서비스 등 다양한 사업 영역을 확장하고 있기도 합니다. 전 세계적인 KPOP 붐이 일면서 기존 데이터 센터에서 이들 아티스트 홈페이지 뿐만 아니라 다양한 서비스의 대용량 트래픽을 감당하기 어려움을 겪었고, 시의적절하게 AWS를 활용한 클라우드 전략을 도입함에 따라 많은 문제를 해결 할 수 있게 되었습니다.

제일 먼저 Everysing이라는 모바일 앱 서비스를 위해 AWS을 도입하였는데, 이는 다양한 모바일 앱이나 게임 등 다양한 사례가 있었기 때문에 빠르게 결정할 수 있었고 좋은 성과를 내게 되고 있습니다. 특히, EXO-L이라는 팬클럽 서비스를 시작 할 때, 초기에 기존 데이터 센터의 자원으로만 시작했는데 폭발적인 바이럴 마케팅으로 트래픽이 폭주하였습니다. 이 때, AWS에 재빠르게 마이그레이션을 해서 성공적으로 서비스를 안정화 시키고 3주만에 3백만의 사용자에게 서비스를 제공했던 경험 또한 AWS를 적극 활용하는데 주효했습니다.

최고 정보 보호 책임자인 주상식 본부장은 “내부적인 ERP 및 인트라넷을 AWS를 통해 이용을 하고 있는데, AWS 클라우드가 제공하는 다양한 보안 서비스를 통해 클라우드 보안에 대한 신뢰성은 높다고 판단하였고, 해외 지사와의 업무에 효율적”이라고 밝혔습니다.

또한, “AWS 클라우드를 통해 인프라를 운영해 본 결과, 클라우드 상 보안에 대해 바라보는 시각과 맥락에서 차이가 존재하는데 만약 클라우드를 제대로 이해했다면 AWS는 꽤 안정적이고 신뢰할 만한 보안을 제공한다”라고 말하였습니다.

SM엔터테언먼트는 향후 국내외 다양한 콘텐츠 서비스의 비용 효율성과 재빠른 사업 기회를 얻기 위해 AWS를 적극 활용할 전망입니다.

인프라웨어 고객 사례 – 폴라리스 오피스의 발빠른 비지니스 환경 대응

인프라웨어는 1997년에 설립된 모바일 소프트웨어 전문 기업으로서 WAP 브라우저 엔진을 개발했으며, 스마트폰 시대에 맞추어 폴라리스 오피스를 개발하고 있습니다. 폴라리스 오피스는 마이크로소프트 오피스 및 개방형 문서 포맷(ODF) 문서를 모바일 및 데스크톱에 손쉽게 공유하고, 읽기 및 편집이 가능한 애플리케이션입니다. 인프라웨어는 전 세계 사용자를 대상으로 하는 소프트웨어 배포를 위해 아마존웹서비스(AWS)를 선택하였습니다. AWS를 통해 전 세계 천 만명의 사용자들이 낮은 지연속도 및 빠른 파일 전송을 통해 효율적인 업무를 진행하고 있습니다.

2015년 4월 폴라리스 오피스는 글로벌 가입자 1600만 명을 돌파하였으며, 아마존웹서비스(AWS)를 통해 Amazon S3에 하루 1테라바이트씩 저장 용량을 늘리고, 월 평균 700만명이 사용하고 있고 하루 평균 백만건건의 문서가 안정적으로 축적되고 있습니다.

인프라웨어 서비스 개발팀 김성택 팀장은 AWS를 선택한 이유로 글로벌 서비스를 위한 확장이 가능한 클라우드 인프라를 찾던 와중에 타 클라우드 서비스와 부하 테스트를 해 본 결과, 가장 안정적이었다고 밝혔습니다. 또한, VPC 및 시큐리티 그룹 등의 강력한 보안 기능 역시 중요한 선택 요소였습니다.

폴라리스 서비스는 EC2, ELB, S3 및 CloudWatch 서비스 등을 이용하고 있으며, 데이터베이스로 RDS 및 DynamoDB를 활용하고 있다. 또한, AWS의 인프라를 활용하여 다운로드 및 업로드 속도를 혁신적으로 개선하여 시의 적절한 기능을 바로 제공할 수 있었습니다. 특히, 주요 서비스 지역에 리버스 프록시(Reverse Proxy)를 구성하여 10MB 파일 업로드에 30~40초 걸리던 성능을 10초 이내로 개선했습니다.

“AWS의 장점은 인프라 구축 및 운용 보다는 개발에 집중할 수 있었다는 점이며, 자체 구축이 쉽지 않은 빅데이터 분석 및 이메일 전송 등을 Amazon EMR, Redshift 및 SES 서비스를 활용함으로서 좀 더 개발에 집중할 수 있었다.”

서비스 비지니스 사업실 윤상원 수석은 앞으로 다양한 기기를 활용하고 장소와 시간에 구애받지 않는 시대의 변화에 맞춰 클라우드를 기반으로 완전히 새로운 문서 작업 환경을 만들어 사무 환경을 혁신하는 것이 폴라리스 오피스의 비전이라고 밝혔습니다.

2015년 9월 AWS 최신 보안 뉴스

앞으로 AWS 한국 블로그 보안 카테고리를 통해 매월 AWS와 클라우드의 최신 보안 뉴스 요약 및 기술 백서 그리고 기술 문서 등을 소개하도록 하겠습니다.


MPAA Compliance Hub 사이트 개설

AWS Security Assurance에서는 연예/미디어 산업 고객들의 MPAA(Motion Picture Association of America) 컴플라이언스 관련 요청들을 충족시키기 위한 전담 웹 사이트(MPAA hub on AWS)를 소개하게 되었습니다.

본 웹 사이트에서는 관련 고객들이 최근 업데이트된 MPAA 보안 규정들을 확인하고, 새롭게 발표된 MPAA 클라우드 컴플라이언스 베스트 프랙티스를 받아 보실 수 있습니다. 또한 최신 MPAA 클라우드 컴플라이언스 가이드에 관한 자세한 내용을 담고 있는 4개의 문서들을 포함하고 있고, 이전 규정들과의 비교분석 및, 현재 제공되고 있는 AWS 컴플라이언스 기능들이 MPAA 보안 베스트 프랙티스를 어떻게 충족하는지에 대한 대략적인 소개를 살펴 보실 수 있습니다.

참고 자료:


개별 관리형 정책(Managed Policies)을 통해 접근 제어하기

AWS에서는 계정 내 만들었던 IAM 엔티티들(사용자, 그룹, 역할)에게 부여할 정책(Polic) 그룹을 생성할 수 있도록 해주는 관리형 정책 (managed policies)을 올해 공개했었습니다. 그 이후, 많은 고객분들이 하나의 보편적인 정책을 적용하기 보다는 여러 정책들을 섞어서 사용하는 것을 선호하신다고 말씀해 주셨습니다.

예를 들어, 복수의 서비스에 접근을 허용할 하나의 공통 정책을 만드는 대신, 각각의 서비스마다 접근을 허용해주는 정책을 개별로 만드는 것입니다. 논리적으로 분리 정의된 정책들의 관리를 유연하게 하기 위해서, 지금은 한개의 엔티티에 최대 10개까지 관리형 정책들을 적용할 수 있습니다. 여러분들은 각각의 엔티티에 할당된 정책 목록을 봄으로써 해당 엔티티에 부여된 퍼미션들에 대해 좀더 잘 이해하실 수가 있습니다. 자세한 설명 →


Simple AD를 통해 사용자 관리하기

How to Migrate Your Microsoft Active Directory Users to Simple AD에서 AWS 디렉토리 서비스(Directory Service)를 이용하여 수 분만에 Simple AD라 불리는 가용성 높은 AWS 관리형 디렉토리 서비스를 만드는 방법을 살펴보았습니다. Simple AD를 이용하면, 단일 도메인으로 조인된(joined to a domain) 아마존 EC2인스턴스들의 로그인 계정과 그룹 멤버쉽들을 통합해서 관리할 수 있게 해줍니다.

또한 한 개의 신원확인 정보를 가지고 어플리케이션에 인증받거나, 모든 EC2인스턴스에 로그인할 수 있게 됩니다. SimpleAD에 대해 보다 자세한 내용을 알고 싶으시면 여기를 클릭하세요(What is AWS Directory Service?)

또한 Microsoft Active Directory에서 사용자 정보(Identity)를 Simple AD로 마이그레이션 하는 방법도 다뤄보았습니다. 오늘자 포스팅에서는, 리눅스와 윈도우 환경에서 그러한 사용자 정보들을 관리하는데 도움을 줄 커맨드들에 대해서도 말씀드리겠습니다. 상세 내용 →


신규 보안 백서: AWS와 CJIS 컴플라이언스

AWS는 형사 판결 정보 서비스 보안정책(Criminal Justice Information Services (CJIS) Security Policy)에 의거하여 형사판결 정보(Criminal Justice Information, CJI)를 포함하는 모든 데이터를 통제하기 좋은 환경을 제공합니다. AWS 클라우드는 CJI정보를 포함하여 광범위하게 미 연방 및 주 정부의 민감한 업무들을 처리하는데 사용되어져 왔습니다. CJI를 처리해야 하는 사법고객 혹은 파트너들은 AWS의 다음 기능들을 이용함으로써, FBI(Federal Bureau of Investigation) 정책을 준수하면서 동시에 CJI데이터에 대한 보안성과 보호수준을 획기적으로 향상시킬 수 있습니다:

최근 발간된 백서 CJIS Compliance on AWS에서는 AWS 서비스를 통해 어떻게 CJIS 요건들을 만족시킬 수 있는지, CJIS 프레임웍 내부에서 어떤 AWS서비스들이 지원되는지, 그리고 AWS 와 CJIS 고객들 간의 책임범위에 대한 자세한 내용들을 다루고 있습니다. 상세내용 →


SAML2.0을 이용해서 Federated API/CLI 접근을 위한 솔루션 구현하기

How to Implement Federated API and CLI Access Using SAML 2.0 and ADFS 에서  ADFS(Active Directory Federation Services)와 파이썬 코드를 통해 federated API/CLI 접근 방법을 살펴보았습니다. 그 이후, SAML(Security Assertion Markup Language) 2.0을 지원하는 다른 아이덴티티 제공자(identity providers)들에도 동일한 방식으로 적용될 수 있는지에 대한 문의를 많이 받았습니다. 이에 대해 확실히 가능하다는 답변을 드릴 수 있겠습니다!

이 글에서는 이전에 했던 내용을 확장하여 입력 양식 기반 인증(form-based authentication)을 처리할 수 있도록 하면서, 거의 모든 아이덴티티 제공자(IdPs)들에 적용할 수 있는 방법을 기술하였습니다. 상세내용 →


2015 AWS PCI 컴플라이언스 패키지

새로 발표된 PCI DSS(Data Security Standard) 3.1버전에 대한 준수를 보증하는 2015 AWS PCI 컴플라이언스 패키지가 (요청 시) 제공되게 되었음을 알려드립니다. PCI DSS는 신용카드 정보의 보관과 처리를 포함한 광범위하고 민감한 업무를 지원하려는 고객들에게 글로벌하게 받아들여지는 보안 표준입니다.

이번 PCI 컴플라이언스 패키지는 AWS가 PCI DSS 버전 3.1기준의 레벨 1 서비스 제공자로서 검증 받았다는 AWS PCI 컴플라이언스 인증(AoC)을 포함합니다. 또한 200개 이상의 PCI DSS요건들 각각에 대해 고객과 AWS 각자의 공유책임을 설명하고 있는, 외부 독립 감사자에 의해 업데이트된 AWS PCI 책임 요약(Responsibility Summary)을 포함하고 있습니다. 본 문서는 1) AWS상에서 PCI 카드 홀더 환경을 효과적으로 관리하고자 하는 고객이나, 2)AWS상에서 높은 수준의 보안 환경을 구축하고 관리하고자 할때, 운영책임에 대한 보다 깊은 이해를 필요로 하는 고객들에게 도움이 될 것입니다.

Amazon Web Services 는 CloudFormation, CloudFront, Elastic Beanstalk, KMS등 현재 PCI를 준수하는 23개의 서비스를 제공중입니다. 추가적으로, AWS는 비자(Visa) 와 마스터(MasterCard)에 대한 검증된 서비스 제공자로서, 이 두 회사는 PCI DSS표준에 대한 AWS의 준수내용을 인정하였고, AWS의 개정된 AoC를 전달받았습니다.

AWS PCI 컴플라이언스 패키지를 신청하는 방법은?

2015 AWS PCI 컴플라이언스 패키지를 신청하기 위해선 AWS영업조직(AWS Sales and Business Development)을 컨택하시기 바랍니다. AWS PCI 컴플라이언스 리포트에 대해 자세히 알아보시려면 PCI DSS Level 1 Compliance FAQs 페이지를 방문하시기 바랍니다.

또한 AWS Compliance website 에서는 AWS 컴플라이언스 프로그램에 대해 좀더 자세히 알아 보실 수 있습니다.

Chad Woolf, Director, AWS Risk and Compliance

참고 자료


HIPAA 백서 개정판 공개

AWS가 어떻게 HIPAA 와 HITECH 컴플라이언스 요건들을 준수하는지를 설명하는 Architecting for HIPAA Security and Compliance on Amazon Web Services 백서가 최근 업데이트 되었습니다.

헬쓰케어 기술의 성장과 발전에 따라 환자진료와 연구의 새로운 지평을 여는 클라우드 컴퓨팅의 적용이 가속화 되고 있습니다. 그러나 반면에 이러한 혁신적이고 창조적인 헬쓰케어 프로그램들은 미 연방 정보 표준 프레임웍의 기술적인 요건들을 맞추기가 어려워 질 수 있습니다.

본 백서는 AWS상에서 어떻게 HIPAA규정을 준수하는 서비스들을 이용할 수 있고, AWS상에서 데이터를 안전하게 암호화 하고 보호할 수 있는지에 대한 정보를 제공합니다. 또한 환자 의료정보(personal health information (PHI))의 암호화를 담당하는 AWS키관리(Key Management Service)를 사용하기 위한 가이드와, 감사, 백업, 재해복구에 관한 대략적인 내용들을 제공합니다.

참고 자료:


Amazon VPC를 이용하여 PCI DSS의 데이터 전송중 암호화 요건을 충족시키기

데이터의 전송 중 암호화에 관한 PCI 요건은 퍼블릭 네트워크를 사용할 때와 프라이빗 네트워크을 사용할 때가 다릅니다. 논리적으로 독립된 AWS인프라로서 여러분의 기존 데이터센터 네트웍을 클라우드 상에 확장시켜주게끔 Amazon Virtual Private Cloud (Amazon VPC)가 정확하게 설계되었다면 Payment Card Industry Data Security Standards (PCI DSS)를 준수하는 사설 네트웍으로 간주될 수 있습니다.

본 포스팅에서는 Amazon VPC에 의해 제공되는 논리적인 분리의 이해에 대한 중요성과 AWS인프라 외부로 민감한 정보를 전송할때 요구되는 PCI요건에 맞추어 설계할 때 고려할 중요 포인트들을 다룹니다. 또한 추가적인 보안성을 위해 Amazon VPC에 의해 제공되는 원천적인 분리방법을 보여줍니다. 더 자세히 보기 →


9월의 AWS 보안 뉴스는 AWS코리아의 보안 분야 솔루션 아키텍트로 일하시고 있는 임기성님께서 작성해 주셨습니다.

AWS SDK for C++ 출시

오늘 오픈 소스 기반의 AWS C++ SDK를 발표합니다. 이를 통해 Amazon Web Services와 연계하여 네이티브 응용 프로그램 개발에 큰 도움이 될 것입니다. AWS SDK for C++는 현대적인 C++ 인터페이스에서 낮은 의존성 및 저수준 및 고수준 인터페이스에서 완벽하게 작동하도록 설계했습니다. 하지만, 가능한 한 외부 의존성은 낮추어 플랫폼이 독립적으로 동작합니다. 동시에 Windows, OS X, Linux 모바일 플랫폼을 지원합니다.

본 SDK는 게임 개발자를 위해 좀 더 집중적으로 설계하였습니다. 또한, 시스템 엔지니어링 및 기타 네이티브 코드의 효율성을 필요로하는 프로젝트 등에도 사용할 수 있도록 인터페이스 제공합니다.

주요 기능

  • 표준 템플릿 라이브러리 (STL) 사용
  • 사용자 정의 메모리 관리 지원
  • C++ 11 기능을 사용 및 지원
  • CMake 이용 네이티브 컴파일러 사용
  • 낮은 외부 의존도
  • 안전한 예외 설계
  • 세부 설정 가능한 로깅
  • 기본 자격 증명 공급자
  • Amazon Cognito Identity를 통한 ID 관리
  • TransferClient을 통한 Amazon S3에 대한 높은 수준 인터페이스
  • 암호화 및 HTTP의 지원에 기본 OS의 API 이용

코드 샘플
아래 코드는 Amazon DynamoDB 테이블에 데이터를 저장하는 샘플 코드입니다.

 
Aws::DynamoDB::DynamoDBClient dynamoDbClient;
PutItemRequest putItemRequest;
putItemRequest.WithTableName("TestTableName");
AttributeValue hashKeyAttribute;
hashKeyAttribute.SetS("SampleHashKeyValue");
putItemRequest.AddItem("HashKey", hashKeyAttribute);
AttributeValue valueAttribute;
valueAttribute.SetS("SampleValue");
putItemRequest.AddItem("Value", valueAttribute);
auto putItemOutcome = dynamoDbClient.PutItem(putItemRequest);

if(putItemOutcome.IsSuccess())
{
    std::cout << "PutItem Success Using IOPS " << putItemOutcome.GetResult().GetConsumedCapacity();
}
else
{
    std::cout << "PutItem failed with error " << putItemOutcome.GetError().GetMessage();
}

Amazon Simple Storage Service (S3)에서 파일을 다운로드하는 샘플코드입니다.

 
Aws::S3::S3Client s3Client;
GetObjectRequest getObjectRequest;
getObjectRequest.SetBucket("sample_bucket");
getObjectRequest.SetKey("sample_key");
getObjectRequest.SetResponseStreamFactory(
    [](){
        return Aws::New(ALLOCATION_TAG, DOWNLOADED_FILENAME, std::ios_base::out | std::ios_base::in | std::ios_base::trunc);
    });
auto getObjectOutcome = s3Client.GetObject(getObjectRequest);
if(getObjectOutcome.IsSuccess())
{
    std::cout << "File downloaded from S3 to location " << DOWNLOADED_FILENAME;
}
else
{
    std::cout << "File download failed from s3 with error " << getObjectOutcome.GetError().GetMessage();
}

간단하지요? GitHub 오늘 다운로드하여 AWS를 통해 C++용 프로그램을 더 확장해 보세요.

현재 상태
AWS SDK for C++는 현재 실험적으로 제공합니다. 사용자 분들과 오픈 소스 커뮤니티에서 의견을 모아 API를 더 견고하게 만들고 있습니다. 또한 개별 서비스 지원을 추가하고 클라이언트가 제대로 프로토콜을 지원할 수 있도록 노력하고 있습니다. 의견과 아이디어를 GitHub의 Issue로 보내주세요.

Jonathan Henson, Software Development Engineer (SDE)

이 글은 Introducing the AWS SDK for C++의 한국어 번역입니다.

Amazon SNS를 통해 AWS IP 대역 변경 사항 알림 받기

작년 AWS IP 대역 JSON 형식으로 공개하였습니다. 이 글은 금요일 오후에 올렸지만 주말 내내 인기 글이 되었습니다. 많은 AWS 사용자들이 아이피 대역을 활용하여 AWS 네트워크 성장함에 따라 자체 방화벽의 규칙을 관리하는데 잘 이용할 수 있게 되었습니다. 만약 AWS Direct Connect를 사용하는 고객이라면, 이 파일을 통해 접속을 위한 라우팅 테이블을 반영에 도움을 얻을 수 있습니다.

오늘은 좀 더 쉽게 이 파일 목록을 이용할 수 있도록 Amazon Simple Notification Service (SNS) 토픽을 생성해서 업데이트 내역에 대한 알림을 받을 수 있는 기능을 알려드리겠습니다. 프로그램 코드를 통해 좀 더 쉽게 업데이트 내역을 파악하여 빠르게 적용 가능합니다.

arn:aws:sns:us-east-1:806199016981:AmazonIpSpaceChanged 토픽에 가입하고 원하는 방식대로 이용하면 됩니다. (SNS 지원 프로토콜 활용 가능)

아래와 같은 형식으로 알림을 받게 됩니다.

{
  "create-time":"yyyy-mm-ddThh:mm:ss+00:00",
  "synctoken":"0123456789",
  "md5":"6a45316e8bc9463c9e926d5d37836d33",
  "url":"https://ip-ranges.amazonaws.com/ip-ranges.json"
}

AWS Lambda 함수를 통해 변경 사항을 받으실 수도 있습니다.

이제 AWS IP 대역 파일 업데이트 내역을 쉽게 받아서 파싱 후, 원하는 정보로 가공 할 수 있게 되었습니다. 좀 더 자세한 사항은 AWS IP Address Ranges 문서를 참고하시기 바랍니다.

Jeff;

PS – 2015년 8월 25일 현재 EC2의 IP 대역은 13,065,550개의 주소를 가지고 있습니다.

이 글은 Subscribe to AWS Public IP Address Changes via Amazon SNS의 한국어 번역입니다.

삼성전자 고객 사례 – 프린팅 앱 센터 솔루션 비지니스 혁신

삼성전자 프린팅솔루션은 ‘SAMSUNG. PRINTING INNOVATION’라는 브랜드 아래 프린팅 분야에서의 혁신을 추구합니다. 세계 최초로 NFC 프린팅 기술을 도입하는 등 모바일 프린팅 기술을 지속적으로 개발, 발전시키고 있습니다. 2014년에는 업계 최초로 안드로이드 운영체제를 적용한 10.1인치 Smart UX 패널이 부착된 스마트 MultiXpress 라인을 전세계에 소개했습니다. 최근에는 클라우드 기반에서 문서를 공유하고 출력하는 삼성클라우드프린트 서비스도 런칭한 바 있습니다.

최근에는 모바일 프린팅 기술, 안드로이드 운영체제, 클라우드프린트 서비스, Printing App Center를 모두를 적용한 제품 MX4, M4580, M5370을 출시하여 프린팅 시장에서 그 기술력을 주목 받고 있습니다.

전세계에 안정적인 Printing App Center 를 제공하기 위한 여러 방안 중 아마존 웹서비스를 선택하였으며, 삼성클라우드프린트(Samsung Cloud Print)에서도 글로벌 서비스의 운영과 관리를 위해 AWS를 사용하고 있었기에 사업부 내 AWS에 대한 신뢰는 이미 구축되어 있었습니다. Printing App Center의 성공적인 런칭의 배경에는 기술 시연과 아키텍처 구성 회의 등 AWS 한국팀 솔루션스 아키텍트들의 적극적인 지원이 있었습니다.

삼성전자 프린팅솔루션 사업부의 한호성 상무는 “앱센터를 구축하기 위한 개발 비용 및 개발 기간, 운영 방법을 고려했을 때 가장 빠르고 효율적인 아마존 웹 서비스를 선택했으며 현재 프린팅 앱센터는 AWS의 버지니아 리전에서 서비스 되고 있으며, 여러 AWS 서비스를 사용하고 있는데 그 중에서도 우리 앱이 신속하게 배포되고 자동으로 자원을 배정해 앱 사용에 따라 규모를 증감할 수 있게 해주는 AWS Elastic Beanstalk을 사용중이다. AWS를 활용하여 오피스 문서 처리, 프린터 상태 인쇄 관리 기능이 있는 다양한 프린팅 앱의 대량 다운로드 등 및 트래픽 초과 이슈를 해결해 주고 있다”고 밝혔습니다.

그밖에도 글로벌 DNS 서비스인 Amazon Route53, 웹 오브젝트 스토리지인 Amazon S3, 콘텐츠 배포 네트워크인 Amazon CloudFront 등의 서비스를 사용하고 있어 Office문서를 처리할 수 있는 ‘모바일 한컴오피스’, 복합기의 현재상태와 오류를 표시하고 문제 해결 방법을 제공하는 ‘Smart Service’, 교재 작성을 쉽게 할 수 있도록 도와주는 ‘Workbook Composer’ 등 다양한 어플리케이션이 나날이 추가되고 있습니다.