Author: AWS Japan Staff


AWSインスタンスの新しいSAP認定とベンチマーク結果の世界記録

翻訳はPartner SA 河原が担当しました。原文は こちらです。

2018年度のAPN プレミアパートナー様が発表され、国内8社目の新たなプレミアパートナーとしてCTC様が紹介されました。

こんにちは、Partner SA 相澤です。
いよいよre:Invent 2017が始まりましたが、28日のGlobal Partner Summit 2017にて
APN Premier Consulting Partnerが発表されました。

本年度の、新しいプレミアパートナーとして日本からはCTC様が紹介されました。
おめでとうございます!
今まで同様に非常に厳しいクライテリアを満たしたパートナー様のみの選出なっております。

また、既存のプレミアパートナー様も紹介され、日本からは7社のパートナー様が、昨年度から引き続きプレミアパートナー様として紹介されました。
Classmethod様、Cloudpack様、NRI様、ServerWorks様、TIS様、NEC様、 NTT Data様
おめでとうござます!

 

これでグローバルでのプレミアパートナー様は67社となり、そのうち8社が日本の企業です。
引き続き、日本市場へのAWS展開に向けて宜しくお願い致します!

https://aws.amazon.com/jp/solutions/solution-providers-japan/premier-consulting/

———————-
エコシステムソリューション部
パートナーソリューションアーキテクト
相澤 恵奏

 

AWS PrivateLinkのアップデート – お客様のアプリケーション&サービス向けのVPCエンドポイント

今月はじめに、私の同僚であるColm MacCárthaighAWS PrivateLinkに関する記事でVPCエンドポイントを利用したAmazon Kinesis StreamsAWS Service CatalogAWS Systems Manager、そしてEC2ELBのAPIへのアクセス方法についてご紹介しました。VPCエンドポイント (1つまたは複数のElastic Network InterfacesまたはENIで表される) はVPC内に存在し、VPCのサブネットからIPアドレスを取得します。これらのAWSサービスにアクセスするためにはインターネットゲートウェイやNATゲートウェイは必要ありません。このモデルは明確で理解しやすく、言うまでもなくセキュアでスケーラブルです!

 

プライベート接続用のエンドポイント

本日、VPCエンドポイントを利用して自分のサービスにアクセスしたり、他のユーザからサービスにアクセスいただけるようにAWS PrivateLinkを拡張しました。AWSサービス向けのPrivateLinkをローンチする以前から、たくさんのお客様からこの機能に関するご要望をいただいており、おそらく非常に人気のある機能になると考えています。例えば、あるお客様は単一のマイクロサービス(詳細はMicroservices on AWSを参照)を提供する数百のVPCを作成する計画があるとお話いただいたことがあります。

各企業は他のAWSのお客様にプライベート接続を介したサービスを開発・提供することができるようになりました。Network Load Balancerを利用したTCPトラフィックによるサービスを作成し、直接またはAWS Marketplaceでサービスを提供することができます。利用者は新しいサブスクリプションリクエストの通知を受け取り、そのサービスの利用について許可または拒否をすることができます。2018年は強力で活気のあるサービスプロバイダーのエコシステムを構築するために、この機能が利用されていくことでしょう。

サービスの提供者と利用者は異なるVPCまたはAWSアカウントを利用し、エンドポイントを介した一元的な通信がAmazonのプライベートネットワークを経由します。サービス利用者はVPC間のIPの重複やVPCピアリング、ゲートウェイの利用について心配する必要はありません。また、AWS Direct Connectを利用することで、オンプレミスやその他で稼働しているサービスから、AWS上のクラウドベースのアプリケーションへのアクセスを実現することができます。

 

サービスの提供および利用

VPC API、VPC CLI、またはAWSマネージメントコンソールからすべてのセットアップを行うことが可能です。それでは、コンソールからどのようにサービスの提供または利用を行うのかご紹介しましょう。今回はデモ用に単一のAWSにアカウントを利用します。

それでは、サービスの提供について見ていきましょう。サービスはNetwork Load Balancerの背後で実行され、かつTCPを利用する必要があります。EC2インスタンス、ECSコンテナ、またはオンプレミス(NLBのIPターゲットによる設定)を利用し、予想される需要に応じてスケールできるようにします。低レイテンシまたは対障害性を確保するために、リージョン内のそれぞれのAZのNLBをターゲットとすることをおすすめします。

VPCコンソールを開き、[Endpoint Services]を選択し、[Create Endpoint Service]をクリックします。

NLBを選択します。今回の例では一つしか表示されませんが、実際には2つ以上選択し、ラウンドロビン方式で利用者にマッピングさせることも可能です。[Acceptance requred]をクリックし、リクエストベースでのエンドポイントへのアクセスを提供します。

[Create service]をクリックすれば、サービスはすぐに準備完了となります。

もし、AWS Marketplaceでサービスを提供する場合、先に進んでリストを作成します。このブログ記事ではサービスの提供者と利用者が同じため、手順はスキップします。”Service Name”を次の手順で利用するためにコピーします。

VPCダッシュボードに戻り、[Endpoints]を選択し、[Create endpoint]をクリックします。[Find service by name]を選択し、先ほどコピーした”Service Name”を貼り付け、[Verify]をクリックし次に進みます。そしてAZ、サブネット、セキュリティグループをそれぞれ選択し、[Create endpoint]をクリックします。

Endpoint Serviceを作成したときに”Acceptance required”にチェックを入れたため、この接続は”pending acceptance”状態となっています。

Endpoint Serviceに戻ると、リクエスト側でもリクエストが”Pending Acceptance”状態であることが確認できます。(通常は別のAWSアカウントでの確認となります)

数分でエンドポイントが有効で利用可能なります。もし、有料のサービスやアクセスを提供する場合、たくさんのリクエストの中から新しい顧客を許可するために自動化された、定形のワークフローを実行する必要があるでしょう。

サービス利用者側は、新しいエンドポイントに対しDNS名でアクセスすることができます。

AWSまたはAWS Marketplaceから提供されるサービスはsplit-horizon DNSを通じてアクセスが可能です。この名前でアクセスすることで、ベストなエンドポイントが選択され、かつリージョンとAvailability Zoneが考慮されます。

 

AWS Marketplaceについて

