Author: Jeff Barr


Parse アプリケーションを AWS に移行するためのリソース

 

Parse アプリケーションを AWS に移行するためのリソース Parse の段階的終了に関する最近の発表を踏まえ、AWS チームは、AWS コミュニティのメンバー向けに、いくつかの移行パスと代替サービスを開発者に提供するべく取り組んできました。ここでは、現在把握している情報をご紹介します。

  • AWS Mobile Development Blog の新しい投稿で、Parse Push から Amazon SNS への移行の方法を説明しています。 この投稿では、Parse からのデータのエクスポート、APNS および GCM の認証情報の取得、AWS リソースおよび Mobile Hub プロジェクトの作成、データのインポート、Amazon SNS トピックのパブリッシュと購読を実行するためのコードの修正というプロセスを説明しています。
  • MongoDB on the AWS Cloud Reference Deployment では、AWS で MongoDB クラスターを設計してホストする方法を説明しています。将来 Parse プラットフォームから移行することを決定した場合は、モバイルアプリケーション用の高速でスケーラブルな NoSQL データベースバックエンドとして Amazon DynamoDB を使用できます。
  • How to Set up Parse Server on AWS Using AWS Elastic Beanstalk という新しい投稿で、Parse サーバーを含む環境をセットアップする方法を説明しています。MongoLab (ホストされたバージョンの MongoDB) を使用するか、前述のリファレンスドキュメントを使用して独自にセットアップすることができます。
  • Transition Guide: Parse Analytics to Amazon Mobile Analytics という別の新しい投稿では、Amazon Mobile Analytics を使用してアプリケーションの使用量と収益を測定する方法を説明しています。
  • いずれかの Parse デバイス SDK を使用してモバイルデバイスで動作する IoT スタイルのコードを記述した場合は、そのコードを AWS IoT サービスに移行できます。Welcome Parse IoT Customers という新しい投稿で、その方法を説明しています。
  • AWS Mobile Hub を使用すると、さらに短時間でモバイルアプリケーションを構築できます。詳細については、AWS Mobile Hub – Build, Test, and Monitor Mobile Applications という投稿を参照してください。

また、パートナーおよびコミュニティのリソースをいくつかご紹介します。

移行に関するオンラインセミナー当社の John Bury (プリンシパルソリューションアーキテクト) は 12 年以上にわたりモバイル分野に携わってきました。 その Bury が 3 月 1 日に、Migrating Mobile Apps from Parse to AWS という 200 レベルのオンラインセミナーを実施します。 このオンラインセミナーは午前 11 時から正午まで (太平洋標準時) です。AWS モバイルサービス全般について紹介した後で、Parse から AWS にモバイルアプリケーションを移行するために必要な手順を説明します。

 

 

アマゾン ウェブ サービスが NICE を買収

 

NICE を新しい同僚として暖かく迎えたいと思います。当社は、ハイパフォーマンスなテクニカルコンピューティングのためのソフトウェアとサービスを提供する主要プロバイダーである同社を買収することに合意しました。

HPC 向け製品
イタリアのアスティに本社を置く NICE は、世界中のお客様に製品とソリューションを提供しています。これらの製品は、ハイパフォーマンスコンピューティング (HPC) およびビジュアライゼーションのワークロードの最適化と集約に役立つと同時に、モバイルデバイスを利用する分散環境の従業員にとって有用なツールも提供します。

既存のお客様への対応
NICE のブランドとチームはそのまま、EnginFrame および Desktop Cloud Visualization (DCV) 製品の開発をサポートを継続します。お客様は引き続き、AWS チームの支援により強化された世界最高レベルのサポートとサービスを受けることができます。NICE と AWS は今後、協力してさらに優れたツールとサービスを生み出していきます。

毎日が初日
ジェフ・ベゾス がよく言うように、私たちにとって毎日が初日であり、まだすべての答えが見つかってはいないのです。しかし、このニュースを皆様にお知らせし、新しい同僚と顔を合わせて共に働けることを楽しみにしているとお伝えしたいと考えました。この契約は 2016 年第 1 四半期中に成立すると予想しています。

 

 

最新情報 – Lambda 関数から VPC 内のリソースへのアクセス

 

数か月前に、AWS Lambda 関数から VPC 内のリソースにまもなくアクセスできるようになると発表しました。要望の多かったこの機能が提供開始され、今日からご利用いただけることをお伝えできて嬉しく思います。

