Category: Compute


Amazon Lex의 신규 음성 입력 기능을 통한 Amazon Connect 연동하기

Amazon Connect는 셀프 서비스 클라우드 기반 콜센터 서비스로 저렴한 비용으로 더 나은 고객 서비스를 쉽게 제공있고, Amazon Lex는 음성 및 텍스트를 사용하여 대화식 인터페이스를 구축하는 서비스입니다.

이 두 가지 서비스를 통합하여, Lex 자동 음성 인식(ASR) 및 자연어 처리 및 인식(NLU) 기능을 활용하여, 고객에게 훌륭한 서비스 경험을 제공 할 수 있습니다. 두 가지 통합을 위해 Lex팀은 8kHz 음성 입력을 받을 수 있는 기능을 추가했습니다. 이를 통해 챗봇이 고객 요청의 대부분을 처리할 수 있게 되고, 고객들이 기다리는 시간도 줄일 수 있습니다.

이 글에서는 사용자가 고객 센터에 전화를 하고, Connect를 통해 들어온 음성 입력에 대해 Lex가 처리한 후, 이를 AWS Lambda 함수를 구성하는 코드를 살펴 보겠습니다. 샘플 예제는 ‘개발자들이 좋아하는 코드 편집기’에 대한 질문으로 미국 전화 번호 614-569-4019로 전화하여, 원하는 코드 편집기를 선택할 수 있습니다. (미국 번호라서 전화 비용이 들어갈 수도 있음을 양해 바랍니다.) 투표 결과는 http://best-editor-ever.s3-website-us-east-1.amazonaws.com/ 에서 볼 수 있습니다.


이 샘플 예제에 대해 간단하게 설명해 보겠습니다.

Amazon Lex
우선 Amazon Lex에서 VoteEditor라는 봇을 만들고, 여기에 원하는 코드 편집기를 투표할 수 있는 Slot을 만듭니다.

AWS Lambda

Lambda 함수도 매우 간단합니다. 먼저 투표를 저장하기 위해 Amazon DynamoDB 테이블을 생성합니다. 그런 다음 Lex(build_response)에 응답하는 헬퍼 메소드를 만들 것입니다. 이를 통해 Lex 기반 응답 형식으로 메시지를 감싸게 됩니다.


def lambda_handler(event, context):
    if 'ConnectToAgent' == event['currentIntent']['name']:
        return build_response("Ok, connecting you to an agent.")
    elif 'VoteEditor' == event['currentIntent']['name']:
        editor = event['currentIntent']['slots']['editor']
        resp = ddb.update_item(
            Key={"name": editor.lower()},
            UpdateExpression="SET votes = :incr + if_not_exists(votes, :default)",
            ExpressionAttributeValues={":incr": 1, ":default": 0},
            ReturnValues="ALL_NEW"
        )
        msg = "Awesome, now {} has {} votes!".format(
            resp['Attributes']['name'],
            resp['Attributes']['votes'])
        return build_response(msg)

코드를 잠깐 살펴 보면, 선택한 편집기에 대해 표가 없으면 1로 만들고, 편집기가 있으면 +1을 하는 코드로서   계속 진행하기 전에 Lex 콘솔을 통해 작동하는지 테스트 할 수 있습니다.

Amazon Connect
Amazon Contact Flow에서 Lex 봇을 사용하려면 먼저 Amazon Connect 인스턴스에 접근 권한이 있어야합니다.  콘솔에서 “Contact Flows”로 이동하여,  Lex 섹션에서 봇을 추가 할 수 있습니다.

이제 Amazon Connect 인스턴스가 Lex 봇을 호출 할 수 있게 되었으므로 Lex 봇을 포함하는 새로운 Contact Flow를 만들 수 있습니다. “Interact”카테고리에서 “Get customer input”위젯을 통해 봇을 추가합니다.

위젯을 사용하면 전화기의 숫자 키 또는 “Amazon Lex”탭에서 voiceinput을 가져 와서 Lex 서비스로 전달하기위한 “DTMF”탭을 사용할 수 있습니다. Lex 탭을 사용하여 몇 가지 구성을 사용합니다.

많은 옵션이 있지만, 사용하고자하는 봇 (봇의 버전 포함),  사용하려는 멘토,  소개글 등을 추가합니다. 최종 고객 요청 처리 흐름은 아래와 같습니다.

실생활에서 이러한 서비스 조합은 많은 부분을 구현할 수 있습니다. 실제 고객 상담원과 대화를 하기 전에, 사용자의 정보를 수집하고 대화에 필요한 정보를 수집할 수도 있습니다. Amazon Lex의 8KHz 음성 입력 기능을 통해서 좀 더 유연한 고객의 정보를 입력 받을 수 있다는 점은 매우 중요합니다.

마지막으로, Amazon Connect는 외부 개발자로 사용할 수 있는 것과 동일한 PostContent 엔드 포인트를 사용하므로 Lex에서 8kHz 기능을 활용하려면 Amazon Connect 사용자 일 필요는 없습니다.

좀 더 세부 사항은 기술 문서API 참조 문서를 살펴 보시기 바랍니다.

Randall

이 글은 New – Amazon Connect and Amazon Lex Integration 의 한국어 번역 편집본입니다.

Lambda@Edge 정식 출시 – 엣지 기반 HTTP 호출에 대한 지능적 처리 기능

지난해 말 Lambda@Edge미리 보기를 발표하여, 고객에게 가까이 있는 (대기 시간 기반) 엣지 로케이션에서 HTTP 요청을 지능적으로 처리하는 방법에 대해 설명했습니다. 미리 보기를 사용해 본 개발자 고객들은 이를 잘 활용하면서 많은 도움이 되는 피드백을 제공했습니다. 미리보기 테스트 중에 HTTP 응답을 생성하고 CloudWatch 통계를 지원하는 기능을 추가했으며, 피드백을 기반으로 향후 로드맵을 수정했습니다.

