Amazon Web Services 한국 블로그

AWS 주간 소식 모음 – 2017년 8월 28일

안녕하세요! 여러분~ 매주 월요일 마다 지난 주에 업데이트된 국내 AWS관련 콘텐츠를 정리해 드립니다. AWS 클라우드에 대한 새로운 소식을 확인하시는데 많은 도움 되시길 바랍니다. 혹시 빠지거나 추가할 내용이 있으시면, 저에게 메일 주시면 추가 공유해 드리겠습니다.

aws-korea-weekly

AWS 관련 뉴스 및 추천 콘텐츠

AWS 글로벌 신규 소식 (영문)

AWS 제품별 블로그(영문)

AWS 주요 행사 및 온라인 세미나

AWS 마케팅 행사

AWS 공인 교육 일정

AWSKRUG 소모임

AWS 주요 파트너사 블로그

AWS 관련 새 소식을 확인하고 싶으시다면, 매주 업데이트 되는 AWS 주간 소식 모음을 살펴 보시기 바랍니다! 좀 더 빠르게 새소식을 접하시고 싶다면, 공식 트위터공식 페이스북을 팔로우 하세요!

이번 한주도 즐겁게 보내시고, 다음주에 다시 만나요!.

– AWS코리아 마케팅팀;

AWS 주간 소식 모음 – 2017년 8월 21일

안녕하세요! 여러분~ 매주 월요일 마다 지난 주에 업데이트된 국내 AWS관련 콘텐츠를 정리해 드리는 윤주리입니다. AWS 클라우드에 대한 새로운 소식을 확인하시는데 많은 도움 되시길 바랍니다. 혹시 빠지거나 추가할 내용이 있으시면, 저에게 메일 주시면 추가 공유해 드리겠습니다.

aws-korea-weekly

AWS코리아 블로그

AWS 관련 뉴스 및 추천 콘텐츠

AWS 글로벌 신규 소식 (영문)

AWS 제품별 블로그(영문)

AWS 주요 행사 및 온라인 세미나

AWS 공인 교육 일정

AWSKRUG 소모임

 

AWS 관련 새 소식을 확인하고 싶으시다면, 매주 업데이트 되는 AWS 주간 소식 모음을 살펴 보시기 바랍니다! 좀 더 빠르게 새소식을 접하시고 싶다면, 공식 트위터공식 페이스북을 팔로우 하세요!

이번 한주도 즐겁게 보내시고, 다음주에 다시 만나요!.

– AWS코리아 마케팅팀;

AWS 신규 서비스 및 기능 출시 목록 – AWS NY Summit

지난 AWS New York Summit 행사에서 상반기를 결산하는 다양한 서비스와 보안 관련 기능들을 대거 출시하였습니다. 아래 신규 서비스 및 기능은 지속적으로 리전 확장을 할 예정입니다. 여러분의 서비스에 활용 방안에 대해 고민해 보시고, 현재 정식 출시된 리전에서 미리 테스트를 해 주시고, 많은 피드백 부탁 드립니다.

Amazon Macie – 기계 학습을 사용하여 AWS에 저장된 민감한 데이터를 자동으로 검색, 분류 및 보호하는 보안 서비스입니다. Amazon Macie는 개인 식별 정보(PII) 또는 지적 재산과 같은 민감한 데이터를 인식하고, 이러한 데이터가 어떻게 접속되고 이동되는지 파악할 수 있는 대시보드 및 알림을 제공합니다.  완전 관리형 서비스로서 비정상적인 데이터 접속 활동을 지속적으로 모니터링하여 무단 접속또는 의도하지 않은 데이터 유출 위험이 감지될 경우 상세한 알림을 생성합니다. 현재 Amazon Macie는 Amazon S3에 저장된 데이터를 보호할 수 있으며, 다른 AWS 데이터 스토어에 대한 지원은 올해 하반기에 제공될 예정입니다.

블로그에서 자세히 살펴보기

AWS Glue – 데이터 스토어 사이에 데이터를 쉽게 이동시킬 수 있는 완전관리형 ETL 서비스입니다. 이 서비스는 난이도로 인해 시간이 오래 걸리는 데이터 탐색, 변환 및 맵핑을 비롯한 작업 예약을 간소화하고 자동화합니다. 또한 데이터 이동 프로세스를 진행할 수 있도록 사용이 간편한 콘솔을 제공하여 데이터 원본을 살펴보고 분석할 데이터를 준비한 후 안정적으로 데이터 원본에서 대상으로 로드하는 데 도움이 됩니다. 또한 Amazon Athena가 Amazon Glue와 통합되고 Apache Spark와 Hive가 Amazon EMR에서 통합되었습니다.

블로그에서 자세히 살펴보기

AWS Migration Hub – 애플리케이션 포트폴리오를 AWS로 마이그레이션하는 데 도움을 줍니다.  Migration Hub 기능을 통해 기존 애플리케이션 마이그레이션 작업을 가속화하고 추적하며 단순화 합니다. 발견 단계부터 시작하거나, 바로 들어가서 직접 마이그레이션 할 수 있습니다. Migration Hub는 마이그레이션 파트너의 도구와 통합되며 서버 마이그레이션 서비스 및 데이터베이스 마이그레이션 서비스를 기반으로 합니다.

블로그에서 자세히 살펴보기

신규 Amazon S3 버킷 보안 관리 규칙 – S3 버킷 보안을 유지하는 데 도움이되는 AWS Config에 두 가지 새로운 규칙을 추가했습니다. s3-bucket-public-write-prohibited 규칙은 공용 쓰기 접근 권한이 있는 버킷을 식별하며, s3-bucket-public-read-prohibited 규칙은 전역 읽기 접근 권한이있는 버킷을 식별합니다.  구성 변경이 있거나  주기적인 일정에 따라 이러한 규칙을 실행할 수 있습니다.

블로그에서 더 자세히 살펴보기

AWS CloudTrail 전체 고객 적용 – AWS CloudTrail을 현재 모든 AWS 고객에게 기본적으로 제공됩니다. CloudTrail의 주요 이점을 검토하고 이벤트 기록을 검토하고 단일 이벤트에서 심도 깊게 학습하는 방법을 보여주었습니다. 그녀는 CloudWatch CloudWatch Events와 함께 사용하기 위해 두 번째 트레일을 만드는 방법을 보여주었습니다.

블로그에서 더 자세히 살펴보기

Amazon EFS를위한 데이터 암호화 – 새 파일 시스템을 만들 때 파일 시스템의 파일 내용을 암호화하는 데 사용할 키를 선택할 수 있는 옵션이 있습니다. 암호화는 업계 표준 AES-256 알고리즘을 사용하여 수행됩니다.

