Amazon Web Services ブログ

AWS Japan Staff

Author: AWS Japan Staff

オンプレミス環境から Amazon SageMaker を利用する

Amazon SageMaker は、機械学習におけるデータ準備・開発・学習・モデル変換・デプロイ、これら全体のパイプラインをサポートするマネージドサービスです。SageMaker の利用を検討する際に、これらの全てを SageMaker に移行しなければならないのかというと、そうではありません。例えば、開発のみを SageMaker の Jupyter Notebook で行うことや、学習・デプロイのみを SageMaker で行うことも可能です。この特性を活かせば、オンプレミスに機械学習環境を保有しているユーザが、既存のオンプレミス環境をなるべく活用し、追加のリソースが必要な部分に SageMaker を利用することができます。

Read More

[AWS Black Belt Online Seminar] AWS Well-Architected Framework によるコスト最適化 資料及び QA 公開

先日 (2019/3/12) 開催しました AWS Black Belt Online Seminar「AWS Well-Architected Framework によるコスト最適化」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20190312 AWS Black Belt Online Seminar AWS Well-Architected Frameworkによるコスト最適化 from Amazon Web Services Japan AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. W-AレビューをSAにお願いするにあたって金銭的なコストは発生しますか?または契約すべきサポートプランはありますか? A. W-Aレビューは無料でご提供しております(2019年3月現在)。W-Aレビュー実施に際して、AWSサポートは必須ではございません(が、開発フェーズであれば開発者プラン以上、本番運用中であればビジネスプラン以上のご契約をおすすめしております) Q. リザーブドインスタンスを購入するときは、ベストなお知らせが来るのでしょうか?すでに、RIを契約している場合、変更のお知らせなどがあるのでしょうか? A. お知らせはお送りしておりませんので、コストエクスプローラーの「リザーブドインスタンスの推奨事項」をご確認ください。 今後の AWS Webinar スケジュール 直近で以下のオンラインセミナーを予定しています。各オンラインセミナーの詳細およびお申し込み先は下記URLからご確認いただけます。皆様のご参加をお待ちしております。 AWS Innovate オンラインカンファレンス ≫ 申込先 2019 年 4 月 8 日〜5 月 7 日期間中いつでもオンラインで視聴可能 AWS基礎、業種別事例、人材育成、認定対策講座などAWSが厳選した33セッションを一挙に公開 — […]

Read More

大規模なゲームサーバを最大90%安いコストで運用する方法

