Amazon Web Services 한국 블로그

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

on | in 주간 소식 모음 |

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

aws-korea-weekly

AWS코리아 블로그

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

AWS 행사 및 교육 안내

AWS 고객 및 개발자 추천 콘텐츠

AWS 주요 파트너사 블로그

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

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

– AWS코리아 마케팅팀;

AWS코리아에서 고객의 성공과 함께 성장할 인재를 찾습니다!

on | in 한국 소식 |

Amazon Web Services(AWS)는 아마존내에서 계속 성장하고 있는 가장 역동적인 사업 부문입니다. 2006년 부터 클라우드 컴퓨팅 업계의 선도자로서 스타트업, 중견 및 대기업 까지 다양한 규모의 회사에 클라우드 인프라 플랫폼을 제공해 왔습니다. AWS 코리아팀은 국내 개발자와 고객의 비지니스 성공과 클라우드를 통한 혁신 활동을 돕기 위해 최선을 다하고 있습니다.

2017년 AWS 코리아팀은 다양한 방면에서 국내 고객을 지원하고 돕기 위한 이러한 사명을 함께 하실 인재를 찾고 있습니다. 여러분이 관심이 있으시다면, 바로 아래 구인 내용을 확인하시고 지원해 주시기 바랍니다.

Cuw33uJVUAAGyF6

솔루션즈 아키텍트 (Solutions Architect) 분야
솔루션스 아키텍트(SA)는 국내 고객, 파트너 및 여러 AWS 팀과 협력하여 고객이 비즈니스의 요구 사항을 해결하고 AWS 서비스의 도입을 촉진할 수 있도록 확장성, 유연성 및 복원력이 뛰어난 클라우드 아키텍처를 구축하는 업무를 맡게 됩니다. 솔루션스 아키텍트는 신뢰할 수 있는 조언자로서 역할을 수행하여,  고객에게 고급 클라우드 기반 솔루션과 관련한 모범 사례와 기존 IT 워크로드를 클라우드로 마이그레이션하는 방법을 이해할 수 있도록 돕습니다. 솔루션스 아키텍트는 다양한 고객과 파트너 사이에서 AWS의 인지도 및 사용률을 높이기 위한 전략을 다듬고 실행할 수 있는 기회가 주어집니다. (동영상 참고)

고객 영업 담당자(Account Manager) 분야
고객 영업 담당자(AM)는 국내 스타트업, 중소 기업, 엔터프라이즈 영업 또는 고객 관리자로서 분야별 영역별 개별 고객들이 AWS를 도입하고, 비용 효율적인 IT 업무를 클라우드에서 서비스할 수 있도록 지원합니다. 고객의 경영진 뿐만 아니라 소프트웨어 개발자 및 IT 아키텍트와 협업할 수 있도록 영업 및 기술적인 경험을 모두 갖추어야 합니다. (동영상 참고)

비지니스 개발 담당자(Business Development Manager) 분야
비즈니스 개발 담당자(BDM)는  대기업, 중견 및 스타트업 고객들에게 AWS 클라우드 인지도 및 사용을 늘이기 위한 각종 전략을 다듬고 실행합니다. 담당할 주요 시장 영역을 지정하고, 해당 시장에서 새로운 비즈니스를 창출하기 위해 고객 및 파트너와 필수적인 비즈니스 및 기술적 관계를 수립하고, 영업 팀에서 향후 전망을 바탕으로 일상적인 영업을 수행하여 장기적인 비즈니스 기회를 마련할 수 있도록 지원하는 업무를 맡게 됩니다. 또한, 제품/서비스 팀과 긴밀하게 작업하며 해당 팀에서 제품/서비스의 품질을 높이는 것은 물론 문제 및 우려 사항과 현장에서의 요청을 해결할 수 있도록 지원하는 역할을 합니다.

파트너 비지니스 개발 담당자(Partner Business Development Manager) 분야
AWS 파트너 및 제휴 업체는 빠르게 그 규모가 커지고 있으며, AWS 기반 솔루션과 서비스 사례를 사용하여 시장을 구축하고 거래하는 기술 파트너(소프트웨어, OS, 데이터베이스, 보안 및 관리 도구 공급자)와 컨설팅 파트너(통합업체, 전문 서비스 기업, 대리점, 디지털 에이전시)로 이루어집니다. 파트너 BDM은 글로벌 파트너 프로그램을 개발하는 데 있어 매우 중요한 역할을 하며, 국내 AWS 파트너가 AWS를 기반으로 비즈니스를 구축하고 성장할 수 있도록 긴밀하게 협력합니다. IT 서비스의 파트너 프로그램, 파트너 관리 및/또는 글로벌 제휴에 대한 경험이 있는 지원자를 찾고 있습니다.

전문 컨설턴트(Professional Consultant) 분야
전문 컨설턴트(PC)는 국내 엔터프라이즈 고객 및 이들 고객의 IT 제공업체와 함께 혁신적인 클라우드 IT 프로젝트를 수행하며,  AWS 클라우드 서비스를 통합하는 과정을 안내하는 역할을 합니다. 이러한 고객 프로젝트에는 IT 혁신 계획, 포트폴리오 평가, 신규 워크로드 배포, 레거시 마이그레이션, 보안/규정 준수 지침, 인프라 엔지니어링, 빅데이터 분석 및 애플리케이션 현대화, TCO/ROI 경제 분석 및 운영 통합 등 다양한 컨설팅 영역을 포합됩니다. (동영상 소개 참고)

그 밖에도 다양한 직종 및 분야의 인재를 채용하고 있습니다.

최신의 자세한 정보는 Amazon.jobs 의 서울 지역 채용 정보 사이트를 참고해 주시기 바랍니다. 여러분의 많은 지원 바랍니다.

– AWS 코리아 채용팀;

AWS Step Functions 및 Amazon API Gateway 연동을 통한 서버리스 기반 승인 기능 구현하기

on | in Amazon API Gateway, AWS Lambda, AWS Step Functions, Serverless |

AWS Step Functions을 사용하는 가장 일반적인 사례는 프로그램 중에 사람이 개입해서 뭔가 승인해야 할 때입니다 (예: 회원 가입 시 이메일 승인 프로세스). Step Functions을 사용하면 상태 머신 이라고 하는 시각적 워크플로에서 일련의 단계별 분산 응용 프로그램 구성 요소를 쉽게 조정할 수 있습니다. 상태 머신을 신속하게 빌드 및 실행하여 응용 프로그램 단계를 안정적이고 확장성 높은 방식으로 실행할 수 있습니다.

