Amazon Web Services ブログ

Category: General

たった数行のJavaScriptで作るマルチプレイヤーモバイルゲームのサーバー

Game Developers Conference (GDC) 2019でプレビューがアナウンスされたAmazon GameLift リアルタイム サーバーですが、この度正式版がリリースされました! リアルタイムサーバーを利用することで、ゲームサーバーの作成やカスタマイズを手頃な価格で実現することができます。 優れたマルチプレーヤーゲームのエクスペリエンスを構築するにあたり、ゲーム開発者によるマルチプレーヤーゲーム構築を妨げる障壁があります。その障壁を取り払うためには、時間とコストがかかり、すべてのゲーム開発者が持っているわけではないような専門知識が必要です。 GameLift リアルタイム サーバーを使えば、数行のJavaScriptでカスタマイズ可能なマルチプレイヤーゲームサーバーを作成し、プレーヤー1人あたり少額の月額課金で数百万人の規模にスケールアップすることができる。 GameLiftリアルタイムサーバーは以下の15のAWSリージョンで利用可能です。 米国東部(バージニア北部とオハイオ)、米国西武(オレゴンと北カリフォルニア州)、カナダ(モントリオール)、欧州(フランクフルト、ロンドンとアイルランド)、アジアパシフィック(ムンバイ)、アジアパフィシック(ソウルと東京)、アジアパシフィック(シンガポールとシドニー)、中国(北京)、南米(サンパウロ) 詳しく知りたい方は、Amazon GameLift製品詳細ページまたは開発者ガイドをご覧ください。 GameLift リアルタイムサーバーをすぐに使い始めるために、以下のサンプルを用意しました。ぜひご参考ください! マルチプレイヤーサーバーは難しい 従来、カスタムゲームサーバの開発はとても骨の折れる仕事です。サーバの構築にはネットワーキングシステムやバックエンド開発、サーバオペレーションに関する多くの知識が必要になります。これらのシステムを開発するために必要なリソースを持たない小規模なチームにとっては困難な状況です。ただ素晴らしいゲームを作りたいだけの場合でさえ、プレイヤーのための機能を開発することよりゲームサーバーを稼働させることに多くの時間とお金が費やされています。 ちょっと待って!いや、マルチプレイヤーサーバは簡単! ゲームプレイのサーバーがとても軽い(ライトウェイトな)場合でも、そんなに複雑なサーバを構築する必要があるでしょうか?いえ、結局のところ、答えは”No”です。これから、Amazon GameLiftリアルタイムサーバーを利用して、わずか数時間で競争力のある2人用レーシングゲームを開発する方法をご紹介します。 開発者は、GameLiftリアルタイムサーバーを利用して、お手頃なゲームサーバーを数行のJavaScriptを使って迅速に作成、更新することができます。多くのバックエンド処理能力を必要をしない、モバイル、ターンベース、メッセージングゲームなどに最適です。 サーバーの構築なしでカスタムゲームロジックを作成することがアイデアのベースとなっています。必要な作業としては、スクリプト(JavaScriptの使用)を利用して、プレイヤー間の通信やゲームの状態の変化を処理するコールバックを実装するだけです。たとえば、あるプレイヤーがゲームに参加したときの処理や、他のプレイヤーに新しいメッセージを送信したときの処理が挙げられます。GameLiftにスクリプトをアップロードするだけの単純なインテグレーションとなります。ゲームクライアント側では、.NET SDKなどのクライアント向けSDKがサーバと接続します。GameLiftはクライアントとサーバーが互いにコミュニケーションするための作業を行い、お互いメッセージを送受信するための簡単なAPIを提供し、サーバーホスティング、スケーリング、およびその他の運用上のものをすべて扱うため、ご自身で実装する必要はありません。あなたはゲームのコードのみにフォーカスできます。 “カエルのジャンプ”から始めてみよう! 私はシンプルなワンクリックで競争するレースゲームがGameLiftリアルタイムサーバーを試す素晴らしい方法だと考えていましたが、テーマが必要でした。カリフォルニアで育った子供は、エンジェルキャンプで行われている、なるべく遠くにカエルをジャンプさせるという熱狂的なイベントに参加します。誰もがジャンプするカエルと意地悪なカメが登場する古典的なアーケードゲームを知っています。 というわけで、今回は”カエル”をテーマにしたゲームを用意しました。ようこそ!”MEGA FROG RACE”の開発へ! このゲームオブジェクトはとてもシンプルです。スペースキーで2人のプレイヤーがカエルをコントロールし、どちらが早くゴールするかを競います。しかし、スペースキーを一番早く叩くだけの競争ではありません!再びスペースキーを打つ前にカエルがそのホップを完了するまで待たないといけません。また、カエルがイライラしたときは着地後しばらく動きません。これは、誰が最速のインターネット接続なのか、最速でキーを打つかによって勝者が決定しないことを意味します。 私はWindowsのUnityでゲームクライアントを開発しました。Unityの初心者向けのUnity Personalを使ってビルドすることが可能です。今回説明するすべてのテクニックは、.NET Runtimeで実行できるすべてのサービスで活用します。もしサンプルの実行や独自のプロジェクト上での設定で問題が発生した場合はフォーラム(英語)またはソリューションアーキテクトまでお知らせください。 始めるにあたり、まずは以下が必要になります。 GameLift、IAM、Amazon Cognitoにアクセス可能なAWSアカウント Microsoft Visual Studio (Community版でも可) Unity(Microsoft Visual Studioもインストールされます) “Getting Started” ページからダウンロードしたRealtime Servers SDK ステップ1: GameLiftの準備 新規プロジェクトを開始する最も簡単な方法はGameLiftにスクリプトをホストし、サーバーにコンピュートパワーを割り当てる方法です。コンピュートパワーはフリート(Fleet)と呼ばれ、ゲームサーバーを稼働させるAmazon EC2の仮想マシンの集まりです。 […]