Fortnite: Battle Royale, Warframe, そしてApex Legendsなど成功している多くのビデオゲームでは、プレイヤーがゲームの一部に無料でアクセスできる”Free-to-Play”モデルを採用しています。このようなゲームは、もはや低品質なものではなく、プレミアムな品質を必要とします。ビジネスモデルはコストの制約を受けていますが、そのような状況に対してAmazon EC2 スポットインスタンスは実行可能な低コストのコンピューティングオプションを提供します。カジュアルなマルチプレイヤーゲームはもちろん、マルチプレイヤーゲームサーバのワークロードを実行するAmazon EKSコンテナのオーケストレーションではプレイヤーへの影響を最小限に抑え、コストを最適化するメカニズムが必要となりますが、そのような場合にはスポットインスタンスの利用がフィットします。 スポットインスタンスはAWSクラウドの利用可能な予備のコンピュートキャパシティを提供することで、オンデマンドに比べて大幅な割引価格でご利用が可能です。スポットインスタンスによるコストを最適化によって、これまでと同じ予算でアプリーケーションのスループットを最大10倍にまでスケールできます。スポットインスタンスはフォールトトレラント(障害許容)なワークロードに最適です。マルチプレイヤーゲームサーバも例外ではありません。ゲームサーバの状態は、リアルタイムなプレイヤーの入力によって更新され、サーバは一時的な状態を保持します。ゲームサーバのワークロードは使い捨てになることが多く、スポットインスタンスを利用することでコンピュートにかかるコストを最大90%削減できます。このブログでは、スポットインスタンスを効果的に使用するためのゲームサーバワークロードの設計方法について説明します。 ゲームサーバワークロードの特徴 簡単に言えば、マルチプレイヤーゲームサーバは現在のキャラクターの位置と状態(主にアニメーション)を更新するためにほとんどの時間を費やします。残りの時間は、戦闘に関するアクションや移動、その他ゲームイベントに関連する画像の更新に費やされます。具体的にゲームサーバのCPUは、クライアントの位置情報を受信し、ゲームステートを計算し、その情報を特定の複数のクライアントに送信するという処理のためにネットワークI/Oを利用します。以上のことから、ゲームサーバのワークロードはカジュアルなマルチプレイヤーゲームには汎用インスタンスタイプ、ハードコアなマルチプレイヤーゲームにはコンピューティング最適化インスタンスタイプが適しています。 AWSはコンピューティング最適化(C4およびC5)や汎用(M5)をはじめとした多種多様なインスタンスタイプにおいてスポットインスタンスを提供しています。キャパシティはアベイラビリティゾーン内のインスタンスタイプごとに別々に変動するため、幅広いインスタンスタイプを使用することで同じ価格でより多くのコンピューティング能力を得ることができます。スポットインスタンスのベストプラクティスに関する情報はAmazon EC2 Spot Instancesの開始方法をご覧ください。 専用のゲームサーバを実行するためのソリューションの1つとして、Amazon GameLiftがあります。GameLiftはAWSの各リージョンでAmazon GameLift FleetIQやスポットインスタンスをデプロイします。FleetIQはプレイヤーのレイテンシ、インスタンス料金、そしてスポットインスタンスの中断(※)を気にしなくてもいいように中断レート(Interuption Rate)をベースとして新しいセッションをゲームサーバに振り分けます。より詳細な情報はAWS Game Techブログに掲載されている”Reduce Cost by up to 90% with Amazon GameLift FleetIQ and Spot Instances“をご覧ください。 (※)スポットインスタンスは空きリソースを提供している特性上、インスタンス需要に応じて中断されることがあります。詳しくはスポットインスタンスの中断をご覧ください。 その他のケースとして、マルチプレイヤーゲームサーバの展開にKubernetesやSwarm, Amazon ECSなどのコンテナベースのオーケストレーションによるゲームサーバのデプロイメントパターンを利用することができます。これらのシステムは大量のゲームサーバとしてデプロイされた複数のリージョンにまたがるDockerコンテナを管理します。本ブログの残りのパートではコンテナ化されたゲームサーバソリューションにフォーカスします。コンテナは軽量で、高速に起動し、ベースとなるインスタンスの使用率が向上するという特性があるため、ゲームサーバのワークロードに適しています。 なぜAmazon EC2 スポットインスタンスを利用するのか? スポットインスタンスは、使い捨てのゲームサーバワークロードを実行するための選択肢のひとつです。中断2分前に通知を受け取ることで、中断に備えることができます。インスタンスメタデータとAmazon CloudWatchによる通知処理の例を2つご紹介します。詳しくはこのブログの後半の「中断のハンドリング」および「ゲームサーバを冗長化するためには?」を参照してください。 スポットインスタンスは汎用およびコンピューティング最適化(C4およびC5)などゲームサーバのワークロードに適合するさまざまなEC2インスタンスタイプを提供します。また、スポットインスタンスは低い中断レートを提供します。スポットインスタンスアドバイザーは過去の履歴に基づいて、中断レートの低いインスタンスタイプを選択するのに役立ちます。 中断のハンドリング スポットインスタンスを使用する場合、中断によるプレイヤーへの影響を回避することが重要です。ここでは、GitHub上の”Spotable Game Server“で公開されているリファレンスアーキテクチャとサンプルコードによって、プレイヤー影響を避けるための戦略についてご紹介します。具体的には、Amazon EKSにおける、”kubectl drain”コマンドによるNode Drainageを例として挙げます。これにより、ノードのアンスケジューリング(解除)が可能となり、プレイヤーエクスペリエンスに影響を及ぼす可能性がある終了期間(terminationGracePeriodSeconds)にあるノード上で実行されているpodを削除します。その結果、podは正常に終了するシグナルがゲーム内に送信されている間も可動を続けます。 Node Drainage(ノードのドレイニング) Node […]

Read More

Amazon Connectインスタンスへの迷惑電話を特定し対処する

我々はAmazon Connectによって強化されたコンタクトセンターを展開してきました。 あなたは今、顧客から電話で問い合わせを受けています。 素晴らしいことです。 ただし、迷惑電話が増えてきていることにも気付いています。 それはあまり素晴らしいことではありません。 このブログでは、発信者の番号に基づいてこの不要な着信通話の発信者を識別するソリューションを構築する方法をご紹介します。 着信を識別して対処するステップ まず、Amazon DynamoDBに電話番号のリストを作成し、Amazon Connectにすべての着信呼び出しについてこのリストをチェックさせます。 Amazon Connectがこのリストにアクセスするために、AWS LambdaをAmazon Connect問い合わせフローと統合します。 その後、すべての着信呼び出しに対してそのLambda関数を実行します。 AWS Lambdaは、着信呼び出しの番号についてデータベースを検索します。 一致したレコードが見つかった場合に問い合わせフロー内で別のパスへルーティングできるようにするために、AWS Lambdaはレコードの一致を示す値を返します。 このプロセスの4つのステップは以下のとおりです: Amazon DynamoDBにテーブルを作成する AWS Lambdaを使用して番号データベースを検索する 問い合わせフローでAWS Lambdaを使用するようにAmazon Connectを設定する Amazon Connectに返される値を確認する ステップ1:Amazon DynamoDBにテーブルを作成する Amazon DynamoDBコンソールを開きます。 テーブル作成を選択します。 [テーブル名]に、filteredNumbersと入力します。 プライマリキーにphoneNumberと入力します。 デフォルト設定を使用をチェックしたままにして、作成を選択します。 テーブルを作成したら、ブロックする電話番号を追加します。filteredNumbersを選択し、項目タブを選択し、「項目の作成」を選択します。 国際的に認められたE.164形式で電話番号を入力してください。 たとえば、北米の場合は+ 15551234567などです。 ブロックする番号を入力してから、保存を選択します。 ブロックするすべての番号について手順6を繰り返します。 注意 電話番号を入力するこれらの手順では、番号を個別に入力する必要があります。 電話番号をまとめて追加する方法については、DynamoDB CLIリファレンスを参照してください。 ステップ2:AWS Lambdaを使用して番号リストを検索する AWS Lambdaは、Amazon ConnectとAmazon DynamoDBテーブルをつなぐパイプの役割を果たします。 Amazon […]