오늘 부터 Lambda@Edge가 정식 출시 되어 누구나 사용 가능합니다. 아래는 주요 사용 사례 입니다.

  • A/B 테스트를 수행하여, 쿠키 검사 및 URL 리다이렉트
  • User-Agent 헤더를 기반으로 특정 객체를 사용자에게 전송
  • HTTP 요청을 원본으로 전달하기 전에 특정 헤더를 찾아 접근 제어
  • HTTP 헤더를 추가, 삭제 또는 수정하여 사용자에게 다른 캐시 정보 사용
  • 신규 HTTP 응답 생성
  • 레거시 URL 에 대한 지원
  • HTTP 헤더 또는 URL을 수정 또는 압축하여 캐시 활용도 향상

Lambda@Edge를 활용하면 풍부한 개인적 웹 기반 사용자 환경을 만들 수 있습니다.  서버리스 기반이 빠르게 표준화 되고 있으므로, 이제 가상 서버를 프로비저닝하거나 관리 할 필요가 없습니다. 프로그래밍 코드 (Node.js로 작성된 람다 함수)를 업로드하고, Amazon CloudFront 배포판과 연결하면 됩니다. 그런 다음 원하는 CloudFront 이벤트와 함께 배포용으로 만든 CloudFront 동작 중 하나를 선택합니다.

위의 경우, 람다 함수 (가상으로 이름 붙인 EdgeFunc1)는 지정 배포 지점에서 image/*에 대한 원래 요청에 응답하여 실행합니다. 보시다시피 네 가지 CloudFront 이벤트에 대한 응답으로 코드를 실행할 수 있습니다.

뷰어 요청 (Viewer Request) -이 이벤트는 뷰어 (HTTP 클라이언트, 일반적으로 웹 브라우저 또는 모바일 앱)에서 이벤트가 도착하고 들어오는 HTTP 요청에 접근할 때 동작합니다. 각 CloudFront Edge 로케이션은 반복되는 요청에 효율적으로 응답 할 수 있도록 객체 캐시를 유지합니다. 이 특정 이벤트는 요청 된 개체가 이미 캐시되어 있는지 여부에 관계없이 동작합니다.

오리진 요청(Origin Request) -이 이벤트는 요청된 객체가 엣지 로케이션에 캐시되지 않기 때문에 오리진으로 다시 요청하려고 할 때 동작합니다. 오리진 요청 (종종 S3 버킷 또는 EC2 인스턴스에서 실행되는 코드)에 접근할 수 있습니다.

오리진 응답 (Origin Response) -이 이벤트는 오리진이 요청에 대한 응답을 반환 한 후에 동작합니다. 오리진의 응답에 접근할 수 있습니다.

뷰어 응답 (Viewer Response) – 엣지 로케이션 뷰어에 응답을 반환하기 전에 이벤트가 동작합니다. 응답에 대한 액세스 권한이 있습니다.

람다 함수는 중국을 제외한 모든 AWS 엣지 로케이션과 공개 리전에 자동 복제됩니다. HTTP 요청은 자동 실행을 위해 최적의 위치로 라우팅됩니다. 프로그램 코드를 한번에 배포하여, 전 세계 사용자가 낮은 지연 시간으로 실행할 수 있습니다.

소스 코드에는 HTTP 헤더, 쿠키, 메소드 (GET, HEAD 등) 및 URI를 비롯한 요청 및 응답에 대한 모든 접근 권한이 있습니다. 몇 가지 제한 사항에 따라 기존 헤더를 수정하고 새 헤더를 삽입 할 수 있습니다.

Lambda@Edge 직접 사용해 보기
뷰어 요청 이벤트에 응답하여 실행되는 간단한 함수를 작성해 보겠습니다. 람다 콘솔을 열고 새로운 함수를 만듭니다. Node.js 6.10 런타임을 선택하고 cloudfront 예제를 검색합니다.

cloudfront-response-generation을 선택하고 함수를 호출하는 트리거를 구성합니다.

람다 콘솔은 본 함수를 위한 운영 환경에 대한 몇 가지 정보를 제공합니다:

평소대로 함수에 대한 이름과 설명을 입력합니다.

예제에는 완전한 기능이 작동되도록 되어 있습니다. “200” HTTP 응답에 대한 간단한 동작을 생성합니다.

소스 코드를 내 자신 코드의 시작점으로 사용하여 HTTP 요청에서 흥미로운 값을 가져 와서 테이블에 표시합니다.

'use strict';
exports.handler = (event, context, callback) => {

    /* Set table row style */
    const rs = '"border-bottom:1px solid black;vertical-align:top;"';
    /* Get request */
    const request = event.Records[0].cf.request;
   
    /* Get values from request */ 
    const httpVersion = request.httpVersion;
    const clientIp    = request.clientIp;
    const method      = request.method;
    const uri         = request.uri;
    const headers     = request.headers;
    const host        = headers['host'][0].value;
    const agent       = headers['user-agent'][0].value;
    
    var sreq = JSON.stringify(event.Records[0].cf.request, null, ' ');
    sreq = sreq.replace(/\n/g, '<br/>');

    /* Generate body for response */
    const body = 
     '<html>\n'
     + '<head><title>Hello From Lambda@Edge</title></head>\n'
     + '<body>\n'
     + '<table style="border:1px solid black;background-color:#e0e0e0;border-collapse:collapse;" cellpadding=4 cellspacing=4>\n'
     + '<tr style=' + rs + '><td>Host</td><td>'        + host     + '</td></tr>\n'
     + '<tr style=' + rs + '><td>Agent</td><td>'       + agent    + '</td></tr>\n'
     + '<tr style=' + rs + '><td>Client IP</td><td>'   + clientIp + '</td></tr>\n'
     + '<tr style=' + rs + '><td>Method</td><td>'      + method   + '</td></tr>\n'
     + '<tr style=' + rs + '><td>URI</td><td>'         + uri      + '</td></tr>\n'
     + '<tr style=' + rs + '><td>Raw Request</td><td>' + sreq     + '</td></tr>\n'
     + '</table>\n'
     + '</body>\n'
     + '</html>'

    /* Generate HTTP response */
    const response = {
        status: '200',
        statusDescription: 'HTTP OK',
        httpVersion: httpVersion,
        body: body,
        headers: {
            'vary':          [{key: 'Vary',          value: '*'}],
            'last-modified': [{key: 'Last-Modified', value:'2017-01-13'}]
        },
    };

    callback(null, response);
};

핸들러를 구성하고 Basic Edge Lambda 권한을 사용하여 새 IAM 역할을 만들도록 요청합니다.