前述のとおり、この新しいPrivateLinkの機能はAWS Marketplaceを通じて、新規または既存のサービス提供者の方々に新しい機会を提供します。以下のSaaSはすでにエンドポイントが利用可能で、今後さらに多くのサービスが増えていくことでしょう。(詳しくはAWS Marketplaceをご覧ください。)

CA TechnologiesCA Infrastructure Management Essentials, CA App Experience Analytics Essentials, CA Application Performance Management Essentials.

Aqua SecurityAqua Container Image Security Scanner.

DynatraceCould-Native Monitoring powered by AI.

Cisco StealthwatchPublic Cloud Monitoring – Metered, Public Cloud Monitoring – Contracts.

Sig OptML Optimization & Tuning.

 

本日から利用できます!

このPrivateLinkの新しい機能はいまからご利用できます!

 

日本語訳はSA吉田が担当しました。原文はこちらです。

AWS PrivateLink Update – VPC Endpoints for Your Own Applications & Services

 

サードパーティソース管理の可視性向上のためのAWS CodePipelineのカスタムソースアクションの使用

以前の「GitとAWS CodePipelineの統合」の記事では、Amazon API GatewayAWS LambdaAmazon S3を使用して、サードパーティのGitリポジトリとAWS CodePipelineを統合する方法の1つを示しました。 このアプローチでは、GitリポジトリをCodePipelineと迅速に統合できますが、多くの利用者がCI/CDパイプラインで使用するソースのメタデータをCodePipelineに提供することはできません。

この記事では、ソースリポジトリから、より多くのメタデータをCodePipelineに提供するための異なる戦略を提供する、CodePipelineカスタムソースアクションについて説明します。最も一般的なソース メタデータは、コミット識別子とコミットメッセージです。Commit識別子は、ソフトウェアライフサイクル全体の変更を追跡するために頻繁に使用されますが、コミットメッセージは人間が判読可能で簡潔な記述を提供します。カスタムソースアクションを使用すると、CodePipelineがCodeCommitやGitHubと統合するのと同じ方法で、任意のソースリポジトリと統合することができ、コミット識別子とコミットメッセージにアクセスできます。

この記事では、API GatewayとLambdaをセットアップしてパイプラインをトリガし、パイプラインをカスタムソースアクションで構成し、カスタムソースアクションからジョブを処理するワーカーを構築します。このアーキテクチャを使用すると、VPCでホストされているか、またはオンプレミスに構築されておりVPCからアクセス可能なソースプロバイダにアクセスできます。 (more…)

AWS Media Services – クラウドベースの映像処理、保存、収益化

初期のWebビデオがどんなものだったのか覚えていますか? スタンドアローンのプレーヤー、低速で不安定な接続、過負荷なサーバー、そして今まで存在していたバッファリングメッセージは、20年も前に標準策定されたものでした。

今日、技術の進歩と幅広い標準のおかげで、物事はずっと改善されています。 視聴者は現在様々な操作が可能で、様々な形、サイズのデバイスを使用して、ブロードキャスト、ストリーミング、またはOTTで送信されたライブおよび録画コンテンツを楽しむことができ、それらコンテンツへの即時アクセスが期待できます。 これらの期待に応えることは、コンテンツクリエイターとディストリビューターにとってのチャレンジです。 ワンサイズのすべての形式でビデオを生成する代わりに、メディアサーバーは、幅広いサイズ、フォーマット、およびビットレートに対応するビデオを制作する準備ができていなければなりません。計画的または計画外の需要の急増にも注意をしなければなりません。このような複雑さに直面しても、コンテンツ収益化モデルを保護するために、コンテンツ及び安定供給するインフラ準備が必要となります。

New AWS Media Services

2017年11月27日、上記課題の1つまたは複数に対応するよう設計された、様々な放送品質のメディアサービスを開始します。これらを一緒に使用して完全なエンドツーエンドのビデオソリューションを構築することも、ビルディングブロックスタイルで1つ以上のサービスを組み合わせて使用することもできます。皆様はインフラストラクチャーのセットアップに使う時間を短縮し、より革新的なコンテンツの作成、配信、収益化に集中することが可能です。サービスはすべて伸縮可能であり、処理能力、接続、ストレージを強化し、100万ユーザー(およびそれを超える)のスパイクを容易に処理できます。

サービスは次のとおりです(一連のインタラクティブコンソールや、包括的なAPIセットからアクセスできます)。

AWS Elemental MediaConvert – OTT、ブロードキャスト、またはアーカイブのためのファイルベースのトランスコーディングサービスで、さまざまなフォーマットやコーデックをサポートします。 マルチチャンネルオーディオ、グラフィックオーバーレイ、クローズドキャプション、いくつかのDRMオプション機能をサポートしています。

AWS Elemental MediaLive – テレビやマルチスクリーンデバイスにリアルタイムでビデオストリームを配信するライブエンコーディングサービスです。エンコードパラメータを完全に制御しながら、信頼性の高いライブチャネルを数分で展開できます。 広告挿入、マルチチャンネルオーディオ、グラフィックオーバーレイ、クローズドキャプションをサポートしています。

AWS Elemental MediaPackage – オリジンサーバーとジャストインタイムパッケージのサービスです。 1つのビデオ入力から、複数のデバイスで視聴するために様々な形式のビデオ出力を生成します。 複数の収益モデル、タイムシフトライブストリーミング、広告挿入、DRM、ブラックアウト管理をサポートしています。

AWS Elemental MediaStoreAmazon Simple Storage Service(S3)の規模と耐久性を活用しながら、ライブストリーミングのような高性能かつ低遅延のアプリケーションで利用可能なメディア最適化ストレージサービスです。

AWS Elemental MediaTailor – 広告配信とサーバーサイド広告挿入、幅広いデバイス、トランスコード、サーバーサイドとクライアントサイドの広告挿入の正確なレポートをサポートする収益化サービスです。

以下のセクションでは、すべての機能をリストするのではなく、できるだけ多くのスクリーンショットをご紹介し、豊富な機能セットとこれら一連のサービスによって得られる設定をよりご理解いただけるように努めます。

AWS Elemental MediaConvert

MediaConvertでは、ファイルに格納されているコンテンツをトランスコードすることができます。 個々のファイルやメディアライブラリ全体を処理することができます。コンテンツと目的の出力を指定する変換ジョブを作成し、それをMediaConvertに送信するだけです。これらはインストールやパッチ適用の必要がなく、納期やパフォーマンスに影響を与えずにニーズに合わせてサービス拡張できます。