이 글에서는 수동 승인 단계를 구현하기 위한 서버리스 디자인 패턴을 설명합니다. Step Functions 활동 작업(Activity Task)를 사용하여 나중에 결정을 내린 사람이 승인 또는 거부를 알려주는 고유한 토큰을 생성 및 반환할 수 있습니다.

기능 구현 단계 소개
Step Functions 상태 머신이 활동 작업 상태로 실행 되면, Step Functions은 활동(Activity)을 스케줄하고 활동 작업자(Activity Woker)를 기다립니다. 활동 작업자는 GetActivityTask를 호출하여 활동 작업을 가져오는 응용 프로그램 입니다. 작업자가 API 작업을 성공적으로 호출하면, 해당 작업자는 콜백 토큰을 포함하는 JSON blob로 작업을 보냅니다.

이 시점에서 상태를 포함한 실행 작업 상태 및 실행 분기가 일시 중지됩니다. 상태 머신에 타임아웃이 지정되어 있지 않으면,  활동 작업 상태는 활동 작업자가 vended 토큰을 사용하여 SendTaskSuccess 또는 SendTaskFailure를 호출 할 때까지 대기합니다. 이러한 일시 중지 기능이 수동 승인 단계를 구현하는 첫 번째 열쇠입니다.

두 번째 열쇠는 서버리스 환경에서 작업을 가져 오는 코드를 분리하고, 토큰을 공유 할 수 있는 한 완료 상태로 응답하고 토큰을 되돌려 보내는 코드에서 토큰을 가져 오는 기능입니다. 여기서 작업자는 단일 활동 작업 상태에 의해 관리되는 서버리스 응용 프로그램입니다.

이를 통해 일정에 따라 호출된 AWS Lambda 함수를 사용하여 활동 작업자를 구현합니다. 이 작업자는 승인 단계와 관련된 토큰을 획득하고, Amazon SES를 사용하여 승인자에게 이메일을 보냅니다.

직접 토큰을 리턴하는 응용 프로그램에서 Step FunctionsSendTaskSuccessSendTaskFailure API를 직접 호출 할 수 있기 때문에 매우 편리합니다. 이메일 클라이언트 또는 웹 브라우저가 토큰을 단계 기능으로 반환 할 수 있도록 Amazon API Gateway를 통해 이러한 두 가지 작업을 제공 하면, 보다 쉽게 작업을 수행 할 수 있습니다. 토큰을 가져 오는 람다 함수와 API 게이트웨이를 통해 토큰을 반환하는 응용 프로그램을 결합하여 서버리스 수동 승인 단계를 구현할 수 있습니다 (아래 그림 참조).

수동 승인이 필요한 상태가 되면, Lambda 함수는 승인 및 거부를 위해 두 개의 하이퍼링크가 포함 된 전자 메일을 준비하여 사용자에게 보냅니다.

권한이 부여 된 사용자가 승인(approval) 하이퍼 링크를 클릭하면 상태가 성공합니다. 사용자가 거절(reject) 링크를 클릭하면 상태가 실패합니다. 또한, 승인에 대한 시간 제한을 설정하도록 선택할 수 있으며, 제한 시간이 지나면 활동 작업 상태에서 재시도/처리 조건을 사용하여 이메일 요청을 재전송 하는 등의 조치를 취할 수 있습니다.

사례: 직원 승진 프로세스 승인
본 서버리스 애플리케이션 패턴의 하나로 이메일을 통해 관리자의 승인을 받는 것과 같은 기능을 포함하는  직원 승진 프로세스를 설계할 수 있습니다. 직원이 승진 후보로 정해되면, 새로운 Step Functions 실행이 시작됩니다. 직원의 이름과 직원 매니저 이메일 주소를 최초 제공합니다.

본 디자인 패턴을 사용하여 수동 승인 단계를 구현하고, SES를 사용하여 이메일을 관리자에게 보냅니다. 태스크 토큰을 획득 한 후, Lambda 함수는 API 게이트웨이가 제공하는 URI에 대한 하이퍼 링크가 포함 된 전자 메일을 생성하여 관리자에게 전송합니다.

본 사례에서는 IAM 역할을 만들 수 있도록 계정 관리 권한이 필요합니다.  또한, SES에 이메일 주소를 이미 등록 했으므로 주소가 보낸 사람/받는 사람으로 이메일을 보낼 수 있습니다. 자세한  정보는 Amazon SES로 전자 메일 보내기를 참조하십시오.

아래와 같은 단계로 서버리스 애플리케이션을 구현해 보겠습니다.

  1. 활동(Activity) 만들기
  2. 상태 머신(State Machine) 만들기
  3. API 생성 및 배포
  4. 활동 작업자 람다 함수 만들기
  5. 프로세스 테스트

단계 1: 활동 만들기
Step Functions 콘솔에서 Task를 선택하고, ManualStep이라는 활동을 작성하십시오.

stepfunctionsfirst_1.png

본 활동의 ARN을 저장해 두시기 바랍니다. (나중에 사용 예정)

stepfunctionsfirst_2.png

단계 2. 상태 머신 만들기
Step Functions 콘솔에서 승진 프로세스를 모델링하는 상태 머신을 만듭니다. 콘솔에서 기본 생성된 IAM 역할 인 StatesExecutionRole-us-east-1을 사용합니다. 상태 머신의 이름에 PromotionApproval를 지정하고 다음 코드를 사용합니다. Resource의 값을 위의 활동 ARN으로 바꾸십시오.

JavaScript
{
  "Comment": "Employee promotion process!",
  "StartAt": "ManualApproval",
  "States": {
    "ManualApproval": {
      "Type": "Task",
      "Resource": "arn:aws:states:us-east-1:ACCOUNT_ID:activity:ManualStep",
      "TimeoutSeconds": 3600,
      "End": true
    }
  }
}

단계 3. API 생성 및 배포
API 게이트웨이를 사용하여 SendTaskSuccess 또는 SendTaskFailure API 작업을 호출하기 위한 공용 URI를 만들고 배포합니다.

먼저, IAM 콘솔로 이동하여 API 게이트웨이가 Step Functions을 호출하는 데 사용할 수 있는 IAM 역할을 만듭니다. 역할 이름을 APIGatewayToStepFunctions로 지정하고 역할 유형으로 Amazon API 게이트웨이 를 선택한 다음 역할을 만듭니다.