Read More

Amazon ConnectとSalesforce Service Cloudによる自動化されたAIエクスペリエンスの構築

昨年我々 は Salesforce のAmazon Connect CTIアダプタの最初のリリースを発表しました。我々 は、多くの企業のお客様が革新的な顧客体験を提供するこのインテグレーションを活用するのを見てきました。お客様からのフィードバックに基づいて、以下の追加機能を備えた CTI アダプタのバージョン 2(訳注)もすでにリリースされています: 訳注)本日時点で最新のCTIアダプタのバージョンは3.1です。 Salesforce 画面ポップアップの機能追加:Caller IDに加え、Amazon Connectの問い合わせフローで設定したコンタクト属性に基づいてポップアップさせる機能をサポート。 Salesforce オムニチャネルのサポート:Amazon Connectの音声チャネルをSalesforceチャット、電子メール、SMS チャネルと連携させることが可能に。 ロギングと録音のサポート:自動的にAmazon Connectの通話をログに記録し、Salesforce の通話記録に表示します。 Lambdaによるデータ活用:事前に構築済みのLambdaファンクションを使うことによってSalesforceの顧客データをカスタマーエクスペリエンスの向上のために活用することが出来ます。 SSO/SAML サポート:シームレスなシングル サインオンをAmazon Connectと Salesforce で有効に出来ます。 Aamzon Connectをはじめてセットアップする場合は、こちらのgetting started guideをご覧ください。また、CTIアダプタインストールガイド ではSalesforce AppExchangeのCTIアダプタの設定方法についてご案内しております。本ブログでは、作成済みのAamzon Connectインスタンスに対して設定済みのCTIアダプタがSalesforceインスタンスにセットアップされていることを前提にしております。また、Amazon Lex ボットのセットアップについての一定の知識も前提にしております。 CRMエージェントルーティングによる自動化されたAIエクスペリエンスの構築 あなたは小規模な再生可能エネルギー関連企業におけるコンタクトセンターの責任者だとしましょう。そのコンタクトセンターでは、エージェントはセールスについてとサービスについての両方の問い合わせを受けることとします。両方の問い合わせを受けるため、エージェントは顧客が問い合わせをしている理由を知る必要があり、また、ケースや連絡先情報のようなキーとなる情報がスクリーンにポップアップする必要があります。 Amazon Connectインスタンスでは、Amazon Lex ボットを活用したシンプルな問い合わせフローを設定します。この問い合わせフローは、顧客が問い合わせをしている理由、つまりインテントとしてAmazon Lexに定義するもの、が何かを尋ねるためのものです。顧客の言葉に応じて、Amazon Lexはその言葉を定義済みのインテントの一つにマッチさせます。セールスについての問い合わせか、サービスについての問い合わせかが確定したら、ケース番号を尋ねてそれをスロットに格納します。ボットがデータを収集したら、Amazon Connectはそれをその顧客の既知の何らかの情報とともにスクリーンにポップアップし、エージェントに伝えます。 初めのステップは二つのAmazon Lexボットの作成です:GetCustomerCallReasonとGetCaseNumberです。GetCustomerCallReasonは二つのインテントを持っています:SalesCallとSupportCallです。いずれのインテントについても、それぞれの問い合わせの理由についての発話をこれらのインテントにあてはめたいと思うでしょう。以下のスクリーンショットはそれぞれのインテントについての作り方を示すものです。 SalesCall インテント   SupportCall インテント これらのボットとインテントの名前は問い合わせフローの中で参照しますので、上の図と同じ名前で作成するようにしましょう。つぎに、Amazon LexボットGetCustomerCallReasonを作成し、発行します。ここで、prodというエイリアスを使用しました。 […]