Read More

Amazon S3 path-style 廃止予定 – それから先の話 –

先週(4/30)、私たちは非常に静かな(実際には静かすぎる)発表を行いました。S3 バケット内のオブジェクトのアドレスを指定するために使用される、パスベースのアクセスモデルについて、ゆっくりとそして慎重に廃止するという計画です。私はこのブログ記事を書くために、状況をよりよく理解すべく、S3チームと話し合うことに時間を費やしました。私が学んだことは以下です… S3 は、2006年の始めにサービスが開始されました。S3 における Jeff Bezosの考える元々の仕様は、非常に簡素なものでした。彼はインターネットにおける malloc (C言語プログラムにおけるキーメモリ割り当て関数)に相当するようなものを望んでいました。その出発点から、S3 は何兆ものオブジェクトを格納し、毎秒数百万のリクエストを処理するところまでに成長しました。 13年間にわたり、S3 には多くの新しいストレージオプション、機能、およびセキュリティ制御が追加されました。 Old vs. New S3は現在、2種類のアドレスモデルを提供しています。path-style と virtual-hosted styleです。一つずつ見てみましょう。まず、path-style モデルでは、次のように見えます(グローバルなS3エンドポイントです): https://s3.amazonaws.com/jbarr-public/images/ritchie_and_thompson_pdp11.jpeg https://s3.amazonaws.com/jeffbarr-public/classic_amazon_door_desk.png もしくは、次のような形です(リージョナルなS3エンドポイントです): https://s3-us-east-2.amazonaws.com/jbarr-public/images/ritchie_and_thompson_pdp11.jpeg https://s3-us-east-2.amazonaws.com/jeffbarr-public/classic_amazon_door_desk.png この例では、jbarr-public と jeffbarr-public がバケット名であり、/images/ritchie_and_thompson_pdp11.jpeg と /jeffbarr-public/classic_amazon_door_desk.png がオブジェクトキーとなります。 仮に、オブジェクトが別々の AWS アカウントによって所有されたり、異なる S3 バケット(また場合によっては異なる AWS リージョン)にあったとしても、どちらも同じ DNS サブドメイン s3.amazonaws.com にあります。次に、対応する virtual-hosted style の参照方法を見てみましょう(これらは「新しい」と思われるかもしれませんが、少なくとも2010 年以降に存在しています): https://jbarr-public.s3.amazonaws.com/images/ritchie_and_thompson_pdp11.jpeg https://jeffbarr-public.s3.amazonaws.com/classic_amazon_door_desk.png これらの URL は同じオブジェクトを参照しますが、オブジェクトは別々の DNS サブドメインにあります (それぞれ […]

