Amazon Web Services ブログ

Category: General

プログラムからのアクセス利用時に AWS アカウントを保護するためのガイドライン

AWS を利用する際に最も重要なこととして、AWS リソースのセキュリティの確保があります。誰にリソースにアクセスさせるのか、注意深くコントロールする必要があります。これは、AWS ユーザーがプログラムを使ったアクセスをしている場合にも同様です。プログラムからのアクセスは、自社で作成したアプリケーションもしくはサードパーティーのツールから AWS リソースにアクションすることを実現します。AWS サービス側でアクセスリクエストを認可させるためにアクセスキー ID とシークレットアクセスキーを使ってリクエストに署名することが可能です。このようにプログラムによるアクセスは非常にパワフルなため、アクセスキー ID とシークレットアクセスキーを保護するためにベスト・プラクティスを活用することが重要です。これは不意のアクセスあるいは悪意のあるアクテビティビティからアカウントを保護するために重要です。この投稿では、いくつかの基本的なガイドラインを提示し、アカウントを保護する方法を示します。また、プログラムからの AWS リソースへのアクセスを行う際に利用出来るいくつかの方法を提示します。 ルートアカウントを保護する AWS のルートアカウント –  AWS にサインナップするときに最初に作られるアカウント – は全ての AWS のリソースに無制限でアクセス出来ます。ルートアカウントには権限による制御が効きません。したがって、AWS はルートアカウントに対してアクセスキーを作成しないように常におすすめしています。アクセスキーを与えると利用者がアカウント全体を廃止するような強力な権限を得てしまいます。ルートアカウントにアクセスキーを作成するかわりに、利用者は個別の AWS Identity and Access Management(IAM)ユーザーを作成して利用することができます。さらに、最小権限の考え方に従い、それぞれの IAM ユーザーに対してタスクを実行するのに必要な権限のみを許可します。複数の IAM ユーザーの権限を簡単に管理するために、同じ権限を持つユーザーを IAM グループにまとめる方法も使えます。 ルートアカウントは常に多要素認証(MFA)で保護するべきです。このセキュリティに関する追加の保護は許可されていないログインからアカウントを保護することに役立ちます。多要素認証とは、認証に複数の要素を使うことで、パスワードのような知識認証要素と、MFA デバイスのような所有物認証要素を同時に使うことです。 AWS はバーチャルとハードウェアの 両方のMFA 用のデバイス、さらに U2F セキュリティキーを多要素認証用としてサポートしています。 AWS アカウントに対するアクセスを許可するときの考え方 ユーザーに AWS マネジメントコンソールやコマンドラインインターフェース(CLI)にアクセスを許可するには2つの選択肢があります。1つ目は、IAM サービスによって管理されるユーザー名とパスワードでログインする ID を作ることです。もう1つは、IDフェデレーションを利用して、既に企業の中に存在する認証情報を使って AWS コンソールや CLI にログインさせることです。それぞれのアプローチには異なるユースケースがあります。フェデレーションは、既に集中管理されたディレクトリがあるか、現在の制約である5000人以上の IAM […]

Read More

AWSジャパン ソリューションアーキテクト新卒向け短期インターンシップ紹介

こんにちは。2019 年 4 月に新卒として入社いたしました、アマゾン ウェブ サービス ジャパン株式会社 (AWSジャパン) アソシエイトソリューションアーキテクトの岩井泰児です。AWSジャパンでは 2019 年夏に Solutions Architect (SA) と Cloud Support Engineer (CSE) の新卒向け短期インターンシップを開催します。今回の記事では昨年度 AWSジャパンで行われた SA 短期インターンシップについてご紹介します。   Amazon のウェブサイトを自分が設計するとすれば、どのようなインフラストラクチャーを構築すればよいでしょうか? 全世界にスケール。数億人規模のユーザー。とてつもない技術的な困難が予期されます。  

Read More
Weekly AWS

週刊AWS – 2019/5/20週

みなさん、こんにちは。AWSソリューションアーキテクトの下佐粉(しもさこ)です。 復活した 週刊AWS 第二回をお送りします。このシリーズでは、毎日のようにリリースされるAWSの新機能や新サービスを一週間単位でコンパクトに紹介しています。毎週火曜か水曜ぐらいを目処に更新していく予定です。 最近急に暑くなってきましたが、私達は目前に迫ってきたAWS Summit Tokyoと、AWS Summit Osakaの準備にバタバタとした日を過ごしています。では暑さにめげず、先週(5/20週)の主なアップデートについて振り返っていきましょう。

Read More
Weekly AWS

週刊AWS – 2019/5/13週

みなさん、こんにちは!ソリューションアーキテクトの小林です。 AWSでは日々新しいサービスや機能をリリースしていますが、数が多く全体像を把握するのが難しいというお声を頂くケースがあります。そこで、日本チームの取り組みとして「週刊AWS」というブログポストを始めることにしました。週刊AWSでは毎週火曜日か水曜日に、前の週に発表された主要なアップデートや、日本のお客様に興味を持っていただけそうなものをピックアップして、その概要をご紹介していきます。「これを見れば先週のアップデートが大体わかる」を目標に、分量が多くなりすぎないように注意しながら(書きたくなってしまうのですが……)やっていきますので、どうぞおつきあいください。 それでは、先週(5/13週)の主なアップデートについて振り返っていきましょう。

Read More

たった数行の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