영문 블로그에서 자세히 살펴보기

AWS CloudHSM 업데이트 – AWS CloudHSM 서비스는 AWS 클라우드 내의 전용 HSM(Hardware Security Module) 어플라이언스를 사용하여 데이터 보안에 대한 기업의 계약 및 규제 준수 요구 사항을 충족할 수 있도록 지원합니다. CloudHSM을 대폭 업그레이드하여 하드웨어 기반 키 관리의 이점을 더 많은 사람들이 이용할 수 있도록 했습니다. 이 서비스는 지불 방식대로 제공되며 완전히 관리됩니다. 다중 API, 프로그래밍 언어 및 암호화 확장을 지원하므로 개방형이며 표준을 준수합니다.

영문 블로그에서 자세히 살펴보기

기조 연설 동영상 보기
Adrian Cockcroft와 Matt Wood 그리고 FICO, Zocdoc, Hulu 등 다양한 AWS  글로벌 주요 고객 사례를 함께 보실 수 있습니다.

Channy(윤석찬);

Amazon DynamoDB에 대한 VPC 엔드포인트 추가

오늘부터 Amazon DynamoDB에 대한 Amazon Virtual Private Cloud (VPC)  엔드 포인트를 (서울 리전 포함) 모든 AWS 리전에서 사용할 수 있습니다. AWS 관리 콘솔 또는 AWS 명령줄 인터페이스 (CLI)를 사용하여 즉시 엔드 포인트를 프로비저닝 할 수 있습니다. DynamoDB의 VPC 엔드 포인트 사용에는 추가 비용이 들지 않습니다.

AWS 고객은 각자 자원에 대한 통신 보안 또는 외부 격리가 필요한 이유로 Amazon VPC (Virtual Private Cloud) 내에서 애플리케이션을 실행합니다. 이전에는 VPC내 EC2 인스턴스가 DynamoDB에 접속하려면 두 가지 옵션이 있었습니다.

먼저 인터넷 게이트웨이 (NAT 게이트웨이 또는 인스턴스 공용 IP 할당)를 사용하거나 VPN 또는 AWS Direct Connect를 통해 로컬 인프라로 모든 트래픽을 라우팅 한 다음 DynamoDB로 다시 라우팅 할 수 있습니다. 이러한 솔루션은 데이터 보안 및 네트워크 처리량에 영향을 미치기 때문에 NACL 또는 보안 그룹을 구성하여 DynamoDB에 대한 접근만 제한 할 수 있습니다. 아래 그림은 이러한 이전 방식의 아키텍처 입니다.

엔드 포인트 만들기

이제 DynamoDB에 대한 VPC 엔드포인트를 만들어 보겠습니다. DescribeVpcEndpointServices API 호출로 지원 여부를 알 수 있습니다.

Bash

aws ec2 describe-vpc-endpoint-services --region ap-northeast-2
{
    "ServiceNames": [
        "com.amazonaws.ap-northeast-2.dynamodb",
        "com.amazonaws.ap-northeast-2.s3"
    ]
}

다양한 API를 사용하여, 엔드포인트 설정도 가능합니다.

이제 콘솔 사용 방법을 알려 드리겠습니다. 먼저 VPC 콘솔로 이동하여, 사이드 바에서 “Endpoints”를 선택합니다. 거기에서 “Create Endpoint”를 클릭하면 됩니다.

엔드포인트에 대한 AWS Identity and Access Management (IAM) 정책 섹션을 확인할 수 있습니다. 이는 일반 IAM 정책에서 DynamoDB가 지원하는 모든 세분화된 접근 제어를 지원하며 IAM 정책 조건에 따라 접속을 제한 할 수 있습니다.

현재 VPC 내 인스턴스에 대한 전체 접속 권한을 부여하고 “Next Step”를 클릭하십시오.

이를 통해 VPC 경로 테이블 목록을 가져오고, 경로 테이블 중 어느 쪽에 내 엔드포인트를 할당할지 선택하고 “Create Endpoint”를 선택합니다.

콘솔에서 나오는 경고 메시지에서 공용 IP 주소를 기반으로 DynamoDB에 대한 소스 제한 사항이 있는 경우, DynamoDB에 접근하는 인스턴스의 소스 IP가 사설 IP 주소가됩니다

DynamoDB 용 VPC Endpoint를 VPC에 추가 한 후,  아키텍처는 아래와 같이 단순화 됩니다.

진짜 간단하게 끝낼 수 있습니다. 오늘 부터 바로 사용 가능하며 더 자세한 사항은 기술 문서를 참고하시기 바랍니다.

– Randall;

이 글은 New – VPC Endpoints for DynamoDB의 한국어 번역입니다.

Amazon Macie 신규 출시 – 기계 학습 기반 자동 콘텐츠 검색, 분류 및 보안 설정 서비스

Amazon Macie는 Amazon S3에 저장된 데이터를 기계 학습 기반으로 자동으로 검색하고 분류 할 수 있는  서비스입니다. 데이터가 Macie에 의해 분류되면, 각 데이터 항목에 비즈니스 가치를 할당 한 다음 데이터를 지속적으로 모니터링하여 접근 패턴을 기반으로 의심스러운 활동을 탐지합니다. 이를 통해 서비스명의 뜻 그대로 여러분의 안전한 무기(Weapon)이 될 수 있습니다.

Macie 서비스의 주요 기능은 다음과 같습니다.

  • 데이터 보안 자동화 : 데이터를 분석, 분류 및 처리하여 기록 패턴, 데이터에 대한 사용자 인증, 데이터 접근 위치 및 시간을 파악
  • 데이터 보안 및 모니터링 : CloudWatch Events 및 Lambda를 통해보고 된 문제의 자동 해결과 함께 탐지 된 예외에 대한 사용 로그 데이터를 적극적으로 모니터링
  • 사전 손실 방지를 위한 데이터 가시성 : 스토리지 데이터의 세부 사항에 대한 관리 가시성을 제공하는 동시에 매뉴얼 방식 없는 즉시 보호 기능 제공
  • 데이터 연구 및 리포트 : 데이터 리포트 및 경고 관리 요구 사항에 대한 관리 구성 허용