Read More

DeepRacer リーグ @ AWS Summit Tokyo に向けて準備を始めましょう

みなさん、こんにちは。アマゾン ウェブ サービス、プロダクトマーケティング エバンジェリストの亀田です。 今日は、現在お申込み受付中のAWS Summit Tokyo で開催される DeepRacerリーグについて最新情報をお届けしていきます。 DeepRacer リーグ DeepRacer リーグは、機械学習のマネージドサービスであるAmazon SageMaker を強化学習に対応させたAmazon SageMaker RL、そして知能ロボット工学アプリケーションを大規模かつ簡単に開発、テスト、デプロイできるサービスである、AWS RoboMaker を組み合わせて実現されるDeepRacerという1/18スケールの完全自走型レーシングカーを用いて競いあうレースです。 DeepRacer リーグは2種類存在しています。一つが世界中で20以上のAWS Summitで開催される実機を利用したレースです。AWS Summit Tokyoでも3日間毎日開催されており予約なしで現地で登録を行いレースに参加できます。その際実機は、レースの公平性を期すためAWS側が準備したものに、トレーニング済みのアルゴリズムをインストールしレースに挑んでいただきます。待ち時間はありますが、何度でも参加できます。また、アルゴリズムのトレーニングなどが難しい方は、あらかじめプリセットされたデフォルトのアルゴリズムを使いレースをカジュアルに楽しむこともできます。そしてAWS Summit Tokyoでは、強化学習の基礎とDeepRacerを走らせるモデルをトレーニングする手法を学べるWorkshopも開催します。3日間のレースを通して上位10名にはDeepRacerの実機をプレゼントします。そして優勝者には、12月2日から9日の間米国ネバダ州ラスベガスで開催されるre:Invent 2019へ招待させていただき、そこで決勝戦を戦っていただきます。なんと、re:Invent2019への渡航費、宿泊費、チケットなどがAWS側により負担されます。 もう一つのDeepRacerリーグは、Virtualレースです。先日バージニア北部リージョンで、DeepRacer Virtualリーグが開幕しました。AWSのマネージメントコンソールから、DeepRacerを選択すると「DeepRacer Virtual Circuit」が選べるようになっています。現在 London Loopが開催中です。 そしてここからがとても大事なところです。 実機を使ったDeepRacerリーグとVirtualレースは、同じ学習済みモデルを使うことができます。つまり、AWS Summit TokyoでDeepRacerリーグに参加してみたい方は、今からマネージメントコンソールで強化学習を使ったモデルを使い、そして実際に試すことができます。 これにより、本番のDeepRacerリーグでよりよいタイムが出せるようになるかも知れませんね。もちろん先に書いた通り、プリセットされたモデルでレースを楽しむこともできます。でも、良いタイムを出すためにはやはりトレーニング済のモデルを使った方がいいので、是非挑戦してみてください。 そしてDeepRacerリーグとVirtualレースではマシン操作におけるアクセル制御の仕組みが異なりますので、両方参加してももちろん楽しめるようになっています。 強化学習とは? 折角なので強化学習というものの基礎を纏めましょう。 端的には、機械学習のモデルは、以下の3つのいずれかの方法で学習されています。 教師あり学習:ラベル付きのデータセット(サンプルと答えを含む)を使って学習を実行します。徐々にモデルは学習し、正しいラベルを予測をするようになります。回帰と分類などが、教師あり学習の例として挙げられます。 教師なし学習: ラベルのないデータセット(サンプルのみを含む)を使って学習を実行します。ここでは、モデルはデータ中のパターンを徐々に学習します。データのクラスタリングなどが、教師なし学習の例として挙げられます。 強化学習: これは上の2種類の学習とは大きく異なります。コンピューター上で主役となるエージェントが、環境(多くの場合、シミュレータ)と相互作用し、行動に応じて正または負の報酬を得ます。報酬とは行動がどれぐらい良いのかを表す数値で、報酬を計算する関数はユーザによって定義されます。報酬を最大化するような強化学習を行うことで、エージェントは最適な意思決定の戦略を学ぶことができます。 DeepRacerであれば、スピードと、タイヤの左・右、というスロットルとステアリングそれぞれの挙動と、 実機が走っているコースの状態との組み合わせの中で、なるべく正の報酬を得るモデルをシミュレーションを繰り返しながら作成します。報酬は、コースをはみ出ない、センターラインの近くを走行している、等が正の報酬として設定されます。これは実際の自動運転開発においても着目されている技術の一つです。 シンプルに言うと教師あり学習と教師なし学習は、それなりの量のデータさえあればAmazon SageMakerを使うことで機械学習基盤を構築し推論を行う結果を出力してみることができます。しかし強化学習の場合、学習環境と相互作用するエージェントのモデルや実環境、そしてそれを再現するシミュレータ、等準備すべき部分が多くあります。これが一般的に強化学習がその他の学習に比べて、学ぶことが難しいとされる理由の一つです。 DeepRacerは自動運転を実現させるための、実機、コース、それらをシミュレーションするシミュレータを学習キットとしてパッケージ化し、皆さんが簡単に強化学習に触れていただけるようにした、学習キットになるのです。そしてそのシミュレーション環境は、皆さんが別のサービス用途にもご利用いただけるように、汎用のサービスとしても提供されています。それがAWS RoboMakerです。DeepRacerもシミュレーション環境はRoboMakerを使用しています。 AWS RoboMaker AWS RoboMakerが東京リージョンに対応しました。 AWS […]