IAM 역할을 만든 후, AWSStepFunctionsFullAccess 관리 정책을 추가하십시오.

stepfunctionsfirst_3.png

API 게이트웨이 콘솔에서 StepFunctionsAPI라는 새 API를 만듭니다. 성공(success) 및 실패(fail)이라는 루트 (/) 아래에 두 개의 새 리소스를 만들고 각 리소스에 대해 GET 메서드를 만듭니다.

stepfunctionsfirst_4.png

이제 각 메소드를 구성해야합니다. /fail GET 메소드를 선택하고, 다음 빙식으로 구성하십시오.

  • Integration type: AWS Service 선택
  • AWS Service: Step Functions 선택
  • HTTP method: POST 선택
  • Region: 여러분이 원하는 리전을 선택합니다. (참고. 아직 Step Functions이 지원되는 리전은 AWS Region Table에서 참고하세요.)
  • Action Type: SendTaskFailure 추가
  • Execution: APIGatewayToStepFunctions 역할의 ARN 값 입력

stepfunctionsfirst_5.png

URI를 통해 taskToken을 전달하려면 Method Request 섹션으로 이동하고 taskToken 이라는 URL Query String 매개 변수를 추가하십시오.

stepfunctionsfirst_6.png

Integration Request 섹션으로 이동하여 application/json 유형의 Body Mapping Template을 추가하여 쿼리 문자열 매개 변수를 요청 본문에 삽입합니다. 보안 경고에서 제안한 변경 사항을 허용합니다. When there are no templates defined (Recommended) 본문 패스 동작을 설정합니다. 아래 코드는 이러한 매핑을 수행합니다.

JavaScript
{
   "cause": "Reject link was clicked.",
   "error": "Rejected",
   "taskToken": "$input.params('taskToken')"
}

그런 다음, Save을 눌러 저장합니다.

다음에는 /success GET 메서드를 구성합니다. 구성은 /fail GET 메소드와 매우 유사합니다. 유일한 차이점은 Action입니다. SendTaskSuccess를 선택하고 다음과 같이 매핑을 설정하십시오.

JavaScript
{
   "output": "\"Approve link was clicked.\"",
   "taskToken": "$input.params('taskToken')"
}

API 작업을 구성한 후 API 게이트웨이 콘솔의 마지막 단계는 respond 이라고하는 새로운 단계에 API 작업을 배포하는 것입니다. GET 메소드 중 하나에서 Invoke URL 링크를 선택하여 API를 테스트 할 수 있습니다. 토큰이 URI에 제공되지 않으므로 ValidationException 메시지가 표시되어야 합니다.

stepfunctionsfirst_7.png

단계 4: 활동 작업자를 위한 Lambda 함수 만들기
Lambda 콘솔에서 Node.js 4.3 런타임에 대한 신규 템플릿을 활용하여 CloudWatch Events Schedule 트리거로 람다 함수를 만듭니다. Schedule expression에 입력하는 값은 활동 비율입니다. 이것은 활동 진행 시간이 계획되는 비율보다 커야합니다.

안전 마진(safety margin)은 활동이 계획되지 않은 동안 발생하는 토큰 손실, 재시도 활동 등을 설명합니다. 예를 들어, 승진 액션이 3 번이 발생할 것으로 예상되는 경우, 특정 한 주 동안 하루에 네 번 람다 함수를 실행하도록 예약 할 수 있습니다. 또는, 단일 람다 함수가 여러 활동을 병렬 또는 직렬로 실행될 수 있습니다. 이 때는 분당 1 회의 속도를 사용하지만 트리거는 아직 사용하지 않도록 설정합니다.

stepfunctionsfirst_8.png

이제 Node.js 4.3 코드를 사용하여 Lambda 함수 ManualStepActivityWorker를 만듭니다. 이 함수는 StepTunction에서 taskToken, employee 이름 및 manager 이메일 정보를 수신합니다. 이들 정보를 이메일에 포함시키고 이메일을 관리자에게 보냅니다.

JavaScript

'use strict';
console.log('Loading function');
const aws = require('aws-sdk');
const stepfunctions = new aws.StepFunctions();
const ses = new aws.SES();
exports.handler = (event, context, callback) => {
    
    var taskParams = {
        activityArn: 'arn:aws:states:us-east-1:ACCOUNT_ID:activity:ManualStep'
    };
    
    stepfunctions.getActivityTask(taskParams, function(err, data) {
        if (err) {
            console.log(err, err.stack);
            context.fail('An error occured while calling getActivityTask.');
        } else {
            if (data === null) {
                // No activities scheduled
                context.succeed('No activities received after 60 seconds.');
            } else {
                var input = JSON.parse(data.input);
                var emailParams = {
                    Destination: {
                        ToAddresses: [
                            input.managerEmailAddress
                            ]
                    },
                    Message: {
                        Subject: {
                            Data: 'Your Approval Needed for Promotion!',
                            Charset: 'UTF-8'
                        },
                        Body: {
                            Html: {
                                Data: 'Hi!<br />' +
                                    input.employeeName + ' has been nominated for promotion!<br />' +
                                    'Can you please approve:<br />' +
                                    'https://API_DEPLOYMENT_ID.execute-api.us-east-1.amazonaws.com/respond/succeed?taskToken=' + encodeURIComponent(data.taskToken) + '<br />' +
                                    'Or reject:<br />' +
                                    'https://API_DEPLOYMENT_ID.execute-api.us-east-1.amazonaws.com/respond/fail?taskToken=' + encodeURIComponent(data.taskToken),
                                Charset: 'UTF-8'
                            }
                        }
                    },
                    Source: input.managerEmailAddress,
                    ReplyToAddresses: [
                            input.managerEmailAddress
                        ]
                };
                    
                ses.sendEmail(emailParams, function (err, data) {
                    if (err) {
                        console.log(err, err.stack);
                        context.fail('Internal Error: The email could not be sent.');
                    } else {
                        console.log(data);
                        context.succeed('The email was successfully sent.');
                    }
                });
            }
        }
    });
};

이제 Lambda function handler and role 항목에서 Role에 대해서는 Create a new role을 선택하고 LambdaManualStepActivityWorkerRole를 생성합니다.

stepfunctionsfirst_9.png