Macie는 자연어 처리 (NLP)를 위한 기계 학습 알고리즘을 사용하여  S3 버킷의 데이터 분류를 자동화 할 수 있습니다. 또한, Macie의 예측 분석 알고리즘을 활용하여 데이터 접근 패턴을 동적으로 분석 할 수 있습니다. 모델 학습은 가능한 정보를 알려주고 가능한 의심스러운 행동에 대해 알려주는 데 사용됩니다. Macie는 또한 개인 식별 정보 (PII) 또는 민감한 개인 정보 (SP)의 일반적인 출처를 탐지하기 위해 특별히 엔진을 실행합니다. Macie는 AWS CloudTrail을 활용하고 S3 버킷의 PUT 요청에 대한 Cloudtrail 이벤트를 지속적으로 확인하고, 새로운 개체를 거의 실시간으로 자동 분류합니다.

Macie는 AWS 클라우드 보안 및 데이터 보호를 위한 강력한 도구이면서, 자원 관리, 표준 규정 준수 요구 사항 및 감사 표준을 지원할 수도 있습니다. 2018년 5월 25일 시행 될 수 있는 EU의 GDPR (General Protection Data Regulation)은 가장 엄격한 개인 정보 보호 규정입니다. Amazon Macie는 개인 식별 정보 (PII)를 확인하고, 고객에게 대시 보드를 제공합니다 이를 통해 고객이 데이터 암호화 및 익명화에 관한 GDPR 규정을 준수 할 수 있습니다. AWS Lambda와 결합하면 Macie는 GDPR 문제를 해결하는 데 도움이 되는 강력한 도구가 됩니다.

Amazon Macie 살펴 보기
이제 서비스를 잠깐 돌아 보겠습니다. 먼저 Macie 콘솔에서 Get Started을 클릭하여 데이터 분류 및 보호를 시작합니다.

아래에서 보시다시피 Amazon Macie 서비스를 사용하려면 서비스에 적합한 IAM 역할을 만들어야 하며 AWS CloudTrail을 활성화해야 합니다. (오늘 부터 AWS CloudTrail은 모든 고객이 자동으로 활성화 되었습니다.)

Macie를 쉽게 설정할 수 있도록 Macie User Guide에서 제공되는 CloudFormation 용 샘플 템플릿을 활용하여 필요한 IAM 역할 및 정책을 설정하면, 사용자가 직접 IAM 역할 및 정책을 설정하기 만하면 됩니다. (CloudTrail 시작하기 문서 참고)

AWS 계정이 여러 가지인 경우, Macie 서비스를 사용하는 마스터 계정과 다른 계정은 Macie 서비스와 통합 할 수 있습니다. 회원 계정의 사용자는 Macie 콘솔에 접근하기 위해 IAM 역할을 사용하여 마스터 계정에 대한 접근을 허가 받아야 합니다.

이제 IAM 역할이 만들어지고 CloudTrail이 활성화되었으므로 Enable Macie 버튼을 클릭하여 Macie의 데이터 모니터링 및 보호를 시작합니다.


여러분 계정에서 Macie가 서비스를 시작하면, 서비스 메인 화면이 나타나고 계정의 기존 알림이 표시됩니다. 방금 서비스 이용을 시작했기 때문에 현재 현재 현재 알림이 없습니다.

Macie 서비스를 사용해 보기 위해, S3 버킷 중 일부는 Macie와 연결해 보겠습니다. 그러나, 이미 AWS CloudTrail Management API를 사용하여 정보를 분석하고 처리하고 있기 때문에, Macie가 모니터링을 시작할 S3 버킷을 지정할 필요가 없습니다. 여기서는 CloudTrail의 특정 버킷에서 개체 수준의 API 이벤트를 모니터링 해 보겠습니다.

Amazon S3와 통합하기 위해 Macie 콘솔의 Integrations 탭으로 이동합니다. Integrations 탭에서 AccountsServices라는 두 가지 옵션이 표시됩니다. 계정 옵션은 회원 계정을 Macie와 통합하고 데이터 보존 정책을 설정하는 데 사용됩니다. 특정 S3 버킷을 Macie와 통합하려는 경우, Services 옵션을 클릭하고 Services 탭으로 이동합니다.


이제 Macie를 S3 서비스와 통합하면, S3 데이터 이벤트에 대한 로그를 저장하기 위한 Cloudtrails과 S3 버킷이 생성됩니다. 이제 계정 선택드롭 다운을 사용하여, Select an account 합니다. 여러분 계정을 선택하면 통합에 사용할 수 있는 서비스가 표시됩니다. Add 버튼을 클릭하여 Amazon S3 서비스를 선택하겠습니다.

이제 Macie가 분석 할 버킷을 선택할 수 있습니다. Review and Save 버튼을 선택하면 Save 버튼을 클릭하여 객체 수준 로깅을 확인하는 화면으로 이동합니다.

다음으로 Macie 데이터 분류를 맞춤 설정할 수 있는 방법을 살펴 보겠습니다.

앞에서 설명 드린 대로 Macie는 데이터를 자동으로 모니터링하고 분류합니다. Macie가 데이터를 식별하면, 데이터 개체를 파일 및 콘텐츠 유형 별로 분류합니다. Macie는 SVM (Support Vector Machine) 분류를 사용하여, 파일의 메타 데이터 외에도 S3 객체 내의 내용을 분류합니다.  딥러닝/기계 학습 분야에서 SVM은 데이터 분류 및 회귀 분석에 사용되는 학습 알고리즘이 있는 학습 모델입니다. Macie는 작성할 수 있는 소스 코드를 포함하여 데이터 콘텐츠의 정확한 탐지를 지원하기 위해 최적화 된 다양한 콘텐츠 유형의 데이터를 사용하여 SVM 분류를 학습합니다.

Macie는 데이터 개체 또는 파일 당 하나의 콘텐츠 형식만 할당하지만, 이러한 개체를 분류하는 Macie 서비스에서  콘텐츠 형식 및 파일 확장명을 사용하거나 사용하지 않도록 설정할 수 있습니다. Macie가 데이터를 분류하면, 개체의 위험 수준을 1에서 10 사이의 값으로 지정합니다. 위험도가 가장 높은 위험도는 10이며 가장 낮은 위험도는 1입니다.

Macie에서 데이터 분류를 맞춤 설정하려면 Settings 탭으로 이동합니다. 이제 Macie 분류 설정을 활성화 또는 비활성화 할 수 있는 선택 항목이 표시됩니다.


예를 들어, Macie의 File extension을 선택합니다.  Macie가 분류를 위해 추적하고 사용하는 파일 확장자 목록이 제시됩니다.

테스트로 Android 애플리케이션 설치 파일의 apk 파일 확장명을 편집하고, 드롭 다운에서 No – disabled를 선택하고 Save 버튼을 클릭하면, 파일의 모니터링을 비활성화합니다. 물론, 나중에 안드로이드 개발 바이너리를 포함하여 데이터 파일의 전체 컬렉션을 안전하게 유지하고자 할 때, 이 기능을 다시 사용하도록 설정할 수 있습니다.