Read More

クイックアップデート:2019年ゴールデンウィーク中に発表された新機能・サービス(抜粋)

AWSでは毎日のように新機能・新サービスがリリースされていますが、それはゴールデンウィークの期間でも例外ではありません。今年のゴールデンウィークの期間中にはre:invent 2018で予告されていたサービスのGA(一般提供開始)等、多数の発表がありました。 ゴールデンウィーク中だったために見逃してしまった方も多いのではと思いますので、今回はその中から日本のAWSユーザに関係が大きそうなリリースをピックアップしてざっくりとご紹介します。なお筆者の感覚で選んでいるため、より重要なものが抜けているかもしれませんがご容赦ください。発表は以下のAWS What’s newページに記載されています。 https://aws.amazon.com/jp/new/(まだ翻訳されていないものもありますので、全ての情報を見るには表示言語をEnglishに切り替えてください)

Read More

【開催報告】第4回 Amazon SageMaker 事例祭り

アマゾン ウェブ サービス ジャパン株式会社 (AWS) アソシエイトソリューションアーキテクトの小田桐昂史です。 AWS 目黒オフィスでは、お客様の事例紹介登壇を交えた Amazon SageMaker のセミナーとして、「Amazon SageMaker 事例祭り」を毎月開催しています。2019年4月17日に開催された第4回 Amzon SageMaker 事例祭りでは、GMOクラウド株式会社の山下様、株式会社オークネット・アイビーエスの黒柳様、株式会社ミクシィの岩瀬様をゲストスピーカーにお迎えし、Amazon SageMakerの基礎から、具体的な導入・運用事例まで、100名を超える大勢の方にお越しいただき、会場は満員でした。   Amazon SageMaker 紹介 「Amazon SageMaker の基礎」 アマゾン ウェブ サービス ジャパン株式会社 ソリューションアーキテクト 鮫島 正樹 [slides] AWS ソリューションアーキテクトの鮫島より、AWSの機械学習のマネージドサービスであるAmazon SageMakerの基礎について紹介しました。まず、開発・学習・推論といった一連の機械学習のワークフローにおける課題を整理し、それぞれAmazon SageMakerを活用することでどのように解決できるかを説明しました。Amazon SageMakerを利用することで、必要に応じて必要なだけリソースを開発・学習・推論向けに確保できるほか、APIを1つ呼ぶだけで複数インスタンスによる分散学習やエンドポイントの作成が可能です。Amazon SageMakerはワークフロー全てで取り入れる必要はなく、必要なフェーズで取り入れることができます。また、SDKやコンテナ環境はオープンソースで公開されており、同様の環境をオンプレミスでも実現することができます。最後のデモでは、Amazon SageMakerの画面操作を見ていただき、サービスの使い方をイメージしやすい形で紹介いたしました。   「Amazon SageMaker Ground Truth の使い方」 アマゾン ウェブ サービス ジャパン株式会社 ソリューションアーキテクト 針原 佳貴 [slides] Amazon SageMaker Ground TruthはAWS re:Invent 2018で発表されたAmazon SageMakerの新機能です。Amazon SageMaker […]