Read More

Amazon FSx for Lustre / Amazon FSx for Windows が東京リージョンに対応しました

みなさん、こんにちは。アマゾン ウェブ サービス  プロダクトマーケティング エバンジェリストの亀田です。 re:Invent 2018で発表となったマネージド型ファイルストレージである、Amazon FSx for Lustre / Amazon FSx for Windows が東京リージョンに対応しました。 Amazon FSx for Lustre 完全マネージド型のファイルシステムで、1 秒間に最大数百ギガバイトのスループット、百万単位の IOPS、ミリ秒未満のレイテンシーで大量のデータセットを処理できる Lustre ファイルシステムを実行することができます。Amazon S3 とシームレスに統合されているため、長期のデータセットを高パフォーマンスのファイルシステムと簡単に結び付けて、コンピューティング集約型ワークロードを実行できます。データを自動的に S3 から FSx for Lustre にコピーしてワークロードを実行し、結果を S3 に書き込むことができます。 Amazon FSx for Windows Lustreと同様に完全マネージド型のファイルサーバであり、ネイティブ Microsoft Windows ファイルシステムを提供しています。共有のファイルストレージとして利用することが可能で、SMB プロトコルと Windows NTFS、Active Directory (AD) 統合、Distributed File System (DFS) も完全サポートしており、複数のEC2からアクセスが可能な共有ストレージ環境を構築することができます。 従来Linux環境では、Amazon Elasitc […]

Read More

Amazon Connect S3バケットへのアクセスを制限する

このブログでは、Amazon S3へのカスタマーアクセスポリシーを作成する方法について説明します。 これらのバケットはデフォルトでは公開されていません。このブログではさらに踏み込んで、Amazon Connectのレポートと通話録音が保存されているバケットをAmazon Connectにロックします。 Amazon Connectアカウントに割り当てられた適切な権限を使用することで、スケジュールされたレポートと保存されたレポートを表示したり、Amazon Connectインターフェイスから通話録音を再生したりできます。 セキュリティとデータのプライバシーは多くの顧客にとって最優先事項であるため、組織やプライバシーの要件を遵守することが重要です。 そのためには、IAMポリシーを使用して、Amazon S3に格納されているAmazon Connectアーティファクトのセキュリティをさらに強化することができます。 これは、顧客情報を危険にさらす可能性があるデータ漏洩または侵害を回避するのに役立ちます。 これにより、顧客のプライバシーを維持するためのセキュリティが強化され、ローカルの規制を遵守するのに役立ちます。 警告 セキュリティ設定を変更するときは注意してください。 これらの変更は恒久的なものであり、あなた自身のアクセスを制限してしまうかもしれません。まずはテストバケットで試すことをお勧めします。 もし間違えると、管理しようとしているリソースへのすべてのアクセスが失われるかもしれません。 これは、Amazon Connectインスタンスの動作に悪影響を及ぼす可能性があります。本番環境で行う前に、テストS3バケットでアクセス制限を試してみることを検討してください。 この記事で説明する次の手順は、S3バケットへのアクセスを制限するために必要です。 インスタンスに使用されているS3バケットを特定する Connectに使用されているIAMロールを特定する コマンドラインを使ってロールIDを特定する S3バケットポリシーを作成する S3バケットへのアクセスを確認する それでは始めましょう。 S3バケットを特定する Amazon Connectインスタンスに関連付けられているバケットを特定します。 インスタンスの作成時に既存のS3バケットを使用しなかった場合は、新しいバケットが作成されています。 次の例に示すように、Amazon Connectダッシュボードで、Amazon Connectに使用されているバケットを見つけることができます。 私のインスタンスの例で使用されているバケット名は、connect-25fd0a3be3ef です。 IAMロールを特定する Amazon Connectサービスに使用されているIAMロールを特定します。Amazon Connectインスタンスでの権限は、IAMロールにより許可されています。 注:Amazon ConnectはService-linkedロールを導入しました 。 この記事の手順は、2018年10月17日にService-linkedロールが導入される前に作成されたAmazon Connectインスタンスに適用されます。 近日中に、この記事をService-linkedロールに関する情報で更新する予定です。 Amazon ConnectサービスのIAMロールを見つけるには IAMコンソールを開きます。 Amazon Connectインスタンスを作成したときに作成されたロールを見つけます。 複数のインスタンスを作成した場合は、作成時間を確認することで、どのロールが各インスタンスに関連付けられているかを判断できます。 作成時間の列が表示されていない場合は、ページの右上隅にある歯車のアイコンから追加できます。 どのロールがどのインスタンスに対応しているか判断できない場合は、ロールがアクセス権を持つS3バケットが、そのインスタンスで使用されるバケットと一致するかを確認します。 正しいロールを使用していることを確認する […]

Read More