今回、Lambda 関数から Amazon Redshift データウェアハウス、Amazon ElastiCache クラスター、Amazon Relational Database Service (RDS) インスタンス、および特定の VPC 内からのみアクセス可能だったサービスエンドポイントにアクセスできるようになりました。それには、お使いの VPC を 1 つ選択し、関連するサブネットとセキュリティグループを指定するだけです。Lambda はこの情報を使用して、Lambda 関数が VPC 内のリソースにサクセスできるように、Elastic Network Interface (ENI) および (指定したサブネットから取り出された) プライベート IP アドレスをセットアップします。

VPC 内のリソースへのアクセス
これは新しい関数を作成するときにセットアップできます。また、既存の関数が VPC にアクセスできるように更新することもできます。この機能は、Lambda コンソールまたは CLI から設定できます。 ここでは、コンソールからセットアップする方法を説明します。

必要な設定はこれだけです。不明点がある場合は、Lambda ドキュメントの「Configuring a Lambda Function to Access Resources in an Amazon VPC」をお読みください。

知っておくこと
この新機能について知っておいていただきたいことがいくつかあります。

ENI と IP アドレスのリソース – Lambda は、処理の必要があるイベント数に基づいて自動的にスケールするため、ご使用の VPC では、指定したサブネットで空き IP アドレスが適切に提供される必要があります。

インターネットアクセス – 特定の関数に対してこの機能を有効にすると直ちに、その関数はデフォルトではインターネットにアクセスできなくなります。関数でこのタイプのアクセスが必要な場合は、ご使用の VPC でマネージド NAT ゲートウェイをセットアップするか (詳細については New – Managed NAT (Network Address Translation) Gateway for AWS を参照)、独自の NAT を実行する (「NAT インスタンス」を参照) 必要があります。

セキュリティグループ – 関数に対して選択するセキュリティグループにより、サブネット内およびインターネット上のリソースへの関数のアクセスが制御されます。

S3 エンドポイント – この機能を使用して VPC 内の S3 エンドポイントにアクセスすることもできます (詳細については New – VPC Endpoint for Amazon S3 を参照)。

オンラインセミナー – この新機能について詳しく知りたい場合は、今後予定されるオンラインセミナー Essentials: Introducing AWS VPC Support for AWS Lambda にご参加ください。

 

 

Amazon RDS の更新 – 暗号化されたスナップショットの共有、既存のインスタンスの暗号化

 

Amazon RDS の更新 – 暗号化されたスナップショットの共有、既存のインスタンスの暗号化 当社では、ご使用の AWS 環境をできるだけ簡単に保護できるようにしたいと考えています。この分野での最近の発表には、暗号化された EBS ブートボリュームAmazon Aurora での保管時の暗号化、複数の異なるサービスにわたる AWS Key Management Service (KMS) のサポートがありました。今日は、Amazon Relational Database Service (RDS) に保存されたデータに関するいくつかの追加オプションについて説明します。暗号化されたデータベーススナップショットを他の AWS アカウントと共有できるようになりました。また、暗号化されていないデータベースインスタンスに暗号化を追加することも可能になりました。暗号化されたスナップショットの共有 データベースインスタンスに対して保管時の暗号化を使用すると、インスタンスから自動および手動で作成されたデータベーススナップショットも暗号化されます。これまで、暗号化されたスナップショットは単一の AWS アカウントでのみ使用可能で、共有はできませんでした。今回、暗号化されたスナップショットを最大 20 の別の AWS アカウントと共有する機能を提供します。これを行うには、AWS Management ConsoleAWS Command Line Interface (CLI)RDS API のいずれかを使用します。暗号化されたスナップショットは AWS リージョン内で共有できますが、パブリックで共有することはできません。既存の共有機能と同様に、今回のリリースは手動作成のスナップショットに適用されます。暗号化されたスナップショットを共有するには、スナップショットを選択して Share Snapshot をクリックします。これにより Manage Snapshot Permissions ページが開きます。1 つ以上のアカウント ID を入力し (1 つ入力するごとに Add をクリック)、すべて入力したら Save をクリックします。

アカウントは、自社が所有するもの (たとえば開発用、テスト用、ステージング用、本番用に個別のアカウントがある場合) またはビジネスパートナーが所有するものを指定できます。重要なデータベースを別の AWS アカウントにバックアップするのがベストプラクティスですが、この新機能を使用して実装できると同時に、保管時の暗号化のメリットも享受できます。