MediaConvertのコンソールでは、出力プリセット、ジョブテンプレート、キュー、およびジョブを管理できます:

ビルドインシステムのプリセットを使用することも、独自のプリセットを作成することもできます。 独自プリセットにより設定をフルコントロール可能です:

ジョブテンプレートには名前が付けられ、1つ以上の出力グループが生成されます。クリックしてテンプレートに新しいグループを追加することができます:

すべての準備が整ったら、いくつかの最終的な選択を行いジョブを作成するために「Create」をクリックします。

それぞれのアカウントにおいて、ジョブのデフォルトキューで処理を開始します。キューに入力された仕事はそれぞれのアカウントで使用可能なすべての処理リソースを使用して並列に処理されます。キューに仕事を追加しても、処理リソースは追加されませんが、キュー全体に配分されます。また、あるキューを一時停止して、他のキューに多くのリソースを割り当てることも可能です。より多くのリソースを他に費やすために、キューを一時停止することも可能です。また一時停止したキューにジョブをサブミットすることも可能で、まだ開始していないキューをキャンセルすることもできます。

このサービスの価格は、処理するビデオの量と使用する機能に基づきます。

AWS Elemental MediaLive

このサービスはライブエンコーディング用で、24時間365日稼働させることができます。 MediaLiveチャンネルは、放送業界で顧客が期待する信頼性を提供するために、2つの物理的に分離されたアベイラビリティゾーンに分散した冗長構成で展開されます。 入力信号を指定し、MediaLiveコンソールでチャンネルを定義することが可能です。

入力設定を作成した後、チャンネルを作成し入力設定にアタッチします:

各チャンネルの設定を完全に制御できます:

AWS Elemental MediaPackage

このサービスにより、単一のソースから様々なデバイスにビデオ配信が可能です。コンテンツ保護とジャストインタイムパッケージングに重点を置いており、ユーザーが希望するコンテンツをユーザーが選択した様々なデバイスに提供することができます。チャンネルを作成するだけで利用可能です:

その後、1つ以上のエンドポイントを追加します。 再度申し上げますが、開始ウィンドウやディレイを含む様々なオプション設定が指定でき、フルコントロール可能です:

チャンネルの入力URL、ユーザー名、およびパスワードを確認し、パッケージ化のためにライブビデオストリームをルーティングして利用可能です。

AWS Elemental MediaStore

MediaStoreは、ライブおよびオンデマンドメディア配信に必要なパフォーマンス、一貫性、およびレイテンシを提供します。オブジェクトは、限られた時間の間、オブジェクトストレージの新しい「一時的な」層へ書き込み、読み取られ、S3に暗黙的に移動して長期間の耐久性を実現します。メディアコンテンツをグループ化するためのストレージコンテナを作成するだけで利用可能です。

コンテナは1分程度で利用可能になります:

S3バケットと同様に、MediaStoreコンテナにはアクセスポリシーの設定が可能で、オブジェクトまたはストレージ容量に制限はありません。

MediaStoreは、リクエストレートやパフォーマンス要件に従って、オブジェクトのキー名で管理することにより、容量やスループットの面でS3を最大限に活用するのに役立ちます。

AWS Elemental MediaTailor

このサービスは、サーバー側の広告挿入を処理しながら、即座に広告アセットをトランスコードすることにより、放送品質の視聴者体験を提供します。お客様のビデオプレーヤーがMediaTailorにプレイリストを要求すると、広告サーバを呼び出し、元の動画のオリジナルサーバを参照するプレイリストと、広告サーバが推奨する広告を返します。ビデオプレーヤーは、クライアント側の広告ブロッキングが働かないように、すべての要求を単一のエンドポイントで送信します。 MediaTailor設定を作成するだけで可能です:

コンテキスト情報は、以下のURLにある広告サーバーに渡されます:

このポストの長さにもかかわらず、かろうじてAWS Media Serviceの一面をご紹介できただけです。AWS re:Invent後に、より詳細にこれらのサービスの使い方をご紹介させていただければとおもいます。

Available Now

AWS Media Servicesのセット全体が今すぐ利用可能です。価格はサービスによって異なりますが、利用量課金モデルで提供されています。

Jeff;

原文:AWS Media Services – Process, Store, and Monetize Cloud-Based Video(翻訳:SA安司)

Amazon Sumerianの紹介:簡単な方法で VR、AR、3D体験を作成

私の過去のブログの投稿を読んだり、様々なカンファレンスで行ったセッションに出席したことがあれば、私がGeekな女の子だと分かっているかもしれません。クラウド、人工知能、IoT、Makerスペースなどの技術分野で行われた最新の進歩、そしてバーチャルリアリティ(VR)と拡張現実(AR)には大変興味を持っています。私の考えでは、Geekになるのはすばらしい時期です。スターウォーズやスタートレックを見て驚いたアルゴリズムや離散数学のクラスや技術を汗ばみながらビルドを夢見ていたことのすべてが今や成果を上げています。うまくいけば、私が宇宙の他の銀河に超光速移動できるようになるまでは時間の問題に過ぎません、しかし、それまでは好きな番組やショーの中に登場するようなキャラクターや画像の3Dバーチャルリアリティや拡張現実を構築することができます。

Amazon Sumerianは誰でも簡単に拡張現実(AR)、仮想現実(VR)、3Dアプリケーションを作成し実行できるツールとリソースを提供します。Sumerianを使用すると、Oculus 、HTC Vive 、iOSデバイスなどのハードウェアでWebVR互換のブラウザを使用し、Androidデバイス上でARCoreをサポートできるマルチプラットフォームエクスペリエンスを構築できます。

現在プレビュー中のこのエキサイティングな新サービスは、ブラウザから非常に没入型でインタラクティブな3D体験をデザインできるようにする機能を提供します。これらの機能の一部は次のとおりです。

  • Editor: クロスプラットフォームパブリッシングを使用して、3Dシーンを構築し、アセットをインポートし、インタラクションや特殊効果をスクリプティングするWebベースのエディタ。
  • Object Library: 事前にビルドされたオブジェクトとテンプレートのライブラリ。
  • Asset Import: シーンで使用する3Dアセットをアップロードします。SumerianはFBX、OBJをインポートし、すぐにUnityプロジェクトを導入することをサポートしています。
  • Scripting Library:高度なスクリプト機能を提供するために、3Dエンジンを介してJavaScriptスクリプトライブラリを提供します。
  • Hosts: 性別、声、言語に合わせてカスタマイズ可能な、生き生きとしたリアルなアニメーション3Dキャラクター。
  • AWS Services Integration:Amazon PollyとAmazon Lexとの統合され、スピーチや自然言語をSumerian hostsに追加します。さらに、AWS Lambdaでスクリプトライブラリを使用すると、AWSサービス全般を使用することができます。