IAM 역할에 두 개의 정책을 추가합니다. 하나는 Lambda 함수가 Step Functions를 호출하여 GetActivityTask API 조치를 호출하고 SES를 호출하여 이메일을 보내도록 허용하는 것입니다. 결과는 다음과 같습니다.

JavaScript
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": "arn:aws:logs:*:*:*"
    },
    {
      "Effect": "Allow",
      "Action": "states:GetActivityTask",
      "Resource": "arn:aws:states:*:*:activity:ManualStep"
    },
    {
      "Effect": "Allow",
      "Action": "ses:SendEmail",
      "Resource": "*"
    }
  ]
}

또한, GetActivityTask API 동작이 60 초 제한 시간으로 롱 폴링(long-polling)을 수행하므로 람다 기능의 제한 시간을 1 분 15 초로 늘립니다. 이를 통해 함수가 활동이 사용 가능하게 될 때까지 기다릴 수 있으며, SES에 이메일을 보내도록 여분의 시간을 제공합니다. 다른 모든 설정의 경우 람다 콘솔 기본값을 사용하십시오.

stepfunctionsfirst_10.png

그런 다음, 액티비티 작업자 람다 함수를 생성 할 수 있습니다.

단계5: 프로세스 테스트 하기

이제 직원 승직 프로세스를 테스트 할 준비가되었습니다.

람다 콘솔에서 ManualStepActivityWorker 람다 함수에서 ManualStepPollSchedule 트리거를 활성화하십시오.

Step Functions 콘솔에서 아래 입력 값을 사용하여 상태 시스템을 새로 시작하십시오.

JavaScript
{ "managerEmailAddress": "name@your-email-address.com", "employeeName" : "Jim" } 

잠시 후 Jim의 프로모션을 승인하거나 거부하는 링크가 포함 된 이메일을 받아야 합니다. 링크 중 하나를 선택하면 실행이 성공하거나 실패합니다.

stepfunctionsfirst_11.png

이 글에서는 AWS Step Functions의 활동 작업, API 게이트웨이가 있는 API 및 승인/실패 프로세스를 전달하는 AWS Lambda 함수가 포함 된 상태 머신을 만들었습니다. 본 디자인 패턴을 사용하여 수동 승인 단계를 구현할 수 있습니다.

질문이나 제안이 있으시면 아래에 의견을 남겨주십시오.


Ali Baghani, Software Development Engineer

이 글은 Implementing Serverless Manual Approval Steps in AWS Step Functions and Amazon API Gateway의 한국어 번역입니다.

Amazon Chime – 신규 통합 커뮤니케이션 서비스 출시

on | in Amazon Chime |

많은 직장인들이 동료와 커뮤니케이션에 많은 시간을 보내고 있습니다. 특히, 글로벌 회사에 있는 분들은 전 세계 직원들과 소통하며 서로 협력 관계를 구축하고 있습니다. 사무실에서 컴퓨터 앞에 앉아있는 사람도 있고, 이동하면서 스마트 폰 단말기를 사용하는 사람도 있습니다. 이른바 콘퍼런스 콜이라는 방식으로  어디에 있던지 자주 회의하고 문서를 공유하며, 화면을 함께 보면서 회의를 합니다.

오랜 기간 동안 ‘비즈니스 생산성’ 도구는 계속 진화해 왔으나, 이들 대부분 도구는 한 두 가지 커뮤니케이션 모델과 협력 스타일에만 최적화되어 있는 경우가 많습니다.  라이센스 확보 및 도구 활용 학습 비용, 그리고 내부 뿐 아니라 외부와의 협력 관계에 대한 지원 부족 등 상당한 개선이 필요합니다.

이제 뭔가를 바꿀 때가 된 것입니다.

Amazon Chime(차임) 서비스 소개
오늘 Amazon Chime을 소개합니다. AWS의 신규 통합 커뮤니케이션 서비스를 통해 다양한 온라인 미팅을 보다 쉽고 효과적으로 할 수 있게 만들어졌습니다. Amazon Chime는 한 번의 클릭으로 고품질 사운드와 비디오 회의를 시작할 수 있습니다. 미팅을 시작하면, 채팅, 콘텐츠 공유, 화면 공유가 원활한 환경으로 제공되며, PC,  맥 같은 데스크톱, iOS와 Android 기기에 대응하고 있습니다.

Amazon Chime은 아마존이 제공하는 완전 관리형 서비스로서, 서버 투자, 소프트웨어 도입 및 상시 유지 보수가 필요하지 않습니다. 사용자는 Chime 응용 프로그램을 다운로드 후 바로 사용해 볼 수 있습니다.

Amazon Chime의 주요 기능을 간단히 소개해 드리겠습니다.

  • 정시 미팅 가능 – 미팅을 미리 알리려고, 전화할 필요가 없습니다. 콘퍼런스 콜 번호를 기억하고 암호와 함께 입력할 필요도 없습니다. 대신 Amazon Chime는 미팅이 시작하는 때, 휴대폰이나 컴퓨터에 알람을 주어 바로 참여하거나, 조금 늦게 참여함을 알릴 수 있습니다.
  • 모임 명단 제공 – 콘퍼런스 콜 하면 의례적으로 “누가 참여했는지”에 대한 질문을 하게 되는데, Amazon Chime는 참가자, 지각자 혹은 결석자 명단을 시각적으로 제공합니다. 또한, 누구나 다른 참가자 음소거 기능을 제공하여, 주변이 시끄러운 경우 소리를 차단할 수 있습니다.
  • 다양한 참여 방법– Amazon Chime는 다양한 데스크톱 및 모바일 장치에서 실행할 수 있습니다. 또한, 첫번째 장치에서 회의에 참석 한 후, 손쉽게 다른 장치로 이동할 수 있습니다.
  • 손쉬운 공유 기능 – 모임 참가자는 원하는 시간에 화면을 공유할 허가를 얻을 필요가 없습니다. Chime 대화방에서는 참가자들이 함께 작업 할 공유 기록을 작성하고, 이를 암호화 형식으로 저장됩니다.
  • 고음질 통화 기능 – Amazon Chime는 고음질로 잡음 없는 음성과 명확하고 선명한 HD 비디오를 모든 사용자 장치와 거의 모든 종류의 회의실 비디오 시스템에 제공합니다.

Amazon Chime 사용해 보기
운영 체제별 Chime 클라이언트를 다운로드 한 다음, Amazon Chime의 주요 기능을 우선 기본 화면에서 실행해 보겠습니다.