Save をクリックすると、他のアカウントが共有スナップショットにアクセスできるようになります。それらのアカウントを特定する最も簡単な方法としては、RDS コンソールにアクセスし、Shared with Me を使用してリストをフィルタします。スナップショットは、新しい RDS データベースインスタンスを作成するのに使用できます。 詳細については、「DB スナップショットの共有」を参照してください。 既存のデータベースインスタンスへの暗号化の追加 KMS キーを使用して、暗号化されていないデータベースインスタンスに保管時の暗号化を追加できるようになりました。これは、複数のステップから成るシンプルなプロセスです。

  1. 暗号化されていないデータベースインスタンスのスナップショットを作成します。
  2. このスナップショットを、新規の暗号化されたスナップショットにコピーします。暗号化を有効にし、任意の KMS キーを指定します。
  3. 暗号化されたスナップショットを新規のデータベースインスタンスにリストアします。
  4. 新しいデータベースインスタンスのエンドポイントを参照するように、アプリケーションを更新します。

これで必要な作業は終わりです。同様の手順で、既存のデータベースインスタンスの暗号化キーを変更できます。詳細については、「DB スナップショットのコピー」を参照してください。

 

 

Lumberyard、Amazon GameLift、Twitch により AWS でゲームを提供

 

世界に通用するゲームの製作はとても難しく、時間と費用のかかるプロセスです。利用者の要求レベルは極めて高く、多様なデスクトップ、コンソール、モバイルのプラットフォームに対応する魅力的なソーシャルゲームが求められています。ゲームの開発と流通はリードタイムが長い傾向があるため、待ちわびた数十万から数百万規模のプレーヤーがサインインして試そうとする発表の日に、ゲームの成否が決まってしまうこともよくあります。

開発プロセスでは、水面下でこの課題に立ち向かわなければなりません。ゲーム製作者は、ストーリー創作、ゲーム設計、物理シミュレーション、ロジック設計、サウンド制作、グラフィック、視覚効果、アニメーションのスキルを持つ開発者のチームと組む必要があります。ゲームがネットワークベースであれば、チームには、スケーリング、オンラインストレージ、ネットワーク通信と管理、セキュリティの専門知識も必要です。

開発とクリエイティブ作業に 18 か月から 36 か月かかることもある中で、ゲームを製作するスタジオは、大きな財務リスクと評判に関するリスクを負うことになります。新しいゲームを製作するたびに、一か八かの賭けなのです。

新しい AWS ゲームサービス 今日は、クラウド接続型のクロスプラットフォームのゲームを制作するプロフェッショナルのゲーム開発者向けに設計された新しい AWS 製品をいくつかご紹介します。当社は、実績があり業界をリードする複数のエンジンと開発者ツールを基に、膨大な独自コードを追加し、パッケージ全体を当社の Twitch ビデオプラットフォームおよびコミュニティと連携させる一方で、関連する AWS のメッセージング、アイデンティティ、ストレージの各サービスへのアクセスも可能にしました。今日発表する内容は以下のとおりです。

Lumberyardプロフェッショナルな開発者向けに設計されたゲームエンジンと開発環境です。CryEngineDouble Helix、AWS の新しい技術と実績のある技術を組み合わせることで、Lumberyard はゲーム開発を簡素化し効率化します。ゲームエンジンとしては、クラウド接続型およびスタンドアロンの 3D ゲームの開発をサポートするとともに、アセット管理、キャラクター作成、AI、物理シミュレーション、音声などもサポートします。開発の観点では、Lumberyard IDE により、空白のキャンバスから屋内および屋外の環境を設計できます。プロフェッショナルなゲーム開発者は、組み込みのコンテンツワークフローとアセットパイプラインを活用し、後で編集して IDE で読み込めるように Photoshop、Maya、3ds Max でゲームのアセットを編集することができます。ゲームのプログラミングは、(AWS SDK for C++ へのアクセスを含め) C++ や Visual Studio を使用する従来の方法で行うか、Flow Graph ツールや新しい最先端の Cloud Canvas を使用してクラウド接続型のゲームプレー機能を作成することができます。

Amazon GameLift最先端のゲームの多くには、アクティブなセッション数に比例してスケールする必要があるサーバーまたはバックエンドコンポーネントが含まれています。Amazon GameLift は、Lumberyard を使用して開発するゲーム向けに、複数プレーヤーに対応したセッションベースのゲームサーバーをデプロイしスケールするのに役立ちます。ゲームサーバーのイメージを AWS にアップロードし、プレーヤーが接続してプレーするのに応じてスケールされる EC2 インスタンス群にそのイメージをデプロイするだけです。独自のサーバー群の構築、スケーリング、実行、モニタリングに投資する必要はありません。その代わりに、Daily Active User (DAU) ごとの少額の料金と、ユーザーが消費するコンピューティング容量、EBS ストレージ、帯域幅について通常の EC2 オンデマンド料金をお支払いいただきます。