Read More

[AWS Black Belt Online Seminar] Amazon VPC Advanced 資料及び QA 公開

先日 (2019/4/17) 開催しました AWS Black Belt Online Seminar「Amazon VPC Advanced」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20190417 AWS Black Belt Online Seminar Amazon VPC Advanced from Amazon Web Services Japan AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. Transit Gatewayが使えるようになった今、Virtual Gatewayを用いたVPN・DXを敢えて採用するようなケース・利点はあるものでしょうか A. VPC間で通信しない、従来通りのユースケースでは引き続き有効です。Transit Gatewayは機能が多い代わりに通常のVPN/DXとVGWを使うものよりコストがかかりますので、比較検討することが重要になります。https://aws.amazon.com/jp/transit-gateway/pricing/ Q. VPC Sharing にはAWS Organizationsが必要とのことなのですが、一括請求機能の利用だけで要件を満たすのでしょうか? A. いいえ。一括請求機能では要件を満たしません。 https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-sharing.html#vpc-share-prerequisites より — 共有 VPC の前提条件 組織のマスターアカウントで、リソース共有を有効にしておく必要があります。リソース共有の有効化の詳細については、AWS RAM User Guide の「AWS Organizations での共有の有効化」を参照してください。 […]

Read More

今すぐ視聴しよう!AWS Innovate 見どころ紹介

2019年4月8日から開始している「AWS Innovate」をお楽しみ頂いていますでしょうか? AWS Innovate はグローバルでも人気のあるオンラインカンファレンスで,開催期間内であれば「いつでも」視聴することができ「何度でも」学び直すことができます.そしてなんと「無料で」参加することができます.今年の AWS Innovate は,2019年4月8日 から 2019年5月7日 までの「1ヶ月間」毎日開催をしていますし,全てのセッションは「30分」と短くまとまっていますので,スキマ時間を有効活用してご視聴頂くこともできます. 本記事では,AWS テクニカルトレーナーである吉田慶章が,私自身の観点から AWS Innovate の見どころを紹介したいと思います.まだ参加申込みをされていない方は,以下の公式サイトから申込みをして,視聴しましょう.いつ申し込むの?今でしょ! AWS Innovate AWS Innovate お申し込み(無料) AWS Innovate ページ AWS Innovate にアクセスして頂きますと,以下のようなリッチなページが表示されます.セッションを視聴するのはもちろんのこと,セッション資料のダウンロードも可能ですので,是非アクセスしてみてください. セッションカテゴリ 今年の AWS Innovate では,以下「全7種類」のセッションカテゴリから「全30種類」のセッションを提供しています.AWS 初学者の方も,AWS 経験者の方もお楽しみ頂けます.皆さんの「学びたいことは何か?」というモチベーションに合ったセッションから優先的に見て頂くのが良いでしょう. AWS イントロダクション AWSome Day AWS 認定 – 試験対策 「ソリューションアーキテクト – アソシエイト」 AWS 認定 – 試験準備をはじめよう AWS 最新事例とサービス紹介 AWS コアコンセプト クラウド活用のための組織と仕組み作り イノベーションカルチャー […]

Read More

【開催報告】AWSセミナー マイグレーション事例祭

こんにちは。AWS ソリューションアーキテクトの上原誠(@pioh07)です。 4月9日に、「AWS セミナー マイグレーション事例祭」を開催いたしました。株式会社グリー 様、株式会社CyberZ様、株式会社マッチングエージェント様、ニフティ株式会社様をゲストにマイグレーションを進める上で良かった点や苦労した点、クラウド化したことによる効果、また今後クラウドで実現したいことなどに関して語っていだきました。130名近くの方にお申込みいただき、開催当日も満足度の高いお声を多くいただきました。 AWS マイグレーション お客様事例紹介 「グリーにおけるAWS移行の必然性」 グリー株式会社 開発本部 インフラストラクチャ部 マネージャー 竹ヶ原 大地 様 [slides] 「分析環境を AWS Athena に移行とその後1年間の運用課題を振り返る」 株式会社CyberZ 開発局 engineer 茂木 高宏 様  [slides] 「 AWS での漸進的なアーキテクチャ変更 at タップル誕生」 株式会社マッチングエージェント  サーバーサイドエンジニア 島谷 宙伸 様 [slides] 「リフト&シフトから始めるレガシー脱却への挑戦~大規模コンテンツ配信サービスの移行実例~」 ニフティ株式会社 WEB 事業部 WEB サービス開発グループシニアエンジニア 伊達 乾 様, 添野 翔太 様 [slides] AWSセッション 「ビジネス基盤をクラウドに移行する際のポイント」 アマゾン ウェブサービス ジャパン株式会社 ソリューションアーキテクト 諸岡 賢司, 上原 誠 [slides]   まとめ […]