Meeting을 클릭 한 다음 Outlook 일정 또는 Google 캘린더에 미팅 일정을 계획합니다.

Outlook 일정은 Amazon Chime 플러그인을 사용하고 있습니다. Outlook에서 일정을 클릭하면, 추가 기능 설치가 필요합니다. 그 후, 정상적으로 이벤트를 설정하면 됩니다.

Amazon Chime 미팅 시작 전에 알림을 보내 줍니다.

Answer를 누르고 오디오 옵션을 선택합니다.

회의가 시작되면, 다른 사람을 초대하거나 화면 공유, 웹캠 사용, 채팅 등의 기능이 있습니다.

미팅 중에 회의 녹화, 미팅 잠금 등 변경할 수 있는 다양한 옵션이 있습니다.

Amazon Chime는 1 대 1 채팅과 채팅룸도 준비되어 있습니다. 아래는 새로운 대화방을 만드는 방법을 보여줍니다.

대화방을 만든 후 블로거를 초청해 대화를 할 수 있습니다.

위의 내용은 기능의 일부 만을 소개합니다! 지금 시작하려면  Amazon Chime 사이트에서 지금 사용해 보시기 바랍니다.

Amazon Chime 버전별 보기
Amazon Chime는 세 종류의 버전을 사용할 수 있습니다.

  • Basic Edition: 무료로 사용할 수 있습니다. 모임 참여, 1 대 1 영상 통신, Amazon Chime의 모든 채팅 기능을 사용해 볼 수 있습니다.
  • Plus Edition: 사용자 당 매월 2.50 달러에서 사용할 수 있습니다. 이 버전은 이메일 도메인 관리, 사용자 당 1 GB의 메시지 저장 및 Active Directory에 대한 연결을 지원합니다.
  • Pro Edition: 사용자 당 매월 15.00 달러로 사용할 수 있습니다. 이 버전은 100 명까지 참가할 수있는 모임이 가능합니다.

Amazon Chime Pro는 30 일간의 무료 체험 기간을 제공하고 있습니다. 30일 기간 경과 후 무료 Amazon Chime Basic을 계속 원하는 만큼 이용하거나, Amazon Chime Pro를 1 명의 사용자 당 매월 15.00 달러에 구입할 수 있습니다. 사전에 비용을 지불 할 필요 없이 언제든지 등록 변경 및 취소 할 수 있습니다.

정식 출시
Amazon Chime는 지금 사용 가능 하며, 지금 등록 후 체험해 보시기 바랍니다.

Jeff;

이 글은 Amazon Chime – Unified Communications Service의 한국어 번역입니다.

Amazon EBS 업데이트 – 언제나 자유롭게 볼륨 유형 및 크기 변경 가능

on | in Amazon EC2, Amazon Elastic Block Store |

AWS 고객은 서비스를 시작한 후, 사용자 트래픽 및 데이터 사이즈가 증가함에 따라 기존 볼륨을 수정하여 용량을 추가하거나 I/O 성능 특성을 변경해야 할 경우가 생깁니다. 이를 변경하기 위해, 24시간 운영하는 서비스를 중단하는 않고도 바로 변경하고 싶다는 요구 사항을 많이 받았습니다.

특히, AWS는 몇 해에 걸쳐 다양한 케이스를 지원하는 신규 EBS 볼륨 타입을 제공했습니다. 이를 통해 운영 체제에 영향을 주지 않고, 볼륨 유형을 스토리지 계층으로 사용하고 유형을 수정하여 비용을 절감하거나 성능 특성을 변경하여 EBS 볼륨도 탄력적으로 유지하기 바라고 있습니다.

신규 탄력적 볼륨(Elastic Volume) 출시
오늘 탄력적 볼륨이라고 신규 EBS 기능을 출시합니다. 현 EC2 인스턴스에 연결된 모든 EBS 볼륨에서 사용할 수 있습니다. 볼륨을 사용하는 동안, 볼륨 크기를 늘리거나 성능을 조정하거나 볼륨 유형을 변경할 수 있습니다. 변경 사항이 적용하는 동안 응용 프로그램을 계속 사용할 수 있습니다.

이 새로운 기능은 많은 작업을 단순화 해주며, 간단한 API 호출을 사용하여 인스턴스 내 스토리지 인프라를 즉시 변경할 수 있습니다. Elastic Volumes을 사용하여 다음과 같은 시나리오를 해결할 수 있습니다.

  • 신속한 볼륨 유형 변경 – 처음에 인프라를 서둘러 설정하고 블록 스토리지에 General Purpose SSD 볼륨을 사용했습니다. 몇 가지 경험을 쌓은 후에는 처리량 최적화 볼륨이 더 적합하다는 것을 알게 되었을 때, 간단히 볼륨 유형을 변경할 수 있습니다.
  • 급작스런 트래픽 대비 – 월말에 배치 처리로 인해 매월 마지막 3일 동안 트래픽이 10배 급증하면, 해당 월에 적절한 양의 트래픽을 처리하도록 설정된 프로비저닝 IOPS 볼륨에서 관계형 데이터베이스를 실행할 수 있습니다. 탄력적인 볼륨을 사용하여, 유형 변경 후 다시 되돌릴 수 있습니다.
  • 자동 스토리지 증가 – 100 GiB에 대해 볼륨을 설정 한 후, 90% 이상이 저장된 경우 볼륨 크기를 늘리고 중단 없이 파일 시스템을 확장하는 자동화 운영이 가느합니다.

탄력적 볼륨 사용하기
AWS 관리 콘솔, API 호출 또는 AWS 명령 줄(CLI)에서 모든 것을 관리 할 수 ​​있습니다.

콘솔에서 변경하려면 볼륨을 선택하고 Action 메뉴에서 Modify Volume을 선택하십시오.

그런 다음 볼륨 유형, 크기 및 프로비저닝 된 IOPS (필요한 경우)를 원하는 대로 변경하십시오. 여기에서 75 GiB 범용 (gp2) 볼륨을 20,000 IOPS의 400 GiB 프로비저닝 IOPS 볼륨으로 변경합니다.

Modify을 클릭하고, 확인 후 Yes를 클릭하십시오 :

볼륨의 상태는 작업 진행 상황을 반영합니다 (modifying, optimizing, complete):