다음 페이지에서 (일반적인 람다 함수처럼) 설정을 확인하고 Create function을 클릭한다.

이렇게 하면 람다 함수가 만들어지고, 코드 배포 기능이 실행되어 각 CloudFront에 함수 복제가 시작됩니다. 내 배포 상태가 복사 기간 동안 In Progress으로 변경됩니다 (일반적으로 5-8 분).

복제가 완료되면 즉시 상태가 Deployed로 변경됩니다.

그런 다음 배포본 (https://dogy9dy9kvj6w.cloudfront.net/) 루트에 접근하면 함수가 실행되는 것을 볼 수 있습니다.

코드를 실행하려면 이미지를 클릭하십시오 (내 배포판의 루트에 링크되어 있음)!

늘 그렇듯이 간단한 예이며, 이 후 여러분이 훨씬 더 잘할 수 있다고 확신합니다. 다음은 시작하기 위한 몇 가지 아이디어입니다.

  • 복구 사이트 관리 – 전체 동적 웹 사이트를 오프라인으로 전환하고, 유지 관리 또는 재해 복구 작업 중 중요한 페이지를 Lambda@Edge 기능으로 대체 할 수 있습니다.
  • 대용량 정적 콘텐츠 – 스코어 보드, 일기 예보 또는 공공 안전 페이지를 작성하여, 엣지에서 빠르고 비용 효율적으로 사용할 수 있습니다.

멋진 것을 만들고 의견이나 블로그 게시물에서 공유하십시오. 그러면 살펴 보겠습니다.

알아 두어야 할 점들
Lambda@Edge를 응용 프로그램에서 사용하는 방법을 생각할 때 염두에 두어야 할 몇 가지 사항이 있습니다.

  • Timeouts – Origin Request 및 Origin Response 이벤트를 처리하는 함수는 3 초 이내에 완료되어야 합니다. 뷰어 요청 및 뷰어 응답 이벤트를 처리하는 기능은 1 초 이내에 완료되어야합니다.
  • 버전 관리 – 람다 콘솔에서 코드를 업데이트 한 후에는 새 버전을 게시하고 이에 대한 새로운 트리거 세트를 설정 한 다음 복제가 완료 될 때까지 기다려야합니다. 버전 번호를 사용하여 항상 코드를 참조해야합니다. $LATEST 및 별칭은 적용되지 않습니다.
  • 헤더 – 내 코드에서 볼 수 있듯이 HTTP 요청 헤더는 배열로 액세스 할 수 있습니다. 헤더는 네 가지 범주로 나뉩니다.
    • 액세스 가능 – 읽기, 쓰기, 삭제 또는 수정할 수 있음
    • 제한됨 – 원본으로 전달 필요
    • 읽기 전용 – 읽을 수는 있지만 어떤 방식 으로든 수정할 수는 없음
  • 블랙 리스트 – 코드에서 볼 수 없으며 추가 할 수 없음
  • 런타임 환경 – 런타임 환경은 각 기능에 128MB의 메모리를 제공하지만 내장 라이브러리 나 / tmp에 대한 액세스는 제공하지 않습니다.
  • 웹 서비스 접근 – Origin Request 및 Origin Response 이벤트를 처리하는 기능이 3 초 이내에 완료되어야 AWS API에 액세스하고 HTTP를 통해 컨텐츠를 가져올 수 있습니다. 이러한 요청은 항상 원본 요청 또는 응답에 대한 요청과 동 기적으로 이루어집니다.
  • 함수 복제 – 앞에서 언급했듯이 함수는 중국의 AWS 영역을 제외한 모든 공용 AWS 영역에 복제됩니다. 복제본은 람다 콘솔의 “기타”영역에서 볼 수 있습니다.

CloudFront 동작에 대해 이미 알고 있는 모든 것이 Lambda@Edge와 관련이 있습니다. 각 동작에서 여러 동작 (최대 4 개의 Lambda@Edge 함수 포함)을 사용하고, HTTP 헤더 및 쿠키 전달을 사용자 정의 할 수 있습니다. 동작을 편집하는 동안 이벤트 버전과 함수 (함수 버전을 포함하는 ARN을 통해)를 연결할 수도 있습니다.

정식 출시
Lambda@Edge는 현재 이용 가능하며, 지금 바로 사용하실 수 있습니다. 가격은 기능 호출 횟수 및 실행 시간을 기준으로 합니다 (자세한 정보는 Lambda@Edge 가격 책정 페이지 참조).

Jeff;

이 글은 Lambda@Edge – Intelligent Processing of HTTP Requests at the Edge의 한국어 번역입니다.

차세대 GPU 기반 EC2 인스턴스 (G3) 출시

지난 2013년 처음 G2 인스턴스 타입을 출시했을 때, GPU 기반 컴퓨팅의 이점에 대해 처음 소개했습니다. 출시 이후 AWS 고객들은 G2 인스턴스를 사용하여 모바일 장치, TV 및 데스크톱에 고성능 그래픽 기능을 제공해 오고 있습니다.

오늘 부터 새로운 차세대 G3 인스턴스 타입을 소개합니다. NVIDIA Tesla M60 GPU에 기반하고 있으며, 아래와 같이 세 가지 크기 (모든 VPC 전용 및 EBS 전용)로 제공하게 됩니다.

Model GPUs GPU Memory vCPUs Main Memory EBS Bandwidth
g3.4xlarge 1 8 GiB 16 122 GiB 3.5 Gbps
g3.8xlarge 2 16 GiB 32 244 GiB 7 Gbps
g3.16xlarge 4 32 GiB 64 488 GiB 14 Gbps

각 GPU는 8 GiB의 GPU 메모리, 2048 병렬 처리 코어 및 최대 10 개의 H.265 (HEVC) 1080p30 스트림과 최대 18 개의 H.264 1080p30 스트림을 지원할 수있는 하드웨어 인코더를 지원하므로 3D 렌더링에 매우 적합합니다. 시각화, 가상 현실, 비디오 인코딩, 원격 그래픽 워크 스테이션 (NVIDIA GRID) 및 막대한 양의 병렬 처리 능력을 필요로 하는 서버 측 그래픽 워크로드를 구동할 수 있습니다. GPU는 OpenGL 4.5, DirectX 12.0, CUDA 8.0 및 OpenCL 1.2.를 지원합니다. G3 인스턴스를 시작하면 NVIDIA GRID 가상 워크 스테이션 라이센스에 접근할 수 있으며, 라이센스를 직접 구입하지 않고도 NVIDIA GRID 드라이버를 사용할 수 있습니다.

이 인스턴스는 2.7GHz로 실행되는 Intel Xeon E5-2686 v4 (Broadwell) 프로세서를 사용합니다. 네트워킹 측면에서 강화된 대역폭 (Elastic Network Adapter 사용)을 통해 배치 그룹 내에서 최대 20Gbps의 총 네트워크 대역폭과 함께 최대 14Gbps의 EBS 대역폭을 제공합니다.

이제 AWS 고객들은 대형 3D 지진 모델을 시각화하거나, 3D로 자동차를 구성하며 학생들에게 고급 2D 및 3D 응용 프로그램을 실행할 수 있는 능력을 제공 할 것으로 기대하였습니다. 예를 들어, Calgary Scientific은 언리얼 엔진으로 구동되는 애플리케이션을 가져 와서 협업 지원을 통해 모바일 장치 및 웹 페이지에서 접근할 수 있습니다. 예를 들어, PureWeb RealityDemo Gallery 를 방문해 보세요!

미국 동부 (오하이오), 미국 동부 (버지니아 북부), 미국 서부 (오레곤), 미국 서부 (캘리포니아 북부), AWS GovCloud (미국) 및 EU (아일랜드) 리전에서 온-디멘드로 시작할 수 있습니다. 예약 인스턴스, 스팟 인스턴스 및 전용 호스트가 포함되며 더 많은 리전에서 곧 제공 될 예정입니다.

Jeff;

이 글은 New – Next-Generation GPU-Powered EC2 Instances (G3) 의 한국어 번역입니다.

대상 추적 통계를 활용한 유연한 EC2 자동 스케일링 정책 구성 기능 출시

최근 DynamoDB의 자동 스케일링(Auto Scaling)을 통해 DynamoDB 테이블 용량 관리를 자동화하기 위해 어떻게 다중 CloudWatch 알람을 이용하고 있는지를 소개하였습니다. 앞으로 여러 가지 AWS 서비스에 일반 Application Auto Scaling 모델을 사용하여 지속적으로 기능을 추가하고자 하고 있습니다.

새로운 자동 스케일링 모델은 대상 추적(target tracking)이라는 중요한 새로운 기능을 가지고 있습니다. 대상 추적을 사용하는 자동 확장 정책을 만들 때 특정 CloudWatch 메트릭에 대한 대상 값을 선택합니다. 그런 다음 자동 스케일링을 사용하여 적절한 노브 (말하자면)를 돌려 추적 대상을 값에 따라서 관련 CloudWatch 알람을 조정합니다. 통계치 기반 단위가 애플리케이션에 적합한 지 여부와 관계없이 원하는 목표를 지정하는 것은 일반적으로 원래 단계별 확장 정책 유형을 사용하여 범위 및 임계 값을 수동으로 설정하는 것보다 간단합니다. 그러나, 단계별 확장과 함께 대상 추적을 사용하여 고급 확장 전략을 구현할 수 있습니다. 예를 들어, 스케일-아웃 작업의 경우 대상 추적을 사용하고 스케일-인의 경우 단계별로 사용할 수 있습니다.

EC2에 신규 자동 스케일링 대상 추적 기능 출시
오늘 EC2 자동 스케일링 기능에 대상에 따른 추적 지원을 추가했습니다. Application Load Balancer 요청 수, CPU 부하, 네트워크 트래픽 또는 고객 측정에 의한 스케일링 정책을 만들 수 있습니다. (Request Count per Target이 새롭게 추가된 통계치입니다.)

이 통계치는 중요한 특징을 가지고 있습니다. EC2 인스턴스를 추가하여 (전체 부하가 변화하지 않을 때) 통계치를 낮추는 것입니다. 혹은 그 반대의 경우도 있습니다.

대상 추적을 사용한 Auto Scaling Group을 만드는 것은 아래 그림처럼 정책 이름, 입력 통계치 선택,  원하는 대상 값 설정만 하면 됩니다.

스케일-인 측의 정책을 선택적으로 해제 할 수도 있습니다. 이 경우 수동으로 스케일-인하거나 다른 정책을 사용할 수 있습니다.

대상 추적 정책은 AWS 관리 콘솔, AWS 명령줄 (CLI), AWS SDK도 만들 수 있습니다.

다음은 대상 추적을 사용하려고 할 때 미리 설정할 항목입니다.

  • 하나의 Auto Scaling Group 대해 다른 통계치를 참조하여 여러 대상을 설정할 수 있습니다. 스케일링은 항상 가장 높은 용량을 요구하는 정책을 따릅니다.
  • 통계치 데이터가 불충분 한 경우에는 스케일링을 하지 않습니다.
  • 자동 스케일링은 통계치가 급속하게 일시적인 변동을 보완하여, 컴퓨팅 용량의 급격한 변동을 최소화하려고 노력합니다.
  • 맞춤 측정 대상에 대한 추적 Auto Scaling API 또는 AWS 명령줄 (CLI)를 통해 설정할 수 있습니다.
  • 많은 경우에 1 분 간격으로 들어오는 통계(상세 모니터링 방식)에 따라 확장하도록 선택해야 합니다. 5분 간격으로 하는 경우, 반응 시간이 늦어질 수 있습니다.

정식 출시
본 기능은 오늘부터 이용 가능하며, 리소스 요금 이외 추가 요금없이 사용할 수 있습니다. 더 자세한 내용은 Auto Scaling 사용자 가이드대상 추적 스케일링을 참조하십시오.

Jeff;

이 글은 New – Target Tracking Policies for EC2 Auto Scaling의 한국어 번역입니다.

AWS 가격 인하 – EC2 기반 SQL Server Standard Edition

AWS 출시 이후 62 번째 가격 인하는 Amazon EC2의 Microsoft SQL Server Standard Edition입니다.

주요 대기업이나 기존 데이터 센터의 Microsoft Windows 기반 업무는 AWS가 제공하는 폭 넓은 서비스와 글로벌 인프라 및 파트너 에코 시스템으로 인해 최적으로 구축, 배포, 확장 및 관리 할 수 있습니다. Adobe, Pitney Bowes, DeVry University 와 같은 고객은 핵심 Windows Server 워크로드를 AWS로 이동 시켰습니다. 여기에는 SharePoint 사이트에서 사용자 지정 .NET 응용 프로그램 및 SAP에 이르기까지 다양한 영역을 실행하며 SQL Server를 사용합니다. AWS의 Microsoft SQL Server는 EC2 Windows 인스턴스에서 실행되며 응용 프로그램 개발 및 마이그레이션 작업을 지원할 수 있습니다. 관계형 데이터베이스를 직접 구축 형으로 실행하고 32 비트 및 64 비트 버전을 지원하는 등 모든 설정을 제어 할 수 있습니다.

현재 인스턴스 유형, 크기 및 지역에 따라 R4, M4, I3 및 X1 인스턴스에서 실행되는 EC2에서 Microsoft SQL Server Standard Edition의 On-Demand 및 예약 인스턴스 가격을 최대 52 %까지 줄입니다. 대규모 규모의 웹 사이트를 구축하고 실행할 수 있습니다. 모바일 애플리케이션을 이전보다 훨씬 비용 효율적으로 사용할 수 있습니다.

다음은 각 지역 및 인스턴스 유형별로 가격 인하 비율입니다.

Region R4 M4 I3 X1
US East (Northern Virginia) -51% -29% -50% -52%
US East (Ohio) -51% -29% -50% -52%
US West (Oregon) -51% -29% -50% -52%
US West (Northern California) -51% -30% -50%
Canada (Central) -51% -51% -50% -44%
South America (São Paulo) -49% -30% -48%
EU (Ireland) -51% -29% -50% -51%
EU (Frankfurt) -51% -29% -50% -50%
EU (London) -51% -51% -50% -44%
Asia Pacific (Singapore) -51% -31% -50% -50%
Asia Pacific (Sydney) -51% -30% -50% -50%
Asia Pacific (Tokyo) -51% -29% -50% -50%
Asia Pacific (Seoul)  -51% -31% -50% -50%
Asia Pacific (Mumbai)  -51% -33% -50% -50%

온디멘드 인스턴스 가격 할인은 2017 년 7 월 1 일부터 적용됩니다.

Jeff;

 이 글은 AWS Price Reduction – SQL Server Standard Edition on EC2 한국어 번역입니다.

윈도 기반 AWS 업무를 위한 자세한 자료는 Windows on AWS 한국어 페이지를 참고하시고, MSSQL 서버 운영에 대한 노하우는 아래 온라인 세미나 영상을 참고하시기 바랍니다.

AWS 에서 MS SQL 서버 운영 하기 – 김민성 AWS 솔루션즈 아키텍트

AWS 상에 Microsoft SQL Server를 운영하기 위해 기획 단계에서 부터 설치, 운영, 이중과 구현 단계에 이르기까지 고려해야 할 여러 가지 사항에 대해 알려드리는 시간입니다. AWS 상에서 Microsoft SQL Server를 구현하는 두 가지 방법인 설치형, 관리형의 장단점, 기본적인 보안, 모니터링 방법 및 고 가용성 구현을 위한 이중화 방법에 대해 설명 드립니다

발표 자료 및 동영상 보기

Deep Learning AMI, AWS 서울 리전 출시

오늘 부터 AWS Deep Learning AMI를 서울 리전에서 사용할 수 있게 되었습니다. 이전 북미 지역 리전에서 서울을 포함한 아시아 지역 리전으로 확대되어 제공합니다.

데이터 과학자, 기계 학습 종사자 및 연구자가 클라우드 기반 딥러닝 학습을 할 수 있도록, Amazon Linux 또는 Ubuntu에서 Amazon EC2 인스턴스를 위한 맞춤형 이미지로서, Deep Learning AMI를 사용하면, 단일 서버 뿐만 아니라 대용량 오토 스케일링 GPU 클러스터를 만들 수 있고, Apache MXNet, TensorFlow, Microsoft CNTK, Caffe, Caffe2, Theano, Torch, Keras을 사용하여 컴퓨팅 최적화 또는 범용 CPU 인스턴스로 숙련된 모델에 대한 추론을 실행할 수 있습니다.

아래는 서울 리전에 설치된 신규 버전은 AWS Marketplace를 통해 검색할 수 있으며, Amazon Liunx Deep Learning AMI, Ubuntu Deep Learnin AMI 등 두 가지 버전이 있습니다. 최신 버전에서는 아래 기능이 추가되었습니다.향후에 계속 업데이트 될 예정입니다.

  • MXNet  v0.10.0 버전 업그레이드
  • Tensorflow  v1.1.0 버전 업그레이드
  • Caffe2  v0.7.0 버전 업그레이드

본 AMI을 기반하여 딥러닝 클러스터 구성에 대한 자세한 내용을 보려면 AWS Labs – Deep Learning GitHub에 있는 튜토리얼을 참고하시기 바랍니다.아래에는 MXNet 및 TensorFlow 프레임 워크를 사용하여 AWS에서 분산 딥러닝 트레이닝을 손쉽게 실행하는 방법을 알려드립니다.

참고 자료

더 관심 있는 분들은 매월 모이는 AWS 한국 사용자모임의 데이터 과학 딥러닝 소모임에 참여하시면, 스터디에 함께 참여하실 수 있습니다.

Channy(윤석찬);

Amazon Lightsail 업데이트 – 신규 리전 개설 및 글로벌 콘솔 출시

Amazon Lightsail 을 사용하면 단 몇 번의 클릭만으로 AWS에서 가상 사설 서버(VPS)를 시작할 수 있습니다. 한 달에 5 달러부터 시작하는 Lightsail은 손쉽고 단순한 가상 호스팅을 시작할 수 있습니다. (Amazon Lightsail – VPS 출시 소식 참고). 콘솔 메뉴에서 운영 체제 및 애플리케이션 구성을 선택하고 고정 IP, SSD 기반 스토리지, DNS 관리 및 사전 구성된 가상 시스템을 시작할 수 있습니다.

작년 11월에 출시 한 이래 많은 고객들이 Lightsail을 사용하여 가상 개인 서버를 시작했습니다. 뿐만 아니라 많은 웹 사이트를 가진 기업들도 관심을 가지고 있으며, 예를 들어 Monash University는 Amazon Lightsail을 사용하여 간단하고 비용 효율적인 방식으로 여러 CMS ​​서비스를 구성하였습니다. 이미 50 개 워크로드를 마이그레이션했으며 Lightsail을 기반으로하는 내부 CMS 서비스를 만들어 직원과 학생들이 셀프 서비스 방식으로 자체 CMS 인스턴스를 만들 수 있도록 하고 있습니다.

오늘 Lightsail을 9 개의 AWS 리전으로 확장하고 새로운 글로벌 콘솔을 출시합니다.

신규 리전 확대
Re:Invent에서 Lightsail을 미국 동부(버지니아 북부)리전에서 출시했습니다. 이달 초  미국과 유럽 리전에 대한 지원을 추가했으며, 오늘 4개의 아시아 태평양 리전에서 Lightsail을 출시하여 총 10개 리전을 지원합니다.

  • US East (Northern Virginia)
  • US West (Oregon)
  • US East (Ohio)
  • EU (London)
  • EU (Frankfurt)
  • EU (Ireland)
  • Asia Pacific (Mumbai)
  • Asia Pacific (Tokyo)
  • Asia Pacific (Singapore)
  • Asia Pacific (Sydney)

글로벌 콘솔
업데이트 된 Lightsail 콘솔을 사용하면 하나 이상의 리전에서 자원을 쉽게 만들고 관리 할 수 ​​있습니다. 새 인스턴스를 만들 때 원하는 리전을 선택하기 만하면 됩니다.

리전과 관계없이 같은 페이지에서 모든 인스턴스와 고정 IP 주소를 볼 수 있습니다.

또한 모든 리소스와 리전에 걸친 검색을 수행 할 수 있습니다. 아래는 LAMP 스택을 찾은 것입니다.

또는 EU(아일랜드) 리전 내 모든 자원을 검색할 수도 있습니다.

Snapshots 탭에서도 검색 가능합니다.

신규 DNS zones 탭을 사용하면 기존 영역을 통해새 영역을 만들 수 있습니다.

SSH 키 쌍의 생성은 현재 리전에만 해당됩니다.

리전별로 키 쌍을 관리 할 수 ​​있습니다.

정적 IP 주소는 또한 특정 리전에만 해당됩니다.

정식 출시
새로운 Lightsail 콘솔을 사용하여 오늘 열 개 리전 모두에서 리소스를 만들 수 있습니다!

Jeff;

이 글은 Amazon Lightsail Update – 9 More Regions and Global Console의 한국어 번역입니다.

AWS X-Ray, AWS Lambda 지원 공식 출시

AWS X-Ray에 대한 AWS Lambda 지원 기능을 출시했습니다. 지난 샌프란시스코 서밋에서 정식 출시한 AWS X-Ray는 분산 응용 프로그램의 실행 및 성능 동작을 분석하는 AWS 서비스입니다. 전통적인 디버깅 방식은 여러 서비스가 실행되는 독립 구성 요소가 있는 마이크로 서비스 기반 응용 프로그램에서는 잘 작동하지 않습니다. X-Ray를 사용하면 응용 프로그램의 대기 시간을 줄임으로써 오류, 속도 저하 및 시간 초과를 신속하게 진단 할 수 있습니다. 간단한 람다 기반 응용 프로그램을 작성하고 분석함으로써 우리의 응용 프로그램에서 X-Ray를 잠깐 사용하는 방법을 보여 드리겠습니다.

바로 시작하기를 원할 경우, 람다 함수 페이지로 이동하여 추적 기능을 활성화하여 기존 람다 함수에 대해서도 X-Ray 추적 기능을 쉽게 켤 수 있습니다.

또는 AWS 명령 행 인터페이스 (CLI)에서 함수의 tracing-config 를 업데이트하여 시작 가능합니다. (--function-name도 전달해야 함)

$ aws lambda update-function-configuration --tracing-config '{"Mode": "Active"}'

추적 모드가 활성화되면 Lambda는 함수에 대해 즉시 추적을 시작합니다. 그렇지 않으면, 업스트림 서비스에서 명시 적으로 지시 한 경우에만 함수가 추적됩니다. 추적 기능을 사용하면  응용 프로그램 리소스와 그 사이의 연결 을 시각적으로 나타냅니다. 주목해야 할 것은 X-Ray 데몬이 람다 함수의 리소스 중 일부를 사용한다는 것입니다. 메모리 제한에 가까워지면, Lambda는 메모리 부족 오류가 발생하지 않도록 X-Ray 데몬을 중단 시킬 수 있습니다.

몇 가지 다른 서비스를 사용하는 빠른 애플리케이션을 구축하여 신규 연동 테스트를 해 보겠습니다.

스마트폰에서 찍은 셀카가 많아서 이를 분석해 보려고 합니다. Amazon Simple Storage Service (S3) 버킷에 업로드 된 새로운 이미지에 응답하는 Java 8 런타임을 사용하여 간단한 Lambda 함수를 작성합니다. 이 샘플 앱은 사진에 Amazon Rekognition 을 사용하여, 이미지 내 객체를 인식하고 검색된 레이블을 Amazon DynamoDB에 저장합니다.

service map

먼저 몇 가지 X-Ray 서비스에서 사용하는 용어를 살펴보겠습니다.

X-Ray가 서비스 그래프를 생성하여 추적 결과를 구성한다고 쉽게 이해할 수 있습니다. 서비스 그래프는 우리가 위에서 볼 수 있는 멋진 시각적 표현을 만듭니다 (여러 가지 색상이 다양한 요청 응답을 나타냅니다). 응용 프로그램을 실행하는 컴퓨팅 리소스는 segment의 형태로 수행 중인 작업에 대한 데이터를 보냅니다. 하위 데이터를 작성하여 해당 데이터에 대한 주석을 추가하고, 세분화 된 타이밍을 추가 할 수 있습니다. 응용 프로그램을 통한 요청 경로는 traces로 추적합니다. traces는 단일 요청으로 생성 된 모든 segment를 수집합니다. 즉, S3에서 들어오는 Lambda 이벤트를 DynamoDB로 쉽게 추적 할 수 있으며 오류 및 대기 시간이 어느 부분에 있는지 파악할 수 있습니다.

이제 selfies-bucket이라는 S3 버킷, selfies-table이라는 DynamoDB 테이블, 그리고 Lambda 함수를 생성합니다. ObjectCreated의 S3 버킷에 대한 Lambda 함수에 트리거를 추가합니다. 람다 함수 소스 코드는 매우 간단합니다. 코드를 변경하지 않으면 JAR에 aws-xray-sdk 및 aws-xray-sdk-recorder-aws-sdk-instrumentor 패키지를 포함시켜 Java 기능에서 X-Ray를 사용할 수 있습니다.

자 이제 사진 업로드를 해서 X-Ray 추적 상황을 살펴봅니다.

우리는 이러한 개별 추적 데이터 중 하나를 클릭하여 호출에 대한 자세한 정보를 얻을 수 있습니다.

AWS::Lambda 세그먼트에서 함수의 대기 시간, 실행 대기 시간, 실행 시도 횟수를 볼 수 있습니다.

AWS::Lambda::Function 세그먼트에는 몇 가지 가능한 하위 세그먼트가 있습니다.

  • The inititlization subsegment includes all of the time spent before your function handler starts executing
  • The outbound service calls
  • Any of your custom subsegments (these are really easy to add)

DynamoDB에 약간의 문제가 있는 것처럼 보입니다. 오류 아이콘을 클릭하면, 전체 예외 스택 트레이스를 얻을 수 있습니다. 테이블 용량이 부족하기 때문에 DynamoDB를 조정해야 합니다. 단 몇 번의 클릭 또는 빠른 API 호출로 더 많은 정보를 얻을 수 있습니다.

X-Ray SDK를 사용하면 X-Ray로 데이터를 쉽게 내보낼 수 있습니다. 파이썬의 경우, 이 라이브러리를 fleece라는 rackspace에서 가져올 수 있습니다. 더 자세한 사항은 기술 문서를 참고하시기 바랍니다.

– Randall;

EC2 가격 인하 – M4 인스턴스 타입 및 각종 예약 인스턴스 조건별 가격 인하

AWS가 성장함에 따라 AWS는 더 나은 가치를 창출 할 수 있는 방법을 지속적으로 찾고 있습니다. 컴퓨팅 인프라 제공 업체와 협력하여 비용을 절감하는 동시에 비용 효율적인 하드웨어 및 소프트웨어를 구축 할 수있는 방법을 모색하고 있습니다. 이를 통해 고객에게 정기적으로 자주 가격을 낮추는 것 외에도 AWS 사용을 최적화하는 데 도움이 되는 구매 옵션도 제공합니다. 예를 들어, Amazon EC2 사용자에게 온-디멘드 가격과 비교하여 상당한 할인을 받을 수 있는 예약 인스턴스를 사용할 수 있으며, 이를 통해 특정 가용 영역에서 용량 예약도 가능합니다.

AWS 고객은 여러 가지 요구 사항에 따라 예약 인스턴스를 구매하고 관리합니다. 선불 결제를 하고 더 큰 할인을 받는 것을 선호하거나, 선행 비용을 지불하지 않고 더 작지만 실질적인 할인을 얻는 것을 원합니다. 또한, 다른 고객은 부분 지불금과 다른 두 가지 옵션 사이에 있는 할인을 선택할 수도 있습니다. 이러한 다양한 기본 설정을 충족시키기 위해 현재 EC2 각  인스턴스 유형에 대부분에 대해 3년 선불 표준 예약 인스턴스를 추가합니다.

또한, 선불 예약 인스턴스, 전환 예약 인스턴스 및 일반용 M4 인스턴스 (온-디멘드 및 예약 인스턴스 모두) 가격을 인하합니다. 이는 AWS 서비스 이후 61번째 가격 인하입니다.세부 사항은 다음과 같습니다.(모든 변경은 즉시 반영 됩니다.)

3 년 표준 RI의 새로운 선결제 없음(No upfront) 옵션 도입 – 이전에는 표준 RI에 대해 1 년의 기간으로 선결제 없음 옵션을 제공하였습니다. 오늘은 C4, M4, R4, I3, P2, X1 및 T2 표준 예약 인스턴스에 대해 3 년 기간이 적용되는 선결제 없음 옵션을 추가합니다.

일부 예약 인스턴스에 대한 가격 인하 – C4, M4, R4, I3, P2, X1 및 T2 인스턴스 유형에 대해  1년 선결제 없음 옵션 및 3년 전환 인스턴스의 가격을 최대 17 %까지 인하합니다. 인스턴스 유형, 운영 체제 및 지역에 따라 다릅니다.

다음은 몇 가지 대표적인 지역에서 Linux 용  선결제 없음 예약 인스턴스 평균 가격 인하량입니다.

US East (Northern Virginia)
US West (Oregon)
EU (Ireland)
Asia Pacific (Tokyo)
Asia Pacific (Singapore)
Asia Pacific (Seoul)
C4 -11% -11% -10% -10% -9% -11%
M4 -16% -16% -16% -16% -17% -16%
R4 -10% -10% -10% -10% -10% -10%

전환 가능 예약 인스턴스 가격 인하전환 가능 예약 인스턴스를 사용하면 언제든지 RI와 관련된 인스턴스 패밀리 및 기타 매개 변수를 변경할 수 있습니다. 이를 통해 여러분의 인스턴스 변경 필요 사항이 발생함에 따라 RI 목록을 조정할 수 있습니다. 오늘 부터 대부분의 인스턴스 (C4, M4, R4, I3, P2, X1 및 T2)에 대해 3 년 가변 예비 인스턴스의 가격을 최대 21 %까지 인하합니다.

다음은 몇 가지 대표 지역에서의 Linux 용 전환 가능 예약 인스턴스의 평균 가격 인하입니다.

US East (Northern Virginia)
US West (Oregon)
EU (Ireland)
Asia Pacific (Tokyo)
Asia Pacific (Singapore)
Asia Pacific (Seoul)
C4 -13% -13% -5% -5% -11% -4%
M4 -19% -19% -17% -15% -21% -15%
R4 -15% -15% -15% -15% -15% -15%

유사한 가격 인하도 글로벌 리전에도 적용될 것입니다.

M4 인스턴스의 가격 인하 – M4 Linux 인스턴스의 가격을 최대 7 % 인하(서울 리전 포함)합니다.

EC2 예약 인스턴스 가격 페이지EC2 가격 페이지를 방문하거나, 새로운 가격에 대해 AWS 가격 목록 API를 참조하십시오.

자세히 보기
다음 블로그 게시물에는 EC2 예약 인스턴스 모델에 대한 몇 가지 개선 사항에 대한 추가 정보가 포함되어 있습니다.

더 자세한 것은 AWS 가격 페이지예약 인스턴스 FAQ를 참고하세요.

Jeff;

FPGA를 지원하는 EC2 F1 인스턴스 정식 출시

지난 AWS re:Invent에서 FPGA 기능을 장착한 F1 인스턴스 개발자 미리보기를 공개했습니다. 많은 고객들이 관심을 표명하였고, 2천건이 넘는 등록 요청을 받아 200여 개발자에게 하드웨어 개발 키트 (HDK) 및 실제 F1 인스턴스에 대한 접근 권한을 제공하였습니다.

병렬 처리 모델은 컴퓨팅이 많이 필요한 문제를 처리하기 위한 맞춤형 가속 기능 개발에 꼭 필요합니다. FPGA 프로그래밍을 통해 유전체학, 지진 분석, 금융 위험 분석, 대용량 데이터 검색, 암호화 알고리즘을 사용하는 애플리케이션 속도를 30배 이상 향상할 수 있는 잠재력이 있습니다. 미리보기 중에 주요 파트너 및 개발자는 다양한 도구, 서비스 및 응용 프로그램을 개발하고 있습니다.

정식 출시
오늘 부터 미국 동부(버지니아 북부) 리전에서 F1 인스턴스를 정식으로 사용할 수 있으며, 조만간 다른 리전으로도 확대할 계획입니다. 베타 기간 중에 여러 가지 기능 및 개발 도구를 추가하여 보다 효율적이고 사용하기 쉽게 만들었습니다. 아래에 몇 가지 개선 사항입니다.

  • 개발자 커뮤니티AWS FPGA Development Forum을 시작하여 FPGA 개발자들이 우리와 어울리고 서로 소통 할 수있는 공간을 제공했습니다.
  • HDK 및 SDK – EC2 FPGA 하드웨어 (HDK) 및 소프트웨어 개발 키트를 GitHub에 게시하고 피드백에 따라 많은 개선을 했습니다. 개선된 기능으로는 Verilog 이외에도 VHDL(Virtual JTAG, Virtual LED 및 Virtual DipSwitch), FPGA 관리 및 FPGA 런타임을 위한 AWS 라이브러리, AWS OpenCL 런타임 라이브러리를 포함한 OpenCL 지원 등이 있습니다.
    FPGA Developer AMI -AWS Marketplace에 공개된 본 AMI에는 RTL 컴파일러와 시뮬레이터, OpenCL 개발을 위한 Xilinx SDAccel, C4, M4 및 R4 인스턴스에서 사용할 수 있는 FPGA 개발 도구 세트가 포함되어 있습니다.

FPGA 파트너사 사용 사례
AWS 주요 파트너가 F1과 함께 만들고 있는 인상적인 작업을 간략히 소개합니다.

  • Edico Genome은 실시간으로 실행되는 전체 게놈 시퀀싱을 제공가능할 것으로 기대하고, F1 인스턴스에 DRAGEN Bio-IT Platform을 구현하고 있습니다.
  • RyftElastic Stack을 확장하는 데이터 분석 및 기계 학습을 가속화하는 Ryft Cloud를 제공합니다. Amazon Kinesis, Amazon Simple Storage Service (S3), Amazon Elastic Block Store (EBS), 및 로컬 인스턴스 저장소에서 데이터를 가져오고 대규모 비트 병렬 처리를 사용하여 성능을 향상시킵니다. 이 제품은 기본적으로 C, C ++, Java 및 Python API와 함께 고급 JDBC, ODBC 및 REST 인터페이스를 지원합니다 (자세한 정보는 Ryft API 페이지 참조).
  • Reconfigure.ioGo 프로그래밍 언어를 사용하여 FPGA를 프로그래밍 할 수 있는 클라우드 기반 서비스를 시작했습니다. goroutines (경량 스레드), 채널 및 선택과 같은 동시성 지향 언어 기능을 활용하면서 클라우드 기반 환경에서 코드를 작성, 테스트 및 배포 할 수 있습니다.
  • NGCodecRealityCodec 비디오 인코더를 F1에 포팅하여 초당 80 프레임으로 방송 품질 수준의 비디오를 제작하는 데 사용했습니다. 이 솔루션은 단일 F1 인스턴스에서 최대 32개의 독립적인 비디오 스트림을 인코딩 할 수 있습니다 (자세한 내용은 You Deserve Better than Grainy Giraffes을 참고하십시오.)

학교 및 연구 분야 사용 사례
주요 대학 연구 그룹 및 대학원 수업에서도 AWS Educate를 통해 F1 인스턴스 기반 교육을 진행하고 있습니다.

UCLA CS133 클래스 (Parallel and Distributed Computing)는 3-4 주 이내에 운영될 F1 기반 FPGA 랩을 만들었습니다. UCLA Chancellor의 Jason Cong 교수에 따르면 FPGA 성능 디버깅, 기계 학습 가속화, Spark to FPGA 컴파일 및 Systolic Array Compilation을 포함하여 F1을 다루기 위한 여러 연구 프로젝트를 확장하고 있습니다.

지난 달 빅데이터 연구에서 혁신을 촉진하기 위해 NSF (National Science Foundation)와 협력하고 있다고 발표했습니다. (AWS는 혁신을 촉진하고 더 많은 것을 배우고, 이러한 연구를 지원하는 미국 NSF와 협력합니다.)

AWS Marketplace의 FPGA
개발자는 FPGA 기반 애플리케이션 및 서비스를 구축하고 AWS Marketplace.에 이를 제공하는 완벽한 솔루션을 구축했습니다. 여러분이 만든 솔루션을 손쉽게 공유할 수 있습니다.

Jeff;

이 글은 EC2 F1 Instances with FPGAs – Now Generally Available의 한국어 번역입니다.