마지막 한가지는 Macie를 통한 데이터 분류는 개인 혹은 비즈니스와 표준 규정 등 중요한 정보를 취급하기 위해 저장된 데이터와 자원을 쉽게 분류하여 가시성을 제공합니다.

이제 Macie를 통해 분류하고 모니터하는 데이터를 탐험을 시작하면, 마지막에는 Macie 서비스 콘솔 대시 보드를 살펴 보게 됩니다.

Macie 대시 보드는 Macie가 여러분의 데이터를 모니터하고 분류함에 따라 수집 된 모든 데이터와 활동에 대한 완벽한 시각화를 제공합니다. 대시 보드에는 범주별로 그룹화 된 측정 항목 및 보기가 표시되어 데이터에 대한 다양한 시각적 시각을 제공합니다. 대시 보드 화면에서 통계 관점으로 직접 Research 탭으로 이동하여 통계치를 기반으로 쿼리를 작성하고 실행할 수 있습니다. 이 쿼리는 가능한 보안 문제 또는 문제에 대한 알림을 위해, 사용자 지정된 경고를 설정하는 데 사용할 수 있습니다. ResearchAlerts 탭을 둘러 볼 기회는 없었지만, Macie 사용자 가이드에서 이러한 기능에 대한 자세한 정보를 확인할 수 있습니다.

대시 보드로 되돌아 가면, Macie 대시 보드에는 투어 중 생중계, 통계 및 기능 등 많은 리소스가 있으므로, 이들 기능의 개요를 알려 드리겠습니다.

Dashboard 통계치는 아래와 같습니다.

  • 고위험 S3 개체 – 10까지 8의 경우, 위험 수준 데이터 객체
  • 총 이벤트 발생 – Macie 이후의 모든 이벤트 발생의 총량
  • 총 사용자 세션 – 데이터 CloudTrail의 5 분 스냅 샷

Dashboard Views – 모니터링 데이터 및 활동의 다양한 항목을 표시

  • S3 objects for a selected time range
  • S3 objects
  • S3 objects by personally identifiable information (PII)
  • S3 objects by ACL
  • CloudTrail events and associated users
  • CloudTrail errors and associated users
  • Activity location
  • AWS CLoudTrail events
  • Activity ISPs
  • AWS CloudTrail user identity types

요약

지금까지 Amazon Macie 서비스에 대해 간략히 알아보았습니다. Macie는 S3에 저장된 데이터를 보호하는 데, 기계 학습 및 딥러닝을 활용한 신규 데이터 보안 서비스입니다.  Macie에 자연 언어 처리 (NLP)를 사용하면, 쉽게 단순히 서비스를 사용하여 높은 정확도 분류 및 즉각적인 데이터 보호를 시작 할 수 있습니다. 대화형 대시 보드는  데이터, 데이터 접근 및 API 호출의 거대한 흐름을 분석 할 수 있는 가시성을 제공합니다.

더 자세한 것은 제품 페이지 또는 사용 설명 문서를 참고 하시기 바랍니다.

Tara

이 글은 Launch – Hello Amazon Macie: Automatically Discover, Classify, and Secure Content at Scale 의 한국어 편집본입니다.

AWS CloudTrail 서비스 전체 AWS 고객 기본 제공 시작

AWS 서비스 API 호출에 대한 정보를 기록하는 AWS CloudTrail 이 모든 AWS 고객에게 기본적으로 활성화되되고, 별도 설정 없이 지난 7 일간의 계정 활동에 대한 가시성을 제공합니다. ‘상시 가동’ 기능은 CloudTrail 이벤트 기록을 통해 계정 활동을 검색 및 다운로드하는 기능을 통해 보안성을 높일 수 있습니다.

아직 AWS CloudTrail을 이용하지 않은 분들의 경우, 이제 모든 AWS 계정에 기본적으로 적용되기 때문에 운영 문제 해결 및 검토, 표준 규정 준수, 감사 및 보안을 위한 필수 서비스를 제공하게 됩니다.

AWS CloudTrail은 AWS 계정에서 지원되는 서비스에 대한 계정 활동 및 이벤트를 수집하고, 이벤트 로그 파일을 Amazon Simple Storage Service (S3), CloudWatch Logs, CloudWatch Events로 보냅니다. CloudTrail을 사용하면 일반적으로 계정 활동 및 이벤트 로깅을 가능하게 하는 구성을 생성합니다. AWS 계정에서 발생하는 API 활동에 대한 가시성을 제공하여 운영 및 보안 문제를 신속하게 분석합니다. 또한, 멀티 리전 구성을 지원하며 CloudWatch와 통합하여 모니터링을 원하는 이벤트에 대한 트리거를 만들거나 구독 기능을 AWS Lambda 함수와 연동할 수 있습니다. CloudTrail 서비스를 이용하면 AWS 명령 줄 인터페이스 (CLI), AWS 관리 콘솔 AWS SDK를 통해 다른 AWS 서비스의 모든 API 호출을 검색 할 수 있습니다.

AWS CloudTrail의 주요 기능은 다음과 같습니다.

  • 항상 실행: 별도 설정 없이 모든 AWS 계정에서 계정 활동을 기록
  • 이벤트 내역 : 최근 AWS 계정 활동보기, 검색 및 다운로드
  • 자원 관리 수준 이벤트 : EC2 인스턴스 또는 S3 버킷의 생성, 삭제 및 수정과 같은 세부 관리 작업 가능
  • 데이터 관리 수준 이벤트 : Amazon S3 객체에 모든 API 동작을 기록하고 API 동작에 대한 정보 수신 가능
  • 로그 파일 무결성 검증 : S3 버킷에 저장된 로그 파일의 무결성 검증
  • 로그 파일 암호화 : S3 서버 측 암호화 (SSE)를 사용하여 S3 버킷에 전달되는 모든 로그 파일을 암호화 가능. (AWS 키 관리 서비스 (AWS KMS)로 로그 파일을 암호화 설정 가능)
  • 멀티 리전 설정 : 여러 리전에서 로그 파일을 전송하도록 서비스 설정

AWS CloudTrail 기능에 대한 더 자새한 것은 서비스 페이지를 참고하시기 바랍니다.

제 동료 인 랜달 헌트(Randall Hunt)는 고객의 문제를 해결할 때 CloudTrail이 반드시 필요하다고 이야기했습니다. “Enable CloudTrail” 로 인해 고객 계정에서 어떤 일이 일어났는지, 스스로 알아 볼 수 있고 세부 사항을 검토 할 수 있습니다.