다음 단계는 추가 저장 영역 공간을 이용할 수 있도록 파일 시스템을 확장하는 것입니다. 이를 수행하는 방법은 Linux에서 EBS 볼륨의 저장소 공간 확장 또는 Windows에서 EBS 볼륨의 저장소 공간 확장 문서를 참조하십시오. 상태가 optimizing로 전환되는 대로 파일 시스템을 확장 할 수 있습니다. (일반적으로 작업을 시작한 후 몇 초 후). 최적화가 최대 24 시간 동안 계속 될 수 있지만 새로운 구성이이 시점에서 적용됩니다. 상태가 optimizing로 바뀌자마자 새 구성에 대한 요금 청구가 시작됩니다 (수정 자체는 무료입니다)

자동 탄력적 볼륨 작업 방법
콘솔에서 수동으로 변경하는 것보다, 다음과 같은 경우에 자동화를 통한 운영 부담을 감소하는 것도 좋습니다.

  • 최적의 볼륨 크기 조정 – CloudWatch 알람을 사용하여 IOPS 한도에서 실행 중인 볼륨을 감시할 수 있습다. 추가 IOPS를 제공하거나 볼륨 유형을 변경할 수 있는 작업 방법을 만들거나 CloudWatch에 “여유 공간” 측정 항목을 추가하고, 볼륨 및 파일 시스템의 크기를 조정하는 할 수 있습니다.
  • 비용 절감 – 통계치를 활용하여 불필요한 IOPS를 줄이거나 더 저렴한 볼륨 유형으로 자주 바꿀 수 있습니다. 이를 통해 스토리지 운영에 드는 비용을 절감하면서도, 최적화된 볼륨 운영 할 수 있습니다.

이러한 프로세스를 자동화하는 방법을 보여주기 위해 CloudWatch Events, AWS Lambda, EC2 Systems Manager 및 PowerShell 스크립팅을 사용하는 샘플을 작성했습니다. 본 규칙은 EBS에서 생성한 modifyVolume이벤트를 기반으로 logEvents Lambda 함수를 호출합니다.

본 람다 함수는 볼륨을 찾아 EC2 Systems Manager가 관리하는 인스턴스에 연결되어 있는지 확인한 다음, 인스턴스에 “maintenance tag”를 추가합니다.

from __future__ import print_function
import boto3
ec2 = boto3.client('ec2')
ssm = boto3.client('ssm')
tags = ['maintenance']

def lambda_handler(event, context):
    volume = [event['resources'][0].split('/')[1]]
    attach = ec2.describe_volumes(VolumeIds=volume)['Volumes'][0]['Attachments']
    if attach:
        instance = attach[0]['InstanceId']
        filters = [{'key': 'InstanceIds', 'valueSet': [instance]}]
        info = ssm.describe_instance_information(
            InstanceInformationFilterList=filters)['InstanceInformationList']
        if info:
            ec2.create_tags(Resources=[instance], Tags=tags)
            print('{} Instance {} has been tagged for maintenance'.format(info[0]['PlatformName'], instance))

나중에 (수동 또는 일정에 따라) EC2 System Manager는 유지 관리를 위해 태그가 지정된 모든 인스턴스에서 PowerShell 스크립트를 실행하는 데 사용됩니다. 스크립트는 인스턴스의 디스크와 파티션을 보고 모든 드라이브 (파일 시스템)의 크기를 최대 허용 크기로 조정합니다.

foreach ($DriveLetter in $DriveLetters) {
	$Error.Clear()
        $SizeMax = (Get-PartitionSupportedSize -DriveLetter $DriveLetter).SizeMax
}

정식 출시
탄력적 볼륨 기능은 오늘 부터 모든 상용 리전에서 사용 가능합니다. 몇 가지 주요 사례와 인스턴스 타입 제한 사항은 Considerations When Modifying EBS Volumes 글을 참고하시기 바랍니다.

Jeff;

이 글은 Amazon EBS Update – New Elastic Volumes Change Everything의 한국어 번역입니다.

AWS 주간 소식 모음 – 2017년 2월 14일

on | in 주간 소식 모음 |

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

aws-korea-weekly

AWS코리아 블로그

AWS코리아 동영상

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

AWS 행사 및 교육 안내

AWS 고객 및 개발자 추천 콘텐츠

AWS 주요 파트너사 블로그

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

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

– AWS코리아 마케팅팀;

AWS Direct Connect 업데이트 – 링크 집합 그룹 출시

on | in AWS Direct Connect, Virtual Private Cloud |

오늘 AWS Direct Connect의 새로운 기능인 링크 집합(Link Aggregation) 출시 기능에 대해 말씀 드리고자 합니다.

일부 AWS 고객은 자신의 내부 네트워크와 46 개의 Direct Connect 위치 중 하나에 여러 개의 연결 (일반적으로 포트라고 함)을 설정 하고자 하는 요구 사항이 있었습니다.합니다. 어떤 고객은 AWS 외부 네트워크 문제에도 탄력적인 고가용성 링크를 만들고자 하거나, 단순히 더 많은 데이터 전송 처리량이 필요로 하는 경우도 있습니다.

이러한 중요한 고객 요구를 지원하기 위해 이제 최대 4 개의 포트를 구입하여 단일 관리 연결로 관리할 수 있습니다. 이를 링크 집계 집합 또는 LAG라고 합니다. 본 설정을 통해 네트워크 트래픽을 개별 패킷 수준에서 포트를 통해 로드 밸런싱됩니다. 모든 포트는 동시에 활성화되며, 단일 BGP 세션으로 나타납니다. 그룹 전체 트래픽은 동적 LACP (Link Aggregation Control Protocol – 또는 ISO/IEC/IEEE 8802-1AX:2016)를 통해 관리됩니다. 그룹을 만들 때 연결을 활성화하기 위해 활성화되어야 하는 최소 포트 수를 지정합니다.

여러 포트가 있는 새 그룹을 요청할 수 있으며, 기존 포트를 새 그룹으로 합칠 수 있습니다. 모든 포트는 동일한 속도 (1Gbps 또는 10Gbps)를 가지게 됩니다.

모든 포트는 AWS 측 동일한 장치에 연결됩니다. 기존 네트워크 장치에 여유 공간이 있는 한 기존 그룹에 포트를 추가 할 수 있습니다. (Direct Connect Console서 사용할 수 있음). 기존 그룹을 확장 및 장치에 열려있는 포트가 없는 경우, 새 그룹을 신청하고 기존 연결을 마이그레이션 하기만 하면 됩니다.