Twitch との連携最近のゲームプレーヤーはネット上で仲間とつながりを持っています。自身がプレーしていないときは、Twitch 上で他のプレーヤーやゲーム愛好家とつながってやり取りすることを好みます。プロフェッショナルやアマチュアのプレーヤーが Twitch で自らの才能を見せつけ、多数の熱心なファンの基盤を築いています。このトレンドをさらに推し進めて、さらに深いつながりと強いコミュニティの確立を促すために、Lumberyard を使用して製作されたゲームでは、Twitch の 2 つの新しい連携機能を活用することができます。Twitch ChatPlay を使用すると、Twitch のチャットストリームでのキーワードに反応するゲームを制作できます。たとえば、視聴者はプレーヤーが最も望ましい行動をするように投票することができます。Twitch JoinIn を使用すると、配信者はチャットから視聴者のメンバーをゲームに招待することができます。

これらのサービスは、他の多くの AWS サービスと同様に、ゲームの独自でクリエイティブな側面に集中できるように設計されています。このとき、すばやい転換と容易な反復に重点を置くことにより、望ましいレベルのエンゲージメントと娯楽に達するまで、ゲームプレーに磨きを掛けることができます。

サポートサービス – 仕上げとして、Lumberyard 専用のフォーラムや一連のチュートリアル (テキストとビデオの両方) を含む幅広いサポートオプションを発表します。複数の階層で構成される有償の AWS サポートも提供されます。

Lumberyard での開発今日の発表の中心は Lumberyard です。前述のように、これはプロフェッショナルな開発者向けに設計されており、高品質なクロスプラットフォームのゲーム開発をサポートします。今回の発表では、以下の環境がサポートされます。

  • Windows – Vista、Windows 7、8、10。
  • コンソール – PlayStation 4、Xbox One。

モバイルデバイスおよび VR ヘッドセットのサポートは対応中であり、数か月以内に発表される予定です。

Lumberyard 開発環境は、Windows PC またはノートブックで動作します。高速なクアッドコアプロセッサ、8 GB 以上のメモリ、200 GB の空きディスク容量、2 GB 以上のメモリを搭載した Direct X 11 互換のハイエンドのビデオカードが必要です。また、Visual Studio 2013 Update 4 (以降) および Visual Studio 2013 の Visual C++ 再頒布可能パッケージも必要です。Lumberyard の Zip ファイルには、Lumberyard Editor のバイナリ、テンプレート、アセット、設定ファイルが含まれます。 また、Lumberyard ゲームエンジンのバイナリとソースコードも含まれます。このエンジンは、そのまま使用することも、参照目的でソースコードを調べることも、さらにゲームを差別化するためにカスタマイズすることもできます。この Zip ファイルには Lumberyard Launcher も含まれます。このプログラムによって、Lumberyard、サードパーティのランタイム、SDK、ツール、プラグインが正しくインストールされ設定されていることを確認できます。

Lumberyard Editor は、開発中のゲームと、ゲームのアセットの編集に使用できるツールのスイートをカプセル化します。

Lumberyard Editor には、編集ツールのスイート (それぞれ個別にブログ投稿のテーマとして取り上げるかもしれません) が含まれています。具体的には、Asset Browser、Layer Editor、LOD Generator、Texture Browser、Material Editor、Geppetto (キャラクターおよびアニメーションツール)、Mannequin Editor、Flow Graph (ビジュアルプログラミング)、AI Debugger、Track View Editor、Audio Controls Editor、Terrain Editor、Terrain Texture Layers Editor、Particle Editor、Time of Day Editor、Sun Trajectory Tool、Composition Editor、Database View、UI Editor です。これらのエディターはすべて、最上部のいずれかのツールバーからアクセスできます。

選択的なモジュラー形式でゲームに機能性を追加できるようにするため、Lumberyard では、Gems と呼ばれるコードパッケージングシステムを使用しています。使用したい Gems を有効にするだけで、その機能がビルドされ、完成したゲームのバイナリに自動的に含められます。Lumberyard に含まれる Gems は、AWS アクセス、ボイド (群れ行動を表現するもの)、クラウド、ゲーム効果、GameLift へのアクセス、稲妻、物理シミュレーション、雨、雪、竜巻、ユーザーインターフェイス、複数プレーヤー機能、森林アセットのコレクション (詳細で実写的な森を表現するもの) です。

Flow Graph と Cloud Canvas を使用したコーディング
従来、ゲームのロジックは専任の開発者によって製作され、多くの場合、C++ が使用されていましたが、編集/コンパイル/実行のサイクルでの一般的な応答時間がかかっていました。引き続きこの方法を選ぶこともできますが、Lumberyard を使用する場合は、他に Lua と Flow Graph という 2 つの選択肢があります。