Read More

AWS Cloud9 が東京リージョンに対応しました

みなさん、こんにちは。アマゾン ウェブ サービス 、プロダクトマーケティング エバンジェリストの亀田です。 AWS Cloud9 が東京リージョンに対応しましたのでお知らせいたします。 AWS Cloud9 AWS Cloud9 は、ブラウザのみでコードを記述、実行、デバッグできるクラウドベースの統合開発環境 (IDE) です。これには、コードエディタ、デバッガー、ターミナルが含まれています。Cloud9 には、JavaScript、Python、PHP などの一般的なプログラム言語に不可欠なツールがあらかじめパッケージ化されているため、新しいプロジェクトを開始するためにファイルをインストールしたり、開発マシンを設定したりする必要はありません。 マネージド Amazon EC2 インスタンスまたは SSH をサポートする既存の Linux サーバーで実行されるため、ブラウザのみでアプリケーションを作成、実行、デバッグでき、ローカルの IDE をインストールしたりメンテナンスを行う必要はありません。Cloud9 のコードエディタおよび統合されたデバッガーには、コードのヒント、コード補完、ステップスルーデバッグなどの、便利で時間を短縮できる機能が含まれています。Cloud9 ターミナルでは、追加のソフトウェアのインストール、git push の実行、コマンドの入力ができるブラウザベースのシェルエクスペリエンスを利用できます。 ペアプログラミングサポート 開発環境をチームと共有し、ペアプログラミングを一緒に行うことができます。共同作業中にチームメンバーは互いのタイピングをリアルタイムで確認でき、IDE 内から即座にチャットを開始することができます。 サーバーレスアプリケーションとの親和性 サーバーレス開発に必要な SDK、ライブラリ、プラグインのすべてを使用して開発環境が事前設定されます。AWS Lambda 関数をローカルでテストおよびデバッグするための環境を利用することができます。 多くの言語に対応 以下のプログラミング言語に対応しています。 C++ C# CoffeeScript CSS Dart Go Haskell HTML Java JavaScript Node.js PHP Python Ruby […]

Read More

【開催報告】AWS Data Lake ハンズオンセミナー 2019 春

こんにちは。AWS ソリューションアーキテクトの上原誠(@pioh07)です。 4月5日に、「AWS Data Lake ハンズオンセミナー」を開催いたしました。去年から行ってきた恒例のワークショップで第4回目となります。去年も盛況でしたが、今回も100名くらいのお客様にご参加頂きました。 はじめに、AWSにおけるデータ活用のベストプラクティスである Amazon S3 を中心とした Data Lake について解説し、ビッグデータ分析基盤の考え方として有名なラムダアーキテクチャの解説を行いました。 当イベントでは、Amazon Athena や Amazon Redshift の各 AWS サービスを駆使して実際にラムダアーキテクチャを構築することがゴールです。とはいえ全てを構築するのはボリュームが大きいため、スピードレイヤー or バッチレイヤー or 全部入りでコース分けて取り組めるようハンズオンコンテンツを用意しました。最初にコースの説明を行い、出席いただいたお客様ご自身の課題に合わせてコースを選択頂き、ハンズオンを行っていただきました。今回、参加者も多くいらっしゃいましたので、サポートするソリューションアーキテクトも4名で対応させていただきました。 今回参加できなかった方も、ソリューションアーキテクトのサポートを受けながらハンズオンを行いログ分析を初めてみてはいかがでしょうか?   次回は初夏ごろに開催予定です。ご参加お待ちしております。    

Read More