다음은 AWS Dicrect Connect 콘솔에서 링크 집합을 사용하는 방법입니다. 먼저 처음부터 새로운 LAG를 생성합니다.

둘째, 기존 연결에서 LAG 생성을 할 수 있습니다.


링크 집합 그룹 기능은 오늘 부터 미국 동부 (버지니아 북부), 미국 서부 (캘리포니아 북부), 미국 동부 (오하이오), 미국 서부 (오레곤), 캐나다 (중부), 남미 (상파울루), 아시아 태평양 ), 아시아 태평양 지역 (서울) 에서 사용할 수 있습니다. 이번 달 말까지 나머지 지역에서도 사용할 수있을 것으로 기대합니다.

AWS Direct Connect에 대한 더 자세한 사항은 아래를 참고하시기 바랍니다.

아울러 작년 re:Invent에서 Direct Connect Bundles 를 공개했습니다. 이 프로그램을 통해 고급 하이브리드 참조 아키텍처를 보실 수 있습니다.  더 자세한 것은 아래 영문 발표를 참고하시기 바랍니다.

Jeff;

이 글은 AWS Direct Connect Update – Link Aggregation Groups, Bundles, and re:Invent Recap의 한국어 편집본입니다.

운영 중인 EC2 인스턴스에 IAM 역할 연결하기

on | in Amazon EC2, AWS IAM |

AWS Identity and Access Management (IAM)의 역할을 통해 Amazon EC2 에서 실행되는 응용 프로그램이 자동 생성, 배포되는 임시 보안 자격 증명을 사용할 수 있습니다 . 임시 자격 증명을 사용하는 것은 IAM 모범 사례로서 인스턴스에서 직접 키 관리를 하지 않아도 됩니다.

2017-02-aws-iam-ec2-instance

즉, EC2 IAM 역할 적용 기능을 사용하여 장기적인 AWS 액세스 키(Access Key)를 수동 혹은 프로그램에서 직접 관리 할 필요가 없습니다. 얼마 전, IAM 역할을 통해 기존 EC2 인스턴스 응용 프로그램에서 AWS에서 제공하는 임시 보안 자격 증명을 사용할 수 있게 되었습니다. 또한 기존 EC2 인스턴스에 첨부 되어있는 IAM 역할을 변경할 수 있습니다.

이 글에서는 AWS CLI를 사용하여 기존 EC2 인스턴스에 IAM 역할을 손쉽게 변경하는 방법을 소개합니다. 아래는 이 글의 주요 순서입니다.

  1. IAM 역할 생성 하기
  2. EC2 인스턴스에 신규 IAM 역할 추가하기
  3. EC2 인스턴스에서 기존 IAM 역할 변경하기

이 글에서는 새로 만든 IAM 역할을 “YourNewRole”라고합니다. 이 역할과 연관된 인스턴스 프로파일을 “YourNewRole-Instance-Profile” 기존 인스턴스를 “YourInstanceId”라고 하겠습니다. 여기에서는 AWS 명령 줄 인터페이스 (CLI) 설정을 완료하고, IAM 역할을 만들 권한 및 EC2 API를 호출 권한을 가지고 있음을 전제로 하고 있습니다.

1. IAM 역할 생성 하기

참고 : 기존 IAM 역할을 연결할 경우, 이 글 아래의 “EC2 인스턴스에 신규 IAM 역할 추가하기”를 보시기 바랍니다. 또한, AWS 관리 콘솔을 사용하여 IAM 역할을 생성하고 진행하면 됩니다.

AWS CLI에서 IAM 역할을 생성하기 전에 신뢰 정책(Trust policy)을 작성해야합니다. 신뢰 정책은 EC2 등의 AWS 서비스가 응용 프로그램 대신 IAM 역할을 맡도록 허용합니다. 신뢰 정책을 만들려면, 아래 정책을 복사하여 YourNewRole-Trust-Policy.json로 저장 한 텍스트 파일에 붙여 넣습니다.

Json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

신뢰 정책을 만들면 기존 EC2 인스턴스에 연결할 수 있는 IAM 역할을 만들 준비가 되었습니다.

AWS CLI에서 IAM 역할을 만들기:

  1. AWS CLI에서 create-role 명령을 호출하여,  YourNewRole-Trust-Policy.json을 기반으로 YourNewRole이라는 IAM 역할을 생성합니다.
    $aws iam create-role --role-name YourNewRole --assume-role-policy-document file://YourNewRole-Trust-Policy.json
    
  2. 만들어진 IAM 역할에 계정 자원에 대한 접근 권한을 부여하려면, attach-role-policy 명령을 호출합니다. 아래 는 애플리케이션이 Amazon S3 버킷의객체에 대한 읽기 권한이 필요한 경우입니다. 따라서, AWS 관리 정책 중 하나인 AmazonS3ReadOnlyAccess을 사용합니다. AWS 관리 정책에 대한 자세한 내용은 “관리 정책 기술 문서“를 참조하십시오.
    $aws iam attach-role-policy --role-name YourNewRole --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
  3. create-instance-profile 명령 및 add-role-to-instance-profile 명령을 실행하여, IAM 인스턴스 프로파일 “YourNewRole-Instance-Profile“을 만듭니다. 인스턴스 프로파일을 통해 EC2는 IAM 역할 “YourNewRole“을 EC2 인스턴스에 추가할 수 있습니다. 자세한 내용은 “인스턴스 프로파일 사용“을 참조하십시오.
    $aws iam create-instance-profile --instance-profile-name YourNewRole-Instance-Profile
    $aws iam add-role-to-instance-profile --role-name YourNewRole --instance-profile-name YourNewRole-Instance-Profile

“YourNewRole”라는 IAM 역할을 성공적으로 만들었습니다.

2. EC2 인스턴스에 신규 IAM 역할 추가하기

이제 YourNewRole이라는 IAM 역할을 EC2 인스턴스 YourInstanceId에 연결할 준비가 되었습니다. 이제 추가해 보겠습니다.

  1. associate-iam-instance-profile 명령을 호출하여, 새로 생성 된 IAM 역할 “YourNewRole-Instance-Profile”, “YourNewRole” 인스턴스 프로파일을 EC2 인스턴스 “YourInstanceId”에 연결합니다.
    $aws ec2 associate-iam-instance-profile --instance-id YourInstanceId --iam-instance-profile Name=YourNewRole-Instance-Profile
  2. describe-iam-instance-profile-association 명령을 호출하여 IAM 역할이 제대로 인스턴스에 연결되어 있는지 확인합니다.
    $aws ec2 describe-iam-instance-profile-associations
  3. 이제 IAM 역할을 사용하여 AWS 자원에 접근할 수 있도록 애플리케이션을 업데이트하고, 인스턴스에서 보안 키를 삭제할 수 있습니다.