앞에서 말씀 드린 대로 이제 모든 AWS 고객이 CloudTrail에 로그인하고 Event History을 검토 할 수 있습니다. 아래 보기에서 지난 7 일간의 데이터 뿐만 아니라 더 많은 정보를 볼 수도 있습니다.

물론, 사내 규정 감사를 위해 CloudTrail 로그 파일에 직접 접근하거나 로그를 보관하려는 경우에도 로그 파일을 만들 S3 버킷을 지정할 수 있습니다. Cloudtrails 서비스로 CloudWatch Logs 및 CloudWatch Events에 이벤트를 전달할 수 있습니다.

CloudTrail 콘솔에 로그인 한 후 Create a trail 버튼을 클릭하기 만하면됩니다.

그런 다음 Trail name 텍스트 상자에 이름을 입력하고 모든 리전 혹은 현재 리전에만 적용하는 옵션에 대한 라디오 버튼을 선택합니다. 아래 화면에서는 TEW-USEast-Region-Trail라는 이름을 정하고 Apply trail to all regions 라디오 버튼에서 No를 선택합니다. 즉, 현재 리전인 미국-동부 (버지니아 북동부) 이벤트만 추적합니다. (참고 : 글로벌 리전을 사용하는 경우, AWS 계정과 관련된 모든 이벤트를 캡처하려면 전체 리전에 대해 추적하는게 좋습니다.)


Management events에서 CloudTrail이 추적하도록 하려는 작업에 대한 Read/Write events 라디오 단추 옵션을 선택합니다. 이 경우 All 옵션을 선택합니다.

다음 단계는 S3 객체 변경 작업을 추적하고자 하는 버킷을 선택합니다. 이것은 선택적 단계이지만, 기본적으로 AWS Cloudtrail은 데이터 이벤트를 기록하지 않습니다. 따라서, S3 객체 이벤트 활동을 추적하려는 경우, 데이터 이벤트 섹션에서 지정한 버킷의 오브젝트에 대한 데이터 이벤트를 추적하도록 추적을 구성 할 수 있습니다. aws-blog-tew-posts S3 버킷을 선택하고 기본 옵션을 유지하여 all Read/Write을 추적할 수 있습니다.

마지막 단계는  Storage Location 섹션에서 CloudTrail 로그를 저장할 S3 버킷을 선택하는 것입니다. CloudTrail을 대신하여 새 버킷을 만들거나, 계정에서 기존 버킷을 선택할 수 있습니다. CloudTrail에서 새 버킷을 만들어서 텍스트 상자에 고유 한 버킷 이름 인 tew-cloudtrail-logbucket을 입력하도록 선택합니다. 로그를 쉽게 찾을 수 있도록 저장소 위치의 고급 섹션을 확장하고 접두어를 추가합니다. 이 기능은 버킷에 저장된 로그에 검색 기준을 추가하려는 경우에 가장 유용합니다.  접두어로 tew-2017를 설정하고, Encrypt log files, Enable log file validationSend SNS notification for every log file delivery 등  Advanced 옵션에 대한 기본 값을 유지합니다.

이제 설정을 마치고, Create 버튼을 클릭하면  CloudTrail의 트레일을 성공적으로 만들었습니다.

지금 시작하기

AWS CloudTrail 에 대한 자세한 내용은 서비스 제품 페이지, CloudTrail 설명서 또는 AWS CloudTrail FAQ를 참조하십시오.  이제 모든 AWS 고객을위한 CloudTrail 기본 제공을 잘 활용하여 얻을 수 있는 모든 장점을 즐기십시오!

Tara

이 글은 New – Amazon Web Services Extends CloudTrail to All AWS Customers의 한국어 번역입니다.

AWS Config 업데이트 – S3 버킷 보안을 위한 두 가지 관리 규칙 추가

AWS Config는 AWS  자원 상태와 그 사이 관계를 계속 모니터링 하는 서비스입니다. 각 서비스 자원을 선택한 다음, 자원에 영향을 주는 구성 변경 타임 라인을 볼 수 있습니다 (자세한 내용은 AWS Config와 AWS 자원 관계 추적을 참조하십시오).

AWS Config rules은 AWS Config의 “관리형” 컬렉션과 사용자가 직접 작성한 사용자 정의 규칙을 지원하는 강력한 규칙 시스템으로 확장합니다 (AWS Config Rules – 클라우드 리소스에 대한 동적 컴플라이언스 검사 등 참조). ). Config Rules (AWS Lambda 함수)은 AWS 자원의 이상적인 상태를 나타냅니다. 함수는 구성 변경이 감지 될 때, 호출되며 표준 규정 준수 여부를 확인합니다.

약 30 개의 관리 규칙에 접근할 수 있으며, 예를 들어 EC2 인스턴스 및 관련 리소스를 확인하는 몇 가지 규칙은 다음과 같습니다.

두 가지 신규 규칙
오늘은 S3 버킷 보안을 유지하는 데 도움이되는 두 개의 새로운 관리 규칙을 추가하고 있습니다. 클릭 한 번으로 이러한 규칙을 활성화 할 수 있습니다. 새로운 규칙은 다음과 같습니다.

s3-bucket-public-write-prohibited – 전역 쓰기 접근을 허용하는 버킷을 자동으로 식별합니다. 이 구성을 의도적으로 만들지 않는 이유는 권한이 없는 사용자가 악성 콘텐트를 버킷에 추가하고 기존 콘텐트를 삭제 (덮어 쓰기) 할 수 있습니다.  이 규칙은 계정의 모든 버킷을 검사합니다.

s3-bucket-public-read-prohibited – 전역 읽기 접근 허용하는 버킷을 자동으로 식별합니다. 그러면, 웹 사이트 및 문서를 포함하여 공개적으로 사용할 수 있는 콘텐츠의 플래그가 지정됩니다. 이 규칙은 계정의 모든 버킷을 검사합니다.

기존 규칙과 마찬가지로 새 규칙은 일정에 따라 또는 Config가 감지 한 변경 사항에 따라 실행될 수 있습니다. 모든 규칙의 준수 상태를 한 눈에 볼 수 있습니다.

각 규정 준수 평가는 밀리 세컨드 단위로 실행됩니다. 100 개의 버킷으로 계정을 검색하는 데 1 분도 안 걸립니다. 대부분의 경우, NP 완료 문제를 다항식 시간에 처리 할 수 있는 최첨단 제약 해결 기법을 사용하는 추론 엔진에 의해 규칙이 평가됩니다 (NP 대 P 문제 참조). 이 작업은 AWS 내부의 개발 부분 중 하나로서 아래의 re:Invent  Automated Formal Reasoning About AWS Systems 발표 자료를 참고하시기 바랍니다.