Amazon Sumerianでは、リッチでインタラクティブなVRおよびARシーンを構築するために3Dグラフィックスやプログラミング体験を必要としないため、Sumerian Dashboardをすぐに実行して見てみましょう!


Sumerian Dashboardから、ボタンを押して新しいシーンを簡単に作成できます。

新しいシーンのデフォルトビューが開き、Sumerian Editorが表示されます。EditorでTara Blog Sceneを開いて、自分のシーンにアセットを簡単にインポートできます。

Import Assetボタンをクリックしてアセットを選択して、View Roomを選択してシーンにインポートします。開きたいアセットを選択した状態で、[Add]ボタンをクリックしてインポートします。

素晴らしい!持っていたアセットはSumerian Editorに正常にインポートされ、Asset panelに表示されます。さて、View RoomオブジェクトをView Roomで選択し、それをEditorのキャンバスにドラッグすることで、View Room objectをシーンに追加することができます。

インポートアセット処理を繰り返し、今度はマネキンアセットをシーンに追加します。

さらに、Sumerianでは、エンティティにScriptComponentを追加してスクリプトを作成し、シーンをさらにエキサイティングにするために、Entityアセットにスクリプトを追加することができます。提供された組み込みのスクリプトを使用するか、独自のカスタムスクリプトを作成することができます。新しいカスタムスクリプトを作成すると、下のコードに似た基本のJavaScriptコードを含む空白のスクリプトが表示されます。

'use strict';
/* global sumerian */
//This is Me-- trying out the custom scripts - Tara

var setup = function (args, ctx) {
// Called when play mode starts.
};
var fixedUpdate = function (args, ctx) {
// Called on every physics update, after setup().
};
var update = function (args, ctx) {
// Called on every render frame, after setup().
};
var lateUpdate = function (args, ctx) {
// Called after all script "update" methods in the scene has been called.
};
var cleanup = function (args, ctx) {
// Called when play mode stops.
};
var parameters = [];

Very cool! Amazon Sumerianを使用してほんの数分で3Dシーンを作成し、表面をほんの少しい触っただけです。

まとめ

Amazon Sumerianサービスを使用すると、仮想現実(VR)、拡張現実(AR)、および3Dアプリケーションを容易に作成、構築、実行できます。没入感のあるシーンや体験を構築するために、3Dグラフィックスや専門的なプログラミング知識は必要ありません。 SumerianにFBX、OBJ、およびUnityプロジェクトをインポートしたり、シーンで使用する独自の3Dアセットをアップロードしたりすることができます。さらに、デジタルキャラクターを作成してあなたのシーンにキャラクターの出現、発言、行動の選択してデジタルアセットを使用してナレーションを追加できます。

Amazon Sumerianの詳細を知り、限定プレビューにサインアップして、製品ページの新しいサービスを開始することができます。皆さんが豊かな経験を積み重ねていくのを私は待つことはできません。

Tara (翻訳は SA森 が担当しました。原文はこちら)

DNS を使って AWS Certificate Manager の検証を簡単に

Secure Sockets Layer/Transport Layer Security (SSL/TLS) 証明書はインターネット越しのネットワーク通信を安全にし、Web サイトの身元を確認するのに使われています。アマゾンは証明書を発行する前に、そのドメイン名をあなたが管理している事を検証しなければなりません。今回、あなたが管理しているドメイン名について SSL/TLS 証明書の発行リクエストを AWS Certificate Manager (ACM) にした際に、Domain Name System (DNS) 検証を使えるようになりました。これまで、ACM はEメール検証のみをサポートしており、ドメインの所有者は証明書発行リクエストのつどEメール受け取り、確認して承認する必要がありました。

DNS 検証では、そのドメインをあなたが管理している事を証明するために CNAME レコード を DNS 設定に書き込む必要があります。CNAME レコードの設定後は、DNS レコードが変更されない限り、有効期限切れ前には ACM は自動で DNS 検証した証明書を更新します。Amazon Route 53 で DNS を管理している場合は、ドメインの検証がより簡単になるよう ACM が DNS 設定の更新も行うことができます。このブログ記事では、DNS 検証を使って Web サイトの証明書リクエストを行う方法を紹介します。同等のステップを AWS CLI、AWS API、AWS SDK を使って行うには、AWS Certificate Manager in the AWS CLI ReferenceACM API Reference を御覧ください。

SSL/TLS 証明書を DNS 検証を使ってリクエストする

このセクションでは、インターネットで Web サイトの身元を確認するのに必要な SSL/TLS 証明書を ACM を使って発行するのに必要な 4 ステップを順番に行っていきます。SSL/TLS は、通信における重要データの暗号化、Web サイトの身元を証明する証明書を使った認証、ブラウザ、アプリ、Web サイト間の接続の安全性を実現します。DNS 検証や SSL/TLS 証明書は ACM を通じて無償で提供されます。

ステップ 1: 証明書をリエクストする

始めるにあたって、AWS マネージメントコンソール にログインして、ACM コンソールを開きます。証明書をリクエストするには Get started / 今すぐ始める を選んで下さい。

Screenshot of getting started in the ACM console

もしこれまでに ACM で証明書を管理していた場合は、代わりに証明書一覧と新しい証明書をリクエストするボタンが表示されます。新しい証明書をリクエストするには Request a certificate / 証明書のリクエスト を選んで下さい。

Screenshot of choosing "Request a certificate"

Domain name / ドメイン名 のテキストボックスにドメイン名を入力し、Next / 次へ を選んで下さい。この例では、
www.example.com と入力しています。あなたが管理しているドメイン名でなければいけません。あなたが管理していないドメイン名の証明書をリクエストすることは、AWS サービス条件 に違反することになります。

Screenshot of entering a domain name

ステップ 2: 確認方法を選択する

DNS 検証 (DNS validation) では、DNS 設定に CNAME レコードを書き込むことでドメイン名の管理をしている事を検証します。DNS validation / DNS 検証 を選んで、Review / 確認 を選びます。

Screenshot of selecting validation method

ステップ 3: リクエストを確認する

リクエストを確認して、証明書をリクスとするには Confirm and request / 確定とリクエスト を選びます。

Screenshot of reviewing request and confirming it

ステップ 4: リクエストを送信する

ACM がドメイン検証の情報を反映するのに少し経った後、▼ を選択して検証情報の全てを表示させます。

Screenshot of validation information

証明書リクエストしたドメイン名を管理していることを検証するために、DNS 設定に追加が必要な CNAME レコードが表示されます。Route 53 以外の DNS サービスを使っていたり、他の AWS アカウントで Route 53 を使っている場合、検証情報から DNS CNAME 情報をコピーするかファイルにエクスポート (Export DNS configuration to a file / DNS 設定をファイルにエクスポート を選びます) して、DNS 設定に書き込みます。DNS レコードを追加・削除する方法については、お使いの DNS サービスを確認指定下さい。DNS に Route 53 をお使いの場合は、Route 53 ドキュメント を確認して下さい。

同じ AWS アカウントの Route 53 でドメインの DNS レコードを管理している場合、ACM で DNS 設定を更新するために Create record in Route 53 / Route 53 でのレコードの作成 を選択して下さい。

DNS 設定を更新した後、Continue / 続行 を選択して ACM の証明書一覧に戻ります。

ACM は全ての証明書の一覧を表示します。リクエストした証明書も表示され、リクエストのステータスを確認することができます。DNS レコードの書き込みを行った後、(TTL設定によりますが) 一般的にレコードが反映されるまで 30 分程度かかり、さらに Amazon が検証して証明書を発行するまで数時間かかります。ACM はこの期間 Validation status / 検証状態Pending validation / 検証保留中 と表示します。ACM がドメイン名の検証をした後は、Validation status / 検証状態Success / 成功 と表示します。証明書の発行後、証明書のステータスは Issued / 発行済み となります。もし 72 時間経っても ACM が DNS レコードを検証できず証明書を発行できなかった場合は、リクエストはタイムアウトし、検証状態は Timed out / タイムアウト と表示されます。やり直すには、新たにリクエストを作成する必要があります。検証や発行についてトラブルシューティングする手順については、ACM ユーザガイドトラブルシューティングを参照下さい。(訳注:11/27 現在、日本語のユーザガイドはまだ DNS 検証について反映されてないため、英語版を参照下さい。)

Screenshot of a certificate issued and validation successful

これで ACM の証明書は発行されたので、Web サイトを安全にするのに使用できます。証明書を他の AWS サービスにデプロする方法については、それぞれのドキュメント
Amazon CloudFrontAmazon API GatewayApplication Load BalancersClassic Load Balancers を参照して下さい。なお、CloudFront で証明書を使用するには 米国東部(バージニア北部)リージョンに証明書が作成されている必要があります。

ACM は証明書が他の AWS サービスで使用されており、CNAME レコードが残っている限り証明書を自動的に更新します。ACM の DNS 検証についてさらに詳しく知るには、ACM FAQACM ドキュメント を御覧ください。

このブログ記事にコメントがる場合、(原文の)記事のコメントセクションに記載して送って下さい。もしこの記事について質問がある場合は ACM forum に新しいスレッドを作成して質問するか AWS サポート
にお問い合わせ下さい。

– Todd (翻訳は SA 辻 義一 が担当しました。原文はこちら)

Amazon Lex を使った Bot の作成

Jeff Barr がブログでの紹介の投稿でご説明したように、Amazon Lex は、開発者が音声とテキストを使用してアプリケーションで対話式のインターフェイスを構築できるようにするサービスです。Amazon Lex を使うと、すべての開発者が Amazon Alexa に採用されている深層学習技術と同じ技術を利用し、自然言語での高度な対話ボット (チャットボット) を短時間で簡単に構築できるようになります。Amazon Lex では、自動音声認識 (ASR) という音声をテキストに変換するための高度な深層学習テクノロジーと、テキストの意図を理解するための自然言語理解 (NLU) を利用できます。これにより、ユーザーにとって使いやすく魅力的なアプリケーションを構築できます。

では、Amazon Lex で機能的なチャットボットを開発するには、どうすればいいでしょうか。ドキュメント内の例の 1 つを利用すれば、1、2 分でチャットボットを使用してやり取りを開始することができます。もちろん、これはきっかけにはなりますが、まったく十分とはいえません。では、チャットボットを構築するために、何をする必要があるかを見てみましょう。

基本

チャットボット設計は、確立基準がほとんどない発生期の領域です。実際のユーザーとやり取りしなければ、何が面倒で何が快適かを理解することはできません。このセクションは、ボット設計のガイドではなく、設計上の考慮事項を探るものとして扱うことをお勧めします。以下は、Amazon Alexa との何百万回ものやり取りから学んだことです。

Simon Sinek はチャットボットがなぜ存在するかという疑問から始めることを奨励しています。優れた設計は明確な目標から始まります。それにはまず、ユーザーがどんな人か、何を達成しようとしているのかを理解する必要があります。

また、モダリティとミディアムのことも考える必要があります。音声インターフェイスは確かに便利ですが、ユーザーが注意を払っていなかったり、単に聞こえていなかったりすることも想定して、最後のプロンプトを繰り返したり、「何?」とか「どこまでいったっけ?」といった反応にも適切に対応できなければなりません。テキストのインターフェイスでは、これは不要でしょう。一部のテキストインターフェイスでは、画像とボタンの付いたレスポンスカードもサポートされています。

インターフェイスを設計する者にとって、強調は不可欠な手法です。これは、情報を提示したり、特定の選択肢を推奨する基準となります。明確性を実現するための規則はモード (ウェブ UI かチャットか音声か) によって異なります。目標とモードに応じて、強調のためのツールは異なる可能性があります。次の例を見て、3 つのそれぞれのモードにおける注文方法について検討してみてください。

 o_bots_1 これで注文してよろしいですか。 (はい/いいえ) ____ を注文したいとのことですが、それでよろしいですか。 
ウェブ (ポイントアンドクリック) チャット (テキスト) 言語 (音声認識)

ウェブの場合、「注文を確定する」を強調することで、それが推奨される選択肢であることを明確化し、このアクションによって顧客が注文にコミットすることを確認する必要があります。チャットでは、オプションを括弧で囲むことで、ユーザーに何が期待されているかを示すのが慣例となっています。また、テキストの配置や空白文字、大文字などで強調することもできます。

音声操作では、このような慣例に代わって、注文がいつ実行されるかをユーザー自身がコントロールしていることを保証する新しい基準が必要となります。たとえば、注文に大幅な変更がある場合は、確認することができます。さらに、音声の場合、強調のためにゆっくりと話すなど、話す速度をコントロールすることも可能です。他の方法が使用できない場合は、単に繰り返すだけでもかまいません。以下の例を見てみましょう。

ご注文の合計額は 55 ドルです。

この注文を実行して、このアカウントに登録されているカードに 55 ドル課金してよろしいですか。

 
  音声 – 強調のための繰り返し  

CoffeeBot の構築

ボイスボットを使用して、あまり一般的に使用されることのない言葉を含む会話 (たとえば、カフェラテを注文するときの「トリプルモカをお願いします」など) をサポートする必要があるとします。もちろん、ボットに命令するのがお好きな方は、「トリプルモカ、頼む」と言ってもかまいません。

ここでは、Amazon Lex コンソールを使用してカスタムボットを作成してみましょう。これを「CoffeeBot」と呼んで、Amazon Lex を呼び出すための適切なアクセス許可を持つ IAM ロールを使用します。この実行手順については、『Amazon Lex 入門ガイド』を参照してください。

 

Lex の用語

Jeff がブログで説明したように、Amazon Lex ではインテントやスロットタイプ、スロットが使用されます。再利用可能性を促進するために、インテントとスロットタイプは AWS アカウントに関連付けられ、複数の Amazon Lex ボットによって使用されます。変更を実行するに従い、Amazon Lex がそれらリソースのバージョンを自動的に追跡することがわかると思います。そのため、テストしている特定のバージョンのボットに何が使用されているかを正確に把握できます。これは一見、それほど大事でないことのように感じられるかもしれませんが、並列開発と継続的開発の両方をサポートすることは極めて重要なことです。

会話の流れ

新しいボットを開始する際には多くの場合、1 つのタイプのリクエストで通常どのような会話が行われるかを録音し、それらのリクエストを分析して、より広範なリクエストの場合を推定することが有効です。CoffeeBot では、人々がコーヒーショップでどのようにモカを注文するかに焦点を当てることにします。

実際の会話 会話のフェーズ インテントと代替案

いらっしゃいませ。ご注文はお決まりですか。

> えっと、ノンファットモカをお願いします。

挨拶と最初のリクエスト

– 飲み物のタイプ: モカ

– 飲み物のサイズ: ラージ

– クリーマー: ノンファット

飲み物のタイプのみから始めることも別の組み合わせから始めることも可能。

アイスにしますか。

いいえ、いいです。

設定

– 飲み物の温度: ホット

ホットかアイスだけか。他の値はあり得るか。

チョコレートはどうなさいますか。

ダークで。

設定

– チョコレートのタイプ: ダーク

すべての飲み物にチョコレートが必要なわけではない。モカだけか。

ホイップクリームはどうなさいますか。

いいです。

設定

– ホイップクリーム: いいえ

ホイップクリームにはいくつかの種類があるか。

他の飲み物やサイズに変更する可能性は?

かしこまりました。ラージ、シングルダーク、ノンファットモカ、ホイップクリームなしですね。

> あっ、トフィーを 1 ポンプ追加してもらえますか。

確認 → 設定

– フレーバー: トフィー 1 ポンプ

ここで承認することもできた。フレーバーを 2 種類に増やすことは可能か。制限はあるか。

かしこまりました。ラージ、シングルダーク、ノンファットモカ、ホイップクリームなしで、トフィーを 1 ポンプですね。お名前は?

ジェニーです。

確認 → ラベル

– 名前: ジェニー

優先客として名前をアプリに保存

ありがとうございました。ご用意でき次第、そちら右側のカウンターでお渡しいたします。4 ドル 17 セントになります。他はよろしいですか。

いいです。

清算 このための課金オプション。

5 ドル、お預かりいたします。83 セントのお返しです。どうもありがとうございました。

> どうも。

清算 → 完了

placeOrder:  name, beverageConfig

– バックエンドで注文を実行

– 確認メールを送信?

– ポイント獲得?

実際の注文は、このモカの例よりずっと複雑で、10 万種類以上のコーヒー飲料が存在する可能性があります。自然な会話は決まった順序に進まないし、会話の途中でユーザーの気が変わったり、ユーザーが会話の一部をスキップする可能性もあります。このような流れの柔軟さが自然な会話の特徴です。

ではここで、CoffeeBot が「ダブルショートモカ」と聞いた場合を考えてみましょう。この場合、ユーザーは「エスプレッソダブルのショート (8 オンス) モカ」を頼んだのでしょうか。それとも実際にはサイズには触れずに「ダブルショットモカ」を頼んだのでしょうか。今一度、入力を憲章する必要があります。このシリーズの次の投稿では、入力の検証についてお話しします。

会話のインターフェイスを設計する際、的を絞ることが重要です。これまでにお話しした複雑性の一部は、ユーザーが誰かを「認識」し、支払いを処理できるアプリから始めることで自然と解消されます。特に寒い日や雨の日などには、天気の話を会話のトピックに含めてもいいでしょう。このようなたわいもない話をモデル化することは楽しいかもしれませんが、時間を最も有効に使っているとはいえないでしょう。あればいいなと思うものではなく、ユーザーエクスペリエンスを大幅に強化する開発作業に焦点を当てましょう。

会話: 情報

上記のような分析は、会話の構造を明らかにするものです。情報の断片は個別に共有することも一緒に共有することもできます。また、多数の可能な順序の 1 つとして共有することもできます。さらには、一定の飲み物のアドオンをオプションとして追加することも可能です。しかし最終的には、モカを注文するために認識されなければならない特定の値セットがあります。これまでに解明した情報の重要なサブセットに対応し、これらのスロットがフィードバックループを使用し時間をかけて洗練されていくのだということを理解したうえで、まずは CoffeeBot の一部のスロットタイプから開始します。

開発チームは共有リソースを検出しやすいように独自の規則を作成しますが、ここでは「cafe」をプレフィックスとして使用します。

スロットタイプ スロット値
cafeBeverageType コーヒー; カプチーノ; ラテ; モカ; チャイ; エスプレッソ; スムージー
cafeCreamerType 2 パーセント; ノンファット; ソイ; アーモンド; ホールミルク; ハーフアンドハーフ
cafeStrength シングル; ダブル; トリプル; クアッド; クアドラプル
cafeFlavor バニラ; アーモンド; フレンチバニラ; キャラメル; ヘーゼルナッツ
cafeBeverageSize キッズ; スモール; ミディアム; ラージ; エクストララージ; ショート; 6 オンス; 8 オンス; 12 オンス; 16 オンス; 20 オンス
cafeBeverageTemp キッズ; ホット; アイス
cafeBeverageExtras ハーフスイート; セミスイート

会話: 目標

次に、Amazon Lex の用語で「インテント」として知られる目標を定義します。ボットは最終的には複数のインテントを使用する可能性がありますが、まずは 1 つから始めましょう (複数のボットが同じインテント、および同じインテントの異なるバージョンを使用することができます)。

ユーザーが実際に言うと予想される内容をいくつか例として提示することが重要です。Amazon Lex では、これらの例は「発話」と呼ばれます。これが重要なのは、Amazon Lex が機械学習モデルのトレーニングを行い、正しいインテントを認識するようにするためです。このテキストは、ユーザーの言うことに完全に一致している必要はありません。また、小さいセットから始めて、その後変形を追加していくのが最良です。

各発話は 1 つ以上のスロットを参照しますが、これらのスロットは定義されている必要があります。各スロットは、ユーザーから値を引き出すために Amazon Lex が使用する 1 つ以上のプロンプトと関連付けることができます。Amazon Lex ダイアログマネージャーはスロット値を追跡します。また、以下のように、それぞれの必要なスロットの優先度を使用して、次に求めるスロットを決定することもできます。

o_bots_2

この時点で、ボットはコーヒーを注文できる状態になります。フルフィルメントについては、パート 2 の投稿でお話しします。

会話: テスト

次に、ボットを構築してテストします。モバイルアプリができてからでは他の多くの要素がからんでくるため、この段階で、できているものをテストしてエラーを検出し修正することは非常に有効です。テストは Amazon Lex コンソールに表示されるオーバーレイで実行できます。

Test_bot_text

何が起こったのでしょうか。発話としてはこのとおりのテキストを設定していませんでしたが、「I want a mocha (モカをお願いします)」という入力テキストは、作成された cafeOrderBeverageIntent と照合され、発話が I want a {BeverageType: mocha} ({BeverageType: モカ} をお願いします) として解釈されました。続いて、Amazon Lex は BeverageSize が必要であると判断し、このスロットのデフォルトのプロンプト、つまり What size?  tall, medium, large? (サイズはどうなさいますか?  トールとミディアム、ラージがございますが?) というプロンプトを表示しました。

最後に、すべての必要なスロットが満たされたら、Amazon Lex はリクエストどおりに値を表示します (クライアントにパラメーターを返す)。

会話: 流れ

では、Lex が理解できなかった場合はどうでしょうか。この場合は、コンソールにあるインテントエディタの明確化プロンプトを使用して、何か別の内容を引き出そうと試みることができます。他のすべてが失敗した場合、安全に終了します。

o_bots_4

この設定では、Amazon Lex は 3 回まで他の明確化プロンプトを使用し、その後、中断フレーズの 1 つを使用して断念していることがわかります。では、なぜ複数のプロンプトを使用するのでしょうか。確かに、必要なのは 1 つだけかもしれませんが、複数のプロンプトが存在することで、Amazon Lex は選択することができ、自発性を維持できるのです。

A_bird_text

また、ユーザーが注文を確定する直前にボットがプロンプトを表示するように設定することもできます。確認プロンプトは、コンソールのインテントエディタにリストされています。

確認プロンプトは、セットアップしたすべての単一スロット、特に、他のスロットが満たされた場合にのみ必要となるスロットに含める必要はありません。必要なスロットをプロンプトに含めることは良い考えですが、コードフックを使用してプロンプトをカスタマイズすることもできます (詳細は次回の投稿でお伝えします)。

o_bots_6

確認プロンプトには、スロット値を含むことができます。どうように使用するか、見てみましょう。

Can_I_get_text

予想どおり、Amazon Lex は必要なスロットが満たされたことを判断し、確認プロンプトを表示しました。また、「nope (ううん)」を正確に解釈し、中断しました。2 回目では、Amazon Lex は「yep (うん)」を肯定表現として正確に解釈し、値を表示しました。

May_I_have_text

これは何を示しているのでしょうか。追加設定がない場合、Amazon Lex は確認プロンプトから、ユーザーがサイズの変更を希望していることを正確に解釈しました。

まとめ

この投稿では、ボット設計に関連する基本的な決定事項についてお話ししました。ここでは、会話の流れを実際に観察することから始め、特定の取引に的を絞り、いくつかのデフォルト値のあるインタラクティブなボットをすばやく構築しました。その後、テストコンソールで、ボットが予想どおりに動作することを確認しました。

パート 2 では、さらなる検討事項についてお話しするとともに、この基本的なボットが音声を認識できるように開発を進めます。

注意: パート 1 とパート 2 のコード は Github リポジトリにあります。

ご不明の点またはご提案があれば、下記までコメントをお寄せください。


今回のブログの投稿者について

niranjanNiranjan Hira はソリューションアーキテクトとして、お客様がビジネス上の課題に対処するために最適な構成要素を組み立てるのをお手伝いしています。時間があるときには、いろいろな物を分解して、元に戻せるかどうか試しています。

harshal_pimpalkhute_100Harshal Pimpalkhute は、Amazon Lex チームのプロダクトマネージャーとして機械が人と (うまく) やり取りするための取り組みに献身しています。

 

AWS ディープラーニング AMI を使用してディープラーニングを開始

ディープラーニングの初心者、また高度なディープラーニングプロジェクトをクラウドで構築したい方でも、AWS を使えば簡単に始められます。

AWS ディープラーニング AMIs は Ubuntu と Amazon Linux バージョンでの利用が可能になっており、いかなるスケールでもクラウドでディープラーニングアプリケーションを実行できるようにします。Amazon マシンイメージ (AMIs) には、Apache MXNet、TensorFlow、Microsoft Cognitive Toolkit (CNTK)、Caffe、Caffe2、Theano、Torch、Keras を含むオープンソースのディープラーニングフレームワークがプリインストールされています。

AMIs では、カスタムの AI モデルをトレーニングしたり、新しいアルゴリズムを試したり、新たなディープラーニングのスキルやテクニックを学ぶことができます。AMIs に追加料金はかかりません。アプリケーションを保存し実行するために必要な AWS のリソースに対してのみお支払いいただきます。

また、AMIs は事前設定されている CUDA や cuDNN ドライバー、Intel Math カーネルライブラリ (MKL) を介して GPU に加速度を提供しています。AMIs には人気の Python パッケージや Anaconda プラットフォームも含まれています。

そのシンプルさ、使いやすさ、コスト節約など、開発者へのメリットは明らかです。そしてコンピューティングインスタンスの起動も簡単です。次の手順に従うと、数分でディープラーニングを開始することができます。 

AMI の起動

AWS マネジメントコンソールにアクセスし、アカウントにサインインするか新しいアカウントを作成します。

(more…)

Amazon EC2 Systems Manager による Microsoft VSS を使用したスナップショットサポート

私たちはここでWindows AMIを稼働させるAmazon EC2におけるMicrosoftボリュームシャドウコピー(VSS)のサポートをアナウンスできることを嬉しく思います。VSSはMicrosoft Windows(主要なSQL ServerやExchange Serverなどのマイクロソフトアプリケーションを含む互換性のある)環境における非常に一般的なボリュームバックアップ技術です。VSSはファイルの書き込みなどのディスク処理をバックアップ処理実行中も適切に管理するため、アプリケーション一貫性を持ったバックアップが可能となります。 アプリケーション一貫性バックアップは、マシンまたはインスタンスに接続されたボリュームのバックアップと同時に実行され、メモリ内のすべてのデータと処理中のすべてのトランザクションをキャプチャします。

VSSが有効なAmazon EBSボリュームのスナップショット(以降、”VSS有効化スナップショット”と表記) は、Amazon EC2 Systems ManagerのRun Commandから使用可能です。AWSEC2-CreateVssSnapshot コマンドによってWindowsインスタンスのEC2にアタッチされたEBSボリュームを、バックアップ処理の間トランザクションデータの一貫性を失うことなく、アプリケーション一貫性を持ったスナップショットを取得可能です。この機能によってSQL Backupや、カスタムスクリプトなどによって提供されたアプリケーション固有のバックアップソリューションは不要となります。さらに、イメージレベルバックアップにおけるアプリケーション一貫性を維持するためのサードパーティ製ツールも不要になります。

AWSEC2-CreateVssSnapshotの使用方法

VSS有効化スナップショットは、Windowsが稼働するEC2インスタンスに対してAWSEC2-CreateVssSnapshotコマンドをEC2 Systems Manager Run Commandから呼び出すことで実行します。AWS管理コンソールやAWS CLIから実行したり、PowerShellスクリプトやLambda関数から呼び出すことも可能です。本ブログではEC2コンソールからコマンドで実行する例を示します。

AWSEC2-CreateVssSnapshot Run Command

EC2管理コンソールで、AWSEC2-CreateVssSnapshotコマンドのドキュメントを選択し、VSS有効化スナップショットを取得したいEBSボリュームを持つインスタンスを選択します。 インスタンスを選択した後、スナップショットに追加したい説明やタグを設定します。ブートボリュームをスナップショット処理から除外することも可能です。

Calling AWSEC2-CreataeVssSnapshot Run Command

起動されるとRun CommandはVSSコンポーネント(詳細については後述)に対して、EC2 Windowsインスタンス上のVSS対応アプリケーションのすべての処理中のI/Oをコーディネーションするよう指示します。これによってI/OバッファはEBSボリュームに対してフラッシュされ、すべてのI/Oはスナップショット取得が完了するまでフリーズされます。この結果アプリケーション一貫性が維持されます。スナップショットが取得された後、I/Oフリーズが解除され通常処理に復帰します。

Run Commandやスクリプトから取得したスナップショットは、EC2コンソール左側のEBSスナップショットメニューで確認できます。 このプロセスで正常に取得された全てのVSS有効化スナップショットには “AppConsistent:True”というタグが付与されます。本機能についてのより詳細についてはこちらAWSEC2-CreateVssSnapshot のドキュメントを参照してください。

VSS有効化スナップショットを取得するためのEC2インスタンスの準備

  • インスタンスへのスナップショット許可 : IAMコンソールを開き、”Amazon EC2″サービスに対する以下の権限を許可する新しいポリシーを作成します。
    1. DescribeInstances
    2. CreateTags
    3. CreateSnapshot

またIAMコンソールからAmazon EC2ロールAmazonEC2RoleForSSMに対して上記で作成したポリシーを適用します。さらにこのロールを直接EC2 Windowsインスタンスにアタッチします。

IAM permissions to take VSS-enabled EBS snapshots

  • VSSコンポーネントのインストール : 2017年11月以降のMicrosoft Windows Server AMIイメージにはVSSコンポーネントはプリインストールされています。もし使用しているWindowsインスタンスのパッケージが最新でない場合は、VSSコンポーネント(AwsVssComponents)をAWS-ConfigureAWSPakageコマンドをSystems ManagerのRun Commandから呼び出してインストールする必要があります。

AWS-ConfigureAwsPackage to install VSS components

より詳しいVSS有効化スナップショット取得のためのEC2インスタンスのセットアップについてはこちらAmazon EC2 ドキュメントを参照ください。

Installing VSS components on EC2 instances

AWSEC2-CreateVssSnapshot使用する際には、対象のEC2インスタンスに対してEBSスナップショット作成およびタグ書き込み許可のIAM許可が必要となります。コンプライアンスやポリシーの理由から追加のIAM許諾をインスタンスに付与したくない場合には、カスタム可能なサンプルのスクリプトを活用可能です。このスクリプトの詳細についてはこちらAWSEC2-ManageVssIOに関するドキュメントを参照して下さい。

VSS有効化スナップショットのリストアプロセスは通常のEBSスナップショットと同様です。こちらのリストアのサンプルスクリプトも使用できます。このリストア用スクリプトで、指定されたEBSスナップショットからEC2 Windowsインスタンスにリストアすることが可能です。

About the Author

Purvi Goyal is a Senior Product Manager with the Amazon EC2 team, where she strives to enhance the cloud experience of AWS Enterprise customers. Outside of work, she enjoys outdoor activities like hiking and kayaking.

 

(翻訳:SA松崎, 元の記事はこちらです)