3. EC2 인스턴스에서 기존 IAM 역할 변경하기

기존 IAM 역할의 요구 사항이 변경되어, 기존 EC2 인스턴스에 부여 된 권한을 변경할 필요가 있는 경우 IAM 역할과 관련된 정책을 바꿀 수 있습니다. 새로 변경된 IAM 역할을 사용하는 다른 EC2 인스턴스의 권한도 변경됩니다.대신 replace-iam-instance-profile-association 명령을 호출하여 현재 연결되어있는 IAM 역할 “YourNewRole”다른 IAM 역할을 대체 할 수 있습니다. 아래 예제에서는 “YourCurrentAssociation-id”를 사용하여, 현재 iam-instance-profile-association 인스턴스를 나타내고, “YourReplacementRole-Instance-Profile”을 사용하여 인스턴스에 연결할 대체 인스턴스 프로파일을 나타냅니다. 이 자리 표시자를 적절한 association-id와 계정의 IAM 인스턴스 프로필 이름을 변경하십시오.

$aws ec2 replace-iam-instance-profile-association --association-id YourCurrentAssociation-id --iam-instance-profile Name=YourReplacementRole-Instance-Profile 

참고 : YourCurrentAssociation-id는 describe-iam-instance-profile-associations를 호출하여 얻을 수 있습니다.

이 글에서는 EC2 인스턴스를 다시 시작하지 않고, 기존 EC2 인스턴스에 IAM 역할을 추가 혹은 변경하여 애플리케이션이 AWS에서 제공하는 임시 보안 자격 증명을 사용할 수 있습니다. 중요한 애플리케이션 중단 없이 EC2 인스턴스에 연결된 IAM 역할을 대체 할 수 있습니다.

이 게시물에 대한 의견이나 질문이나 제안이 있으시면, IAM 포럼에서 의견 주시기 바랍니다.

– Apurv;

이 글은 New! Attach an AWS IAM Role to an Existing Amazon EC2 Instance by Using the AWS CLI의 한국어 번역입니다.

AWS Server Migration Servie, 서울 리전 출시

on | in AWS Server Migration Servie, 서울 리전 소식 |

기존의 가상화 애플리케이션을 Amazon EC2로 이전하는 과정을 간단하게 진행할 수 있는 AWS Server Migration Service를 Asia Pacific (Seoul) 리전을 비롯하여 US West (Oregon), US East (Ohio), Asia Pacific (Tokyo), and Asia Pacific (Mumbai) 등 다섯 개의 미국 및 아시아 리전에 추가합니다.

2017-02-server-migration-seoul

본 서비스는 기존 IT 장비를 지원하기 위한 장기 유지 보수의 필요 없이 라이브 가상 머신(VMs)를 클라우드에 순차적으로 복제 할 수 있습니다. 또한, 기존 서버군의 순차적 마이그레이션을 자동화하고 예약 및 실행 내역을 추적하여 수백 개의 대규모 마이그레이션 프로세스 및 실행을 간단하게 진행할 수 있습니다.

본 서비스에 대한 자세한 소개 및 활용 방법은 AWS Server Migration Service 신규 서비스 공개 소식을 참고해 주시기 바랍니다.

– AWS 코리아 마케팅팀;

Amazon Rekognition 업데이트 – 얼굴 기반 나이 추정 속성 추가

on | in Amazon AI, Amazon Rekognition |

Amazon Rekognition은 AWS의 인공 지능 서비스 중 하나입니다. Rekognition은 이미지에서 물체, 장면 및 얼굴을 감지 할 뿐만 아니라 얼굴을 검색하고 비교할 수도 있습니다. Rekognition 서비스는 백엔드에서 수십억 개의 이미지를 매일 분석하기 위해 딥러닝 기반 신경 네트워크 모델을 사용합니다. (자세한 내용은 Amazon Rekognition – 딥러닝을 기반한 이미지 탑지 및 인식 서비스 참고)

Amazon Rekognition은 이미지에서 찾은 여러 가지 속성을 API로 제공함으로서 다양한 이미진 기반 스마트 애플리케이션을 만들 수 있습니다. 오늘은 얼굴을 토대로 추정 나이를 알려주는 재미있는 신규 속성을 추가하였습니ㄷ다. 이 값은 나이 단위로 표시되며, 연령대가 겹칠 수 있습니다. 즉, 5 살의 얼굴은 4에서 6의 추정 범위를 가질 수 있지만, 6 살 얼굴은 4에서 8의 추정 범위를 가질 수 있습니다. 새로운 속성을 사용하여, 안전 관련 애플리케이션이나 인구 통계 수집 등에 활용할 수 있습니다.

새로운 기능을 재미있게 살펴 보기 위해, 필자의 옛날 사진을 가지고 Rekognition에게 나이를 추정해 달라고 요청했습니다. 결과는 다음과 같습니다.

첫 사진은 아마 제가 2 살 정도였습니다.

이 사진은 1966 년 봄 할머니 집에서 찍은 사진입니다.

저는 6 살이었는데, 6 세에서 13 세 사이라고 추정했습니다.

제가 43 살이었던 2003 년의 나의 첫 공식 아마존 PR 사진입니다.

나이 범위가 17 년이지만, 실제 나이는 중간값에 있습니다.

그리고, 가장 최근의 (2015 년 말) 사진입니다. 벌서 55 살이 되었네요.

다소 넓은 나이 범위가 나오지만, 중간 값에 나옵니다.  일반적으로 각 얼굴의 실제 나이는 인식 된 범위 내로 들어오지만, 항상 중간값으로 정확하게 떨어지는 것으로 생각해서는 안됩니다.

현재 이 기능은 바로 사용 가능하며 AWS 관리 콘솔에서 데모로 해 보실 수 있습니다.

Jeff;

이 글은 Amazon Rekognition Update – Estimated Age Range for Faces의 한국어 번역입니다.

저도 한번 해보았습니다. 여러분도 지금 바로 테스트 해보세요~!

2017-02-rekognition-face-age