Flow Graph は、最先端の親しみやすいビジュアルなスクリプト作成システムであり、コードの記述や変更を行うことなく複雑なゲームロジックを実装できます。事前構築済みの広範なノードのライブラリを使用して、ゲームプレーのセットアップ、サウンドの制御、効果の管理を行えます。

Flow Graph はノードとリンクから作成されます。単一のレベルに複数のグラフを格納でき、それらをすべて同時にアクティブにすることができます。ノードはゲームのエンティティまたはアクションを表します。リンクは、1 つのノードの出力を別のノードの入力として接続します。入力には型 (Boolean、Float、Int、String、Vector など) があります。出力ポートは、任意の型の入力ポートに接続できます。可能な場合には型の自動変換が実行されます。

ノードには 30 を超える個別の型があり、これにはさまざまな AWS サービスへのアクセスを提供するセット (Cloud Canvas と呼ばれます) が含まれます。これには、Amazon Simple Queue Service (SQS) へのアクセスを提供するノード 2 個、Amazon Simple Notification Service (SQS) へのアクセスを提供するノード 4 個、Amazon DynamoDB への読み取り/書き込みアクセスを提供するノード 7 個、AWS Lambda 関数を呼び出すノード 1 個、Amazon Cognito を使用してプレーヤーの認証情報を管理するノード 1 個が含まれます。AWS に対するゲーム呼び出しはすべて、Cloud Canvas で設定する AWS Identity and Access Management (IAM) ユーザーを介して行われます。

これは、DailyGiftLambda という名前の Lambda 関数を呼び出すノードです。

これは、”Daily Gift” 関数を実装するために Lambda および DynamoDB を使用する Flow Graph です。

いつものように、概要だけをご紹介しました。詳細については、Lumberyard ユーザーガイドの Cloud Canvas に関するドキュメントを参照してください。

Amazon GameLift でのデプロイ ゲームでスケーラブルなクラウドベースのランタイム環境が必要な場合は、ぜひ Amazon GameLift を検討してください。

これを使用すると、共有および接続され、定期的な同期を行うような、種類の異なる多数のゲームをホストすることができます。たとえば、一人称シューティング、サバイバルおよびサンドボックスゲーム、レースゲーム、スポーツゲーム、MOBA (複数プレーヤーに対応したオンラインバトルフィールドアリーナ) ゲームなどが挙げられます。

サーバー側のロジックを構築した後で、それを Amazon GameLift にアップロードすると、数分で Windows ベース AMI (Amazon マシンイメージ) に変換されます。AMI が準備できたら、Amazon GameLift 群 (または既存の群の新バージョン) を作成し、AMI でそれをポイントすると、バックエンドの準備が整います。

群、および各群で実行されるゲームセッションは、Amazon GameLift コンソールで確認できます。

Flow Graph コードでは、GameLift Gem を使用して Amazon GameLift セッションを作成し、セッションサービスを開始することができます。

詳細については、Amazon GameLift ドキュメントを参照してください。

Twitch との連携
最後になりましたが、このトピックが重要でないわけではありません。製作したゲームは、Twitch ChatPlay および Twitch JoinIn を介して Twitch と連携させることができます。

前述のように、指定された Twitch チャンネルに入力されたキーワードに反応するゲームを作成できます。たとえばこれは、redyellowbluegreenorangeviolet というキーワードをリッスンする Flow Graph です。

料金表と提供状況
Lumberyard および Amazon GameLift はすでに利用可能であり、今日からゲーム製作を始めることができます。

Lumberyard を使用して、接続されたゲームやスタンドアロンのゲームを無料で製作して実行できます。GameLift の使用により発生するあらゆる料金と併せて、Cloud Canvas で設定された IAM ユーザーを使用して AWS サービスに対して行われる呼び出し、または C++ 向け AWS SDK を使用して行われる呼び出しについて発生する AWS 料金をご負担いただきます。

Amazon GameLift は US East (Northern Virginia) および US West (Oregon) のリージョンで提供され、今後、その他の AWS リージョンでも提供を予定しています。AWS 無料利用枠の階層の一部として、1 年間にわたり、c3.large インスタンス 1 個で構成される群を 1 か月あたり最大 125 時間実行できます。 それ以降は、ご使用の EC2 インスタンスの通常のオンデマンド料金に加え、インスタンスあたり 50 GB/月の EBS ストレージの料金と、Daily Active User 1000 件ごとに USD 1.50/月をお支払いいただきます。