정식 출시
새로운 규칙은 현재 사용할 수 있으며 오늘부터 사용할 수 있습니다. 다른 규칙과 마찬가지로 한 달에 규칙 당 2 달러로 책정됩니다.

Jeff;

이 글은 AWS Config Update – New Managed Rules to Secure S3 Buckets의 한국어 번역입니다.

AWS Glue 정식 출시 – 완전 관리형 ETL 서비스

오늘 AWS Glue 서비스가 정식 출시되었습니다. AWS Glue는 완전 관리형, 서버리스 기반 클라우드 데이터 추출, 변환 및 로드 (ETL) 서비스입니다. 이 서비스는 몇 가지 매우 중요한 방식으로 다른 ETL 서비스 및 소프트웨어 플랫폼과 다릅니다.

첫째, Glue는 “서버가 필요하지 않습니다.” 어떤 인프라 자원도 프로비저닝하거나 관리 할 필요가 없으며, Glue 실행될 때만 비용을 지불합니다. 둘째, Glue는 많은 데이터 소스, 데이터 유형 및 다양한 유형의 파티션에서 스키마를 자동으로 감지하고 추론 할 수 있는 크롤러를 제공합니다. 편집, 버전 관리, 질의 및 분석을 위해 이러한 생성 된 스키마를 중앙 데이터 카탈로그에 저장합니다. 셋째, Glue는 자동으로 ETL 스크립트 (Python 기반)를 생성하여 원본 형식의 데이터를 대상 형식으로 변환합니다. 마지막으로, Glue를 사용하면 개발자가 자신이 선호하는 도구를 사용하여 ETL 스크립트로 엔드 포인트를 만들 수 있습니다. 자, 실제 예제를 살펴 보도록 합시다.

Crawlers

먼저 Amazon S3의 항공편 데이터에 대한 크롤러를 만들어야 합니다.  Glue 콘솔에서 Crawlers를 선택하고 거기에서 온 스크린 프롬프트를 따릅니다. 첫 번째 데이터 소스로 s3://crawler-public-us-east-1/flight/2016/csv/를 지정할 것입니다 (필요할 경우 나중에 추가 할 수 있습니다). 다음으로 flight라고 하는 데이터베이스를 만들고 테이블에 항공편의 접두어도 지정합니다.

크롤러는 데이터 세트를 거쳐 다양한 폴더(이 경우에는 일년 데이터)를 통해 파티션과 스키마를 감지하며 테이블을 만듭니다. 추가 데이터 소스와 작업을 크롤러에 추가하거나 데이터를 동일한 데이터베이스로 푸시하는 별도의 크롤러를 만들 수 있지만 자동 생성 된 스키마를 살펴 보겠습니다.

BIGINT에서 INT로 이동하여 일년으로 빠르게 스키마를 변경하려고 합니다. 필요한 경우 스키마의 두 버전을 비교할 수 있습니다.

이제 데이터를 올바르게 구문 분석하는 방법을 알게 되었으므로, 필요한 변경을 할 수도 있습니다.

ETL Jobs
이제 작업 하위 콘솔로 이동하여 Add Job를 클릭합니다.  이름을 설정하고, 데이터 소스를 선택한 후, 임시 파일을위한 S3 위치를 묻는 메시지를 따릅니다. 다음으로 “Create tables in your data target”를 지정하여 타겟을 추가하고, Parquet format으로 S3 위치를 목표로 지정합니다.

다음을 클릭하면 Glue가 제안한 다양한 매핑을 보여주는 화면이 나타납니다. 이제는 필요에 따라 수동으로 열을 조정할 수 있습니다.이 경우에는 X 버튼을 사용하여 필요 없는 열 몇 개를 제거합니다.

이를 통해 개발자에게 유용한 부분으로 넘어갈 수 있습니다.


Glue는 PySpark 스크립트를 생성하여 지금까지 제공 한 정보를 기반으로 데이터를 변환합니다. 왼쪽에는 ETL 작업의 흐름을 보여주는 다이어그램이 있습니다. 오른쪽 상단에는 주석이 달린 데이터 소스와 대상 등 기타 기능을 추가하는 데 사용할 수 있는 몇 가지 버튼이 있습니다. 이것은 transform을 클릭하면 얻을 수 있는 인터페이스입니다.

데이터 변환 또는 추가 데이터 소스를 추가하면, Glue가 왼쪽에 있는 다이어그램을 업데이트하여 데이터 흐름을 효과적으로 시각화 합니다. 또한, 원하는 코드를 콘솔에 작성하여 실행할 수도 있습니다. 현재 작업에 다른 작업, 일정 또는 작업 완료시 트리거를 추가 할 수 있습니다. 이를 통해, 더 많은 항공편 데이터를 추가 할 수 있어 동일한 데이터를 S3 형식으로 다시 읽어올 수 있습니다.

여기서 ETL 작업을 코드로 저장하는 방식의 장점을 잠깐 살펴 봅니다. 프로그램 코드는 쉽게 변경 혹은 테스트 가능하며 버전을 통해 다양한 사람이 공유할 수 있습니다. 개발자들은 매일 코드를 작성하기 때문에, 손쉽게 데이터 처리를 위한 코드를 만들어 효율적으로 활용 가능합니다.

개발용 엔드 포인트 및 노트북(Notebooks)

개발용 엔드포인트는 Glue 스크립트를 개발하고 테스트하는 데 사용되는 환경입니다. Glue 콘솔에서 “Dev endpoints”로 이동하면 오른쪽 상단의 “Add endpoint”를 클릭하여 시작할 수 있습니다. 그런 다음 자체를 참조하는 보안 그룹 인 VPC를 선택하고 제공 준비가 완료 될 때까지 기다립니다.


일단 프로비저닝이 완료 되면 조치로 가서 노트북 서버 생성을 클릭하여 Apache Zeppelin 노트북 서버를 생성 할 수 있습니다.  인스턴스에 IAM 역할을 부여하고 데이터 소스와의 대화 권한이 있는지 확인합니다. 그런 다음 서버에 SSH를 연결하거나 노트북에 연결하여 스크립트를 대화식으로 개발할 수 있습니다.

비용 및 개발 문서
자세한 가격 정보는 여기에서 확인할 수 있습니다. 크롤러, ETL 작업 및 개발 엔드 포인트는 모두 DPU (Data Processing Unit Hours, 분 단위)에 청구됩니다. 각 DPU-Hour의 비용은 미국 버지니아 리전 기준 0.44 달러 입니다. 단일 DPU는 4vCPU 및 16GB의 메모리를 제공합니다.

이 글에서는 AWS  Glue가 가지고 있는 기능의 절반 만 다루었습니다.  더 자세한 사항은 기술 문서서비스 FAQ를  참고해 주시기 바랍니다. Glue에는 콘솔에서 수행 할 수 있는 모든 작업을 수행 할 수 있는 풍부하고 강력한 API가 있습니다.

또한, 오늘 두 개의 새로운 프로젝트를 발표합니다. aws-glue-libs 는 Glue와 대화하기 위한 유틸리티 세트를 제공합니다. aws-glue-samples repo에는 일련의 예제 작업이 포함되어 있습니다.

– Randall;

이 글은 Launch – AWS Glue Now Generally Available의 한국어 번역입니다.

AWS Migration Hub – 대기업을 위한 신규 클라우드 마이그레이션 기획 및 추적 서비스

일주일에 한 번, 시애틀 기업 임원 지원 센터 (Seattle Executive Briefing Center)에서 AWS 고객과 이야기를 하는데, 기업 혁신 프로세스를 이야기하면서 애플리케이션 마이그레이션에 대해 논의하기도합니다. 기업이 애플리케이션 포트폴리오를 클라우드로 이전하려고 할 때, 좀 더 구조화되고 정확한 과정을 통해 수행하려고합니다. 이러한 포트폴리오에는 대체적으로 수백 가지의 복잡한 Windows 및 Linux 응용 프로그램, 관계형 데이터베이스 등으로 구성됩니다. 고객은 클라우드로 이전을 빠르게 하고 싶지만 불확실한 것들이 많다는 점을 발견하였고, 일반적으로 다음과 같은 세 가지 주요 범주에 해당하는 문제를 발견했습니다.

  • 애플리케이션 발견 – 애플리케이션을 구동하는 모든 움직이는 부분을 깊이 있고 완벽하게 이해해야 합니다.
  • 서버 및 데이터베이스 마이그레이션 – 사내 구축 환경의 작업 부하 및 데이터베이스 테이블을 클라우드로 이전해야 합니다.
  • 추적 / 관리 – 대규모 애플리케이션 포트폴리오에 대한 이전을 동시에 진행되는 경우 애플리케이션 중심 방식으로 진행 상황을 추적하고 관리해야 합니다.

지난 2 년 동안 처음 두 가지 문제를 해결하는 일련의 도구를 출시했습니다. AWS Application Discovery Service는 시스템 정보 검색 및 수집 프로세스를 자동화하고, AWS Server Migration Service는 클라우드로 이동하는 작업 부하를 처리하며 AWS Database Migration Service는 최소한의 중단 시간으로 관계형 데이터베이스, NoSQL 데이터베이스 및 데이터웨어 하우스를 이동합니다. RacemiCloudEndure와 같은 파트너도 자체 마이그레이션 도구를 제공합니다.

신규 AWS Migration Hub
오늘 새로 공개하는 AWS Migration Hub에서는 AWS 및 파트너 마이그레이션 도구 모음을 함께 제공합니다. 본 서비스는 위에서 언급한 도구에 대한 접근을 제공하고, 마이그레이션 프로세스를 안내하며, MAP (Migration Acceleration Program)에 설명 된 방법 및 이전 과정에 대한 추적 기능을 지원합니다.

다음은 기본 화면입니다. 마이그레이션 프로세스 (검색, 마이그레이션 및 추적)에 대해 간략히 설명합니다.

Start discovery을 클릭하면 마이그레이션 프로세스의 흐름이 표시됩니다.

발견 단계를 건너 뛰고 즉시 마이그레이션을 시작할 수도 있습니다.

서버 목록은 AWS 마이그레이션 서비스 (Server Migration Service 또는 Database Migration Service), 파트너 도구 또는 AWS Application Discovery Service에서 수집 한 데이터를 사용하여 채워집니다.

Group as application으로 첫번째 애플리케이션을 만들 수 있습니다.

이전할 일부 애플리케이션을 식별하면, 허브의 Migrations 섹션에서 해당 애플리케이션을 추적 할 수 있습니다.

승인된 경우, 마이그레이션 도구는 상태 업데이트 및 결과를 Migration Hub으로 자동 전송하여 마이그레이션 상태 페이지에 표시합니다. 여기에서 Racemi DynaCenterCloudEndure Migration이 마이그레이션에서 중요한 역할을 담당하고 있음을 알 수 있습니다.

Migration Hub Dashboard를 확인하여 마이그레이션 상태를 추적 할 수 있습니다.

Migration Hub는 AWS 및 마이그레이션 파트너의 마이그레이션 도구와 함께 작동합니다. 자세한 내용은 통합 파트너 도구 목록을 참조하십시오.

정식 출시
AWS Migration Hub는 마이그레이션 도구를 사용할 수 있는 모든 AWS 리전에서 이전 작업을 관리 할 수 ​​있습니다. 다만, 허브 서비스 자체는 미국 서부 (오레곤) 지역에서 운영됩니다. 허브 서비스 사용에는 요금이 부과되지 않습니다. 마이그레이션 과정에서 사용하는 AWS 서비스에 대해서만 비용을 지불하게 됩니다.

클라우드 마이그레이션을 시작할 준비가 되어 있고 도움이 필요한 경우, 마이그레이션 파트너가 제공하는 서비스를 활용하시길 권장해 드립니다.

Jeff;

이 글은 AWS Migration Hub – Plan & Track Enterprise Application Migration의 한국어 번역입니다.

AWS SAM Local (베타) – 로컬 기반 서버리스 앱 테스트 및 개발 도구

오늘 신규 서버리스(Serverless) 개발 도구 인 SAM Local 베타 버전을 발표했습니다.이 도구를  통해 로컬에서 쉽게 작성하고 테스트 할 수 있습니다. 이 글에서는 SAM local을 사용하여, 개발자들이 코드 개발 시, 탭 혹은 스페이스 선호도 투표 할 수 있는 빠른  애플리케이션을 빌드, 디버그 및 배포하는 예제를 소개해 드리고자 합니다. AWS는 작년에 Serverless Application Model (SAM)을 소개하고, 이를 통해 서버리스 애플리케이션을 쉽게 배포 할 수 있습니다.  SAM은 AWS CloudFormation을 기반으로 하는 강력한 오픈 소스 기반 인프라 코드 구현 모델 입니다. 로 유지하기가 쉽고 가장 멋진 마스코트를 갖추고 있습니다.

SAM Local은 SAM의 아래와 같은 장점을 로컬 시스템으로 가져와서 사용 가능합니다.

SAM Local을 설치하는 데에는 몇 가지 방법이 있지만 가장 쉬운 방법은 NPM을 사용하는 것입니다. npm install -g aws-sam-local 명령을 사용하거나, 최신 버전을 원하면 github.com/awslabs/aws-sam-local (aws-sam-local  바이너리)에서 설치 가능합니다..

개발자들이 코드 개발 시, 탭 혹은 스페이스 선호도 투표 할 수 있는 빠른  애플리케이션을 API Gateway 및 AWS Lambda를 통해 만든 후, 이를 DynomoDB에 저장합니다. https://SOMEURL/ -d '{"vote": "spaces"}' 같은 간단한 엔드포인트가 될 것이고, 아래와 같은 간단한 SAM 템플릿 파일로 정의할 수 있습니다.

YAML
AWSTemplateFormatVersion : '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
  VotesTable:
    Type: "AWS::Serverless::SimpleTable"
  VoteSpacesTabs:
    Type: "AWS::Serverless::Function"
    Properties:
      Runtime: python3.6
      Handler: lambda_function.lambda_handler
      Policies: AmazonDynamoDBFullAccess
      Environment:
        Variables:
          TABLE_NAME: !Ref VotesTable
      Events:
        Vote:
          Type: Api
          Properties:
            Path: /
            Method: post

그래서  TABLE_NAME이라는 환경 변수를 통해 Lambda 함수에 드러내는 [dynamo_i] 테이블을 생성합니다. 이 템플릿이 유효한지 테스트하기 위해 sam validate를 호출하여, Valid를 반환 받으면 됩니다.

아래는 우리가 사용할 Lambda 함수 코드입니다.

Python
import os
import os
import json
import boto3
votes_table = boto3.resource('dynamodb').Table(os.getenv('TABLE_NAME'))

def lambda_handler(event, context):
    print(event)
    if event['httpMethod'] == 'GET':
        resp = votes_table.scan()
        return {'body': json.dumps({item['id']: int(item['votes']) for item in resp['Items']})}
    elif event['httpMethod'] == 'POST':
        try:
            body = json.loads(event['body'])
        except:
            return {'statusCode': 400, 'body': 'malformed json input'}
        if 'vote' not in body:
            return {'statusCode': 400, 'body': 'missing vote in request body'}
        if body['vote'] not in ['spaces', 'tabs']:
            return {'statusCode': 400, 'body': 'vote value must be "spaces" or "tabs"'}

        resp = votes_table.update_item(
            Key={'id': body['vote']},
            UpdateExpression='ADD votes :incr',
            ExpressionAttributeValues={':incr': 1},
            ReturnValues='ALL_NEW'
        )
        return {'body': "{} now has {} votes".format(body['vote'], resp['Attributes']['votes'])}

이제 로컬에서 테스트 해 봅시다. 실제 DynamoDB 데이터베이스를 만들어야 하고 환경 변수 TABLE_NAME을 통해 해당 데이터베이스의 이름을 제공해야 합니다. env.json 파일을 사용하여 본 작업을 수행 할 수 있습니다. 또는, 명령 줄에서 호출해서 만들 수 있습니다.

$ echo '{"httpMethod": "POST", "body": "{\"vote\": \"spaces\"}"}' |\
TABLE_NAME="vote-spaces-tabs" sam local invoke "VoteSpacesTabs"

Lambda 함수를 테스트하기 위해, sam local generate-event api  API를 사용하여 샘플 이벤트를 생성하고 이를 로컬 호출에 전달할 수 있습니다.  sam local start-api 을 통해 로컬 엔드 포인트를 말아서 모든 것을 테스트 할 수 있습니다.

$ curl -d '{ "vote": "tabs"}'http://127.0.0.1:3000/

그러면 다음과 같이 “tabs now has 12 votes”을 반환합니다.  만약 DynamoDB에 대한 로컬 테스트를 원하시면, DynamoDB Local 을 다운로드하고, 아래와 같이 로컬에서 시작할 수 있습니다.

 java -Djava.library.path =. / DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb

이제 Lambda 함수가 AWS_SAM_LOCAL 환경 변수를 사용하여 어떻게 행동할지 결정할 수 있습니다. 우리 함수를 약간 수정 해 봅시다.

Python
import os
import json
import boto3
if os.getenv("AWS_SAM_LOCAL"):
    votes_table = boto3.resource(
        'dynamodb',
        endpoint_url="http://docker.for.mac.localhost:8000/"
    ).Table("spaces-tabs-votes")
else:
    votes_table = boto3.resource('dynamodb').Table(os.getenv('TABLE_NAME'))

이제는 로컬 엔드 포인트를 사용하여 로컬 데이터베이스에 연결하므로 무선 랜 없이도 쉽게 작업 할 수 있습니다.

SAM local은 대화형 디버깅을 지원합니다. Java 및 Node.js에서 -d 플래그와 포트를 전달하여 디버거를 즉시 사용할 수 있습니다. 파이썬의 경우 import epdb; 와 같은 라이브러리를 사용할 수 있습니다. epdb.serve() 를 호출하고, sam local invoke -d 8080 "VoteSpacesTabs" 를 통해 디버거를 단계별로 실행하게 됩니다.

이제 먼저 aws cloudformation package의 별칭인 sam package 명령을 호출 한 다음이 명령의 결과를 sam deploy에 사용합니다.

$ sam package --template-file template.yaml --s3-bucket MYAWESOMEBUCKET --output-template-file package.yaml
Uploading to 144e47a4a08f8338faae894afe7563c3  90570 / 90570.0  (100.00%)
Successfully packaged artifacts and wrote output template to file package.yaml.
Execute the following command to deploy the packaged template
aws cloudformation deploy --template-file package.yaml --stack-name 
$ sam deploy --template-file package.yaml --stack-name VoteForSpaces --capabilities CAPABILITY_IAM
Waiting for changeset to be created..
Waiting for stack create/update to complete
Successfully created/updated stack - VoteForSpaces

이를 통해 API Gateway가 만들어집니다.

아래는 서비스가 라이브가 된 모습입니다. http://spaces-or-tabs.s3-website-us-east-1.amazonaws.com/

SAM Local 을 사용하면 서버리스 애플리케이션을 쉽게 테스트, 디버그 및 배포 할 수 있습니다. 본 소스 코드에 공헌하시려면, CONTRIBUTING.md 가이드 문서를 참고해 주시고, 좀 더 자세한 것은 기술 문서를 참고해 주시기 바랍니다.

Randall

이 글은 New – AWS SAM Local (Beta) – Build and Test Serverless Applications Locally의 한국어 번역 편집입니다.