Amazon Web Services ブログ

Category: General

Amazon AppStream 2.0 – AWSからデスクトップアプリをストリーミング

私の同僚であるGene FarrellがオリジナルバージョンのAmazon AppStreamがお客様のフィードバックをもとにしていかに進化したかについてゲスト投稿を書きました。 — Jeff; AWSでは、お客様の問題を解決することを手助けしテクノロジーによってお客様にサービスを提供するのが私たちのミッションです。それが私たちに考えることをうながし、私たちがイノベーションを実現する方法の中心となっています。私たちのお客様はAWSのサービスを使用して次世代のモバイルアプリを構築し、快適なWebエクスペリエンスを作成し、そしてコアのITワークロードをグローバルスケールで実行しています。 モバイル、Web、そしてコアITにおけるイノベーションとトランスフォーメーションにはめざましいものがありますが、デスクトップとデスクトップアプリケーションについてはほとんど変化がありませんでした。エンドユーザーはどこでどのように仕事をするのかの自由をまだ享受できていません。ITは、デスクトップ、アプリケーション、そして無数のデバイスを管理するための堅牢で高価なシステムに悩まされています。そして企業情報をセキュアにすることはますますむずかしくなっています。おおくのやり方でクラウドはITのこの側面を迂回しているようです。 私たちのお客様はそれを変えたいと思っています。 モバイル、Web、およびコアITで見られるように、デスクトップとアプリケーションの柔軟性、スケール、セキュリティ、パフォーマンス、そしてコストのメリットが求められます。 たった2年以上前に、私たちはフルマネージドのセキュアなクラウドデスクトップサービスであるAmazon WorkSpacesを発表し、AWS上で永続的なデスクトップを提供しています。 本日、私はデスクトップアプリケーションをWebブラウザに配信するためのフルマネージドでセキュアなアプリケーションストリーミングサービスであるAmazon AppStream 2.0を紹介することにワクワクしています。 お客様は、さまざまなプラットフォームで動作することを必要としている従来のデスクトップアプリケーションがたくさんあると言っていました。 これらのアプリケーションの保守は複雑で高価であり、お客様はよりよいソリューションを求めています。 AppStream 2.0によって、任意のデバイス上のWebブラウザを使用することで、AWSからのストリーミングによってデスクトップアプリケーションへのインスタンスアクセスを提供することができます。 クラウドのためにアプリケーションを書き直す必要はなく、ひとつのバージョンをメンテナンスするだけですみます。 アプリケーションとデータはAWS上でセキュアにたもたれ、アプリケーションストリームはエンドツーエンドで暗号化されます。 オリジナルのAppStreamをふりかえって AppStream 2.0の詳細について説明する前に、オリジナルのAmazon AppStreamサービスの歴史についてみる価値があります。 2013年に私たちはAppStreamをSDKベースのサービスとしてローンチし、お客様はデスクトップアプリケーションのストリーミング体験を構築してこれらのアプリケーションをクラウドに移行することができるようになりました。 私たちはSDKによるアプローチがお客様がアプリケーションストリーミングを自分たちの製品に統合できるようにすると考えていました。 私たちは、ゲーム開発者やグラフィックスISVがこの開発モデルを採用するだろうと考えていましたが、予想していたより多くの作業が必要であり、つかいはじめるためには重要なエンジニアリングへの投資が要求されることがわかりました。それを試した人たちはその機能セットが自分たちのニーズを満たしていないことに気づきました。 たとえば、AppStreamはg2.2xlarge EC2インスタンスをベースとしたひとつインスタンスタイプだけを提供していました。 これによって、パフォーマンスがコストを正当化できるハイエンドなアプリケーションへのサービスのみに限定されました。 しかし、経済性は多くのアプリケーションにとって割に合わないものでした。 AppStreamで、お客様の重要な問題を解決するために取り組んでいましたが、解決策を正しく得ることに失敗しました。 これは、アマゾンではあえて受け入れるリスクです。 われわれは迅速に動き、お客様を手助けすることができる分野を探求していますが、失敗の準備をします。 私たちは失敗するときに学習し、すばやく反復します。 この場合、お客様からデスクトップアプリケーションのためのよりよいソリューションが必要であることを継続的にヒアリングし、そしてふりだしに戻りました。 その結果がAppStream 2.0です。 AppStream 2.0の特長 AppStream 2.0では、オリジナルのAppStreamサービスを試していだいたお客様から聞いた課題の多くに対応しています。 こちらがにいくつかの特長です: デスクトップアプリケーションをセキュアにWindowsおよびLinux PC、Mac、Chromebook上のHTML5ウェブブラウザでどのデバイスでも実行できます。 ユーザーがどこからでもデスクトップアプリケーションに即座にアクセスできます。遅延はなく、大きなファイルをダウンロードすることもなく、時間のかかるインストールもありません。ユーザーは、ネイティブにインストールされたアプリを実行するのと同じように、敏感で流動的なエクスペリエンスを得ることができます。 シンプルなエンドユーザーインターフェイスで、ユーザーはフルスクリーンモードで実行し、ブラウザタブ内で複数のアプリケーションを開き、簡単にスイッチして操作することができます。ファイルをセッションにアップロードし、アクセスして編集し、完了したらダウンロードすることができます。また、印刷や、音声の再生、そしてネットワークの状態に最適化するために帯域幅を調整することもできます。 アプリケーションとデータをセキュアにAWS上に保持 – 暗号化されたピクセルのみがエンドユーザーにストリーミングされます。アプリケーションストリームとユーザー入力は、HTTPS経由でAWS上のセキュアなストリーミングゲートウェイを通過するため、ファイアウォールと親和性が高いものになります。自身のVirual Private Cloud(VPC)内でアプリケーションを実行でき、Amazon VPCのセキュリティ機能を使用してアクセスを制御できます。 AppStream 2.0は、ユーザーが自社の認証情報を使用してアプリケーションにアクセスできるようにするIDフェデレーションをサポートしています。 […]

Read More

AWS Step Functions – ビジュアルワークフローを使ったアプリケーションのビルドと配布

私たちは、ビルドの複雑性や配布されたアプリケーションを、多数のWebアプリやマイクロサービスの連携によってより簡易にしたいと考えています。あなたが複雑なビジネスプロセスを構築しているか写真のアップロードのプロセスをセットアップしているかに関わらず、あなたはコーディネーションではなくコードにフォーカスしてほしいと、私たちは思っています。また、あなたがツールやライブラリに既に明るくなっていてそれらを使うことで、可用性の高いアプリケーション、つまり強固であり、スケーラブルであり、コスト優位性があり、を構築できるようになってほしいと思っています。   AWS Step Functionsの概要 まさに上記に述べたことを実現していただくために、本日私たちはAWS Step Functionをリリースしました。これにより、あなたは、ビジュアルなワークフローにて、アプリケーションのコンポーネントを一連のステップとしてコーディネートすることが出来ます。あなたは、アプリケーション実行のスケール時にステップの特定や実行をするために”Step Function Console”により、”state machine”(マシン状態)を生成します。どのstate machineも”tate”のセットとそれらのトランザクションを定義します。”state”は直列や並列でアクティベートされることが可能です。並列のときは、Step Functionは、次に進む前に、全てのパラレルstateが完了に向けて実行されます。その結果、Statsは実行し、判断し、state machineを通してプロセスの進捗をコントロールします。 この図はstate machineの概要です。     複数のそれらのstate machineのコピーは、同時に独立して実行させることが可能です。そのとき、どのコピーも1つの実行と呼ばれます。このようにして、Step Functionsにより数千の同時実行もさせるこが出来るため、どのような要求レベルであってもスケールさせることが可能です。 stateが実行されたときに何を起こさせるかを指定するために2つの方法があります。1つは、stateが実行されたときに同期的に呼び出されるLambda関数を使う方法です。もう1つは、Activityと呼ばれるものを使う方法です。これは、長時間実行ワーカー関数の参照実装です。この参照実装では、APIを使ってworkの完了をポーリングします。どちらの方法でも、コードはインプットとしてJSON形式で、またアウトプット形式は別の型のJSON形式が期待されます。 state machineの機能として、エラーハンドリング時の挙動やリトライロジックを組み込むことが出来ます。これにより、あなたのコードの一部の問題により一時的な問題発生が起こったとしてもスムーズに実行できる、強固なアプリケーションをビルドできることになります。   クイックツアー それでは、AWS Management Consoleを使ってstate machineをセットアップしてみましょう。本番のアプリケーションでは、ほとんどの場合、実行やstate machine生成にAWS Step FunctionのAPIを使うことにご留意ください。 まずシンプルなLambda関数を生成して保存します。   その間に、functionのARNを記録しておきます。   そしてAWS Step Functions Consoleに行き、「 Create a State Machine」ボタンを押します。マシン名(ここでは「MyStateMachine」) を入力し、実行開始のためにblueprintsから1つを選んでクリックします。   ここでは、MyStateMachineにこのJSONモデルを生成するためのParallelエレメントとHello Worldを使って開始します。 { “Comment”: “A simple example of the […]

Read More

AWS Batch – AWSでバッチ処理ジョブを実行する

私は1978年秋に大学に入学しました。モンゴメリー・カレッジのコンピュータ・サイエンス部門は、強力な(当時の)IBM 370/168メインフレームを中心に構築されました。 Keypunchマシンを使用してカードデッキを準備する方法、実際のコードの前にジョブの名前と優先順位を設定し、FORTRAN、COBOL、またはPL / Iコンパイラを呼び出す暗黙のジョブ制御言語(JCL) 。デッキを提出ウィンドウに持ってきて、ジョブIDと引き換えにオペレーターに渡してから、数時間後に戻って印刷出力とカードデッキを回収します。私はその印刷物を慎重に研究しましたが、仕事に就いて数時間を待ってから、実際の稼動時間はほんの数秒であったことに気付いていました。仲間の学生と私がすぐに学んだように、学校のIT部門が開始した仕事は優先順位4で実行され、私たちは8で実行されました。彼らの仕事は私たちよりも優先されました。優先順位の高いメカニズムの目標は、高価なハードウェアを可能な限り完全に使用することでした。学生の生産性は、リソースの効率的な使用に引き続き二次的でした。 今日のバッチコンピューティング 今日、バッチ・コンピューティングは依然として重要です!より簡単にコンピューティングパワーにアクセスすることで、映画スタジオ、科学者、研究者、数値アナリストなどがこれまで以上に多くのコンピューティングサイクルを楽しめるようになりました。多くの組織では、オープンソースまたは商用ジョブスケジューラを搭載した社内の計算クラスタを構築することによって、これらのニーズに対応しようとしています。三度、優先順位が立ちはだかり、依然として、決して十分な計算能力がないようです。クラスタは、構築・運用するのに費用がかかり、同一の、ほぼ差異のないプロセッサの大きな配列で構成され、ビンテージとまったく同じ仕様に構築されることが多い。 クラウドコンピューティングは、さまざまな種類のEC2インスタンスへの迅速なアクセス、ニーズの変化に対応して拡大縮小する機能、および、必要なキャパシティに対して入札を行い、可能な限り経済的にそれを得られる価格モデルによって、バッチコンピューティングモデルをより良いものに変える可能性を秘めています。これまで、多くのAWSのお客様は、EC2インスタンス、コンテナ、通知、CloudWatchモニタリングなどを使用して独自のバッチ処理システムを構築してきました。これは非常に一般的なAWSユースケースであることが判明し、バッチ処理システムの構築を達成することをさらに容易にすることに決めました。 AWS Batchの紹介 今日、完全に管理されたバッチ機能の新しいセットについてお話したいと思います。 AWS Batchにより、バッチ管理者、開発者、およびユーザーは、クラスタのプロビジョニング、管理、監視、またはメンテナンスを行うことなく、クラウドのパワーにアクセスできます。購入するものはなく、インストールするソフトウェアはありません。 AWS Batchは、特に違いを生まない重い作業を処理し、EC2インスタンスの動的にスケーリングされたセットでコンテナイメージとアプリケーションを実行できるようにします。 Amazon EC2とEC2 Spotによって提供される弾力性と選択性を活かした並列ジョブを大量に実行することができ、効率的で使いやすく、クラウド向けに設計されており、他のAWSサービスAmazon S3、DynamoDB、およびSNSが含まれます。

Read More

AWS Personal Health Dashboard – 関係するリソースの管理

AWS Service Heath Dashboardをリリースしたのは2008年になります。当時はAWS Cloudは比較的新しく、各サービスの利用状態を確認するのにいい手段でした(現在のService Health Dashboardと比べると、この8年でAWSがどのくらい成長した化が見て取れます)。 現在のダッシュボードは、AWSサービス毎の状態を俯瞰的に表示するため、個別最適されたダッシュボードというわけれではありませんでした。そのため、お客様と会話をすると、全体的なダッシュボードというよりは、お客様の利用サービス、リソースに合わせた状態管理を希望されることもありました。 新サービス Personal Health Dashboard 関心のあるサービスについてより多くの情報を提供できるよう、AWS Personal Health Dashboardをリリースしました。サービス名の通り、このダッシュボードは利用しているAWSサービスのパフォーマンス、可用性に関した個別のビューのみならず、サービスの状態に変化が会った際にはアラートを自動的に発行します。利用中のサービスに関して一元的に監視するためにデザインされており、影響を及ぼすであろう問題に関して、より詳細に可視化することが可能です。ダッシュボードに関係する情報が登録されると、コンソールから通知アイコンを確認出来ます。 “issues”をクリックすると、影響するであろうAWSインフラストラクチャが確認できます(これらのデータはすべてテストデータです)。 アイテムをクリックするとその問題を修復するためのガイダンスを含むより詳細の情報を確認することができます。 また事前に予定されているアクティビティを確認することで注意喚起をうながすこともできます。 それ以外にも、興味のあるサービスについての情報を確認することもできます。 またCloudWatch Eventsと連携することで、アラート対応でしたり、スケジュールイベント対応を自動化させることも可能です。例えば、自主的にメンテナンスイベント対応が必要なEC2インスタンスを移動することで、メンテナンスイベント通知対応が可能になります。 ご自身のアカウントがビジネスサポート、もしくはエンタープライズサポートに加入頂いてる場合、この新しいAWS Health APIをご利用頂けます。このAPIを使い、Personal HealthDashboardの情報をを既存のITマネジメントツールとの連携されることがが可能になります。 – Jeff(翻訳はSA酒徳が担当しました。原文はこちら)

Read More

Blox – Amazon EC2 Container Serviceのための新しいオープンソーススケジューラ

2014年、私はAmazon ECSについてお話して、Dockerベースのアプリケーションをビルドし実行し、そしてスケールさせることを如何に手助けしてくれるかをご紹介しました。そこでは3つのスケジューリングの選択肢(自動、手動、そしてカスタム)について話をし、スケジューラがインスタンスにどの様にタスクを割り当てるかを説明しました。 その時書いた記事では、カスタムスケジューラは現在のクラスタの状態を見るためにListContainerInstancesとDescribeContainerInstancesを定期的に呼び出す必要があると記しました。数週前、CloudWatch Eventsのサポートを追加することで各クラスタの状態を追跡する処理を簡素化しました。(これについて詳しくは、Amazon ECSイベントストリームで、クラスタの状態を監視をご覧下さい) この新しいイベントストリームが出たので、我々はカスタムスケジューラの作成をもっと簡単にしたいと思います。 本日、我々はBloxを開始します。この新しいオープンソースプロジェクトには、イベントストリームを処理してクラスタの状態を追跡し、状態をREST APIで利用可能にするサービスが含まれています。また、クラスタ内の各コンテナインスタンスにタスクを1つだけ実行するデーモンスケジューラも含まれています。このコンテナを1つずつ配置するモデルで、ログ処理やメトリクス収集のワークロードをサポートします。 こちらが”ブロック図”です (ダジャレじゃありません ※訳注 BloxとBlockをかけています): これはオープンソースのプロジェクトです; プルリクエストや機能要望を楽しみにしています。詳しい情報は、Amazon EC2 Container Serviceより、Bloxをご紹介をご覧下さい。 — Jeff; 原文: Blox – New Open Source Scheduler for Amazon EC2 Container Service (翻訳: SA岩永)

Read More

AWS CodeBuild ― フルマネージドのビルドサービス

開発者は通常、ソースコードの変更に対する継続的インテグレーションのビルドとテストを実行するために、共有のビルドサーバを構築し運用しなければいけません。継続的インテグレーションを運用するのは面倒なことなので、多くの開発者はそれを避けてローカルマシンでビルドを実行します。これによって、ある開発者の環境では動作するコードが最終的な本番環境ビルドで動作しないという状況が、しばしば引き起こされます。 多くの開発チームは、CI/CD(継続的インテグレーション / 継続的デプロイ)パイプラインの構成要素としてビルドファームを構築します。ビルドファームの構築と運用はコストが高く、また独特のスキルが求められます。普段はビルドファームはあまり使われていませんが、修羅場の時には利用率は100%に達し、未処理のビルドリクエストが増えてしまいます。

Read More

AWS X-Ray – 分散アプリケーションの内部を見る

大統領自由勲章の受賞者であるGrace Hopperが、プログラムからエラーを特定し取り除く作業にデバッグという言葉を与えた最初の人だと思います。 実際にコンピュータから本物のバグ(虫)を見つけたことはないですが、働き初めた頃にアセンブラ言語のデバッグに膨大な時間を費やしました。その当時は、デバッグとはコードを1ステップずつ実行し、各プロセッサのレジスタの中身をステップの前後で比較し、自分の頭の中のモデルと実際に起こっていることが一致しているかを検証するというものでした。これはとてもうんざりするようなものでしたが、バグが残る余地はほとんどなく、自分のコードがどの様に動くかの深い理解も得られるものでもありました。その後、1ステップずつの実行はなくなり、デバック出力(こんにちは、stderr)に取って代わり、それからログファイルとログ分析ツールへと変わっていきました。 最近の過去数十年で、複雑な分散システムが登場してきたことで、デバッグは変化して新しい意味を持つようになりました。単体テストが個別の関数とモジュールが期待通り動作することを保証しているので、難易度の高いポイントは大規模な中での動作のパターンを見ることに変わっています。クラウドコンピューティング、マイクロサービス、そして非同期な通知ベースのアーキテクチャの組合せによって、システムは数百から数千もの可変な箇所を持つようになりました。こうした複雑なシステムでのパフォーマンス課題を特定し対応していく難しさは増していて、個別サービスレベルの観測情報を集約して意味のある上位の結果にすることに難しさがあります。開発者にとって、EC2インスタンス、ECSコンテナ、マイクロサービス、AWSのデータベースやメッセージサービスを辿って”筋道を追う”ことは簡単ではありません。 これを何とかしましょう!

Read More

改善されたAWS IoT Buttonデベロッパーエクスペリエンスの発表

5月には、正式にAWS IoT Buttonを開始し、開発者コミュニティから提供されたボタンのサポートに圧倒されました。 私たちは皆様の提案に耳を傾け、AWS IoT Buttonの改良された開発者体験を発表することを喜ばしく思います。 今日から、iOSとAndroid用の新しいモバイルアプリでAWS IoT Buttonを設定できます。 モバイルアプリケーションは、ボタンの登録、設定、およびプログラミングのプロセスを簡素化します。 あらかじめ設定されたAWS Lambdaのブループリントを使用して、このボタンをクリックするとSMSや電子メールを送信するボタンを素早くプログラムすることができます。 または、あなたが選択した機能のための独自のLambdaコードを書くことができます。 さらに、新しいバージョンのAWS IoT Buttonは、バッテリー寿命を2倍に設計しました。 amazon.comで今予約注文することができます。 それまで待ちたくない場合は、元のAWS IoTボタンは引き続き使用でき、AWSアカウントごとに20ドルのAWSクレジットを提供します。 AWS IoT Buttonの詳細については、製品ページをご覧ください。   原文: Announcing an Improved AWS IoT Button Developer Experience (翻訳: SA福井)

Read More

AWS Snowmobile – エクサバイトのデータを数週間でクラウドに移動

移行作業の一環として、オンプレミスにある大量のデータをクラウドに移動することは、本来有るべき姿よりもより困難です。ハイエンドの接続をもってしても、ペタバイトあるいはエクサバイトの映画書庫や、財務記録、衛星画像、インターネット上の科学データを移動するには、何十年もかかることがあります。ビジネス面から見ると、移行後に廃止する予定のデータセンターに新しいネットワークを引いたり、より良い接続を追加したりするには、高額な費用がかかり、正当化することは困難です。 昨年、大規模データ移行対応に向けた1つのステップととしてAWS Import/Export Snowball (AWS Import/Export Snowball – Amazon所有のストレージアプライアンスを利用して1週間あたり1ペタバイトのデータ転送を実現を参照)を発表しました。80TBのストレージを備えたこれらのアプライアンスは、多くのお客様のご要望を満たしてきており、今日広く普及しています。 しかしながら、エクサバイトスケールのオンプレミスストレージを所有するお客様が、80TBを見て数学的な計算をすれば、依然として全面的なデータ移行を行うには、沢山のデバイスと頭を抱えたくなるロジスティクスが必要なことがわかります。 AWS Snowmobileの導入 これらのお客様のニーズを満たすために、本日Snowmobileを発表します。このセキュアなデータトラックは、最大100PBのデータを保管し、エクサバイトのデータを数週間でAWSへ転送するのに役立ちます(必要に複数台利用することが可能です)。金融、メディア&エンターテイメント、科学分野およびその他の産業のお客様のニーズに合うようにデザインされたSnowmobileは、ネットワークにアタッチされ、ローカルのNFSマウントされたボリュームのように見えます。Amazon Simple Storage Service (S3)あるいはAmazon Glacierに保管するデータを書き込むために、現在利用中のバックアップやアーカイブのツールを利用することが可能です。 物理的には、Snowmobileは長さ45フィート、高さ9.6フィート、幅8フィートの耐久性のある耐タンパー性輸送コンテナです。防水性があり、気候調節性があり、既存のデータセンターに隣接するエリアに駐車することができます。それぞれのSnowmobileは350KWの交流電力を消費します。現場に十分な容量がなければ、発電機を手配することも可能です。 セキュリティ面では、Snowmobileは、流通過程の追跡やビデオ監視を含む、複数のレイヤーでの論理的、物理的な保護を組み込んでいます。データは、AWS Key Management Service (KMS)キーによって書き込み前に暗号化されます。各コンテナはセルラーまたは衛星通信を利用したGPSトラッキングが組み込まれており、AWSに戻されます。輸送中に警備車両による護衛を付けることも出来ます。また、オンプレミスにSnowmobileがいる間、専任の警備員を手配することもできます。 各Snowmobileには、複数の40Gbps接続を跨って1Tbpsのデータ転送をサポートする高速スイッチに接続されたネットワークケーブルが含まれています。既存のネットワークがこの転送速度でデータを転送できると仮定すると、約10日間でSnowmobileを満たすことが出来ます。

Read More

AWS Snowball Edge – より多くのストレージ, ローカルエンドポイント, Lambdaファンクション

このブログポストを書く準備をしている間、昨年AWS Import/Export Snowballをローンチした際の記事(AWS Import/Export Snowball – Amazon所有のストレージアプライアンスを利用して1週間あたり1ペタバイトのデータ転送を実現)を読み直し、発表以降の全てのアップデートをカタログしてみました。おさらいすると、Snowballは物理的なインテグリティとデータセキュリティを念頭に置いた50TBのデータ転送アプライアンスとして始まりました。1年と少しの間に、キャパシティの増加(80TB), ジョブ管理API, HIPAA対応, HDFS対応, S3アダプタ, 追加のAWSリージョン対応を含む、多くの改善を実施してきました。 これらの改善は全て重要でしたが、アプライアンスの基本的な特性は変わりませんでした。1年と少しを通して、多くのAWSのお客様がオリジナルのSnowballを異なるタイプの物理環境で、多様なマイグレーション、ビッグデータ、ゲノミクス、データ収集ワークロードで稼働させるなかで、我々はこのアプライアンスをもっと機能的にする余地があることを学びました。 多くのお客様は、ネットワーク環境が限られているか存在しない、物理環境が極端な状況で大量のデータ(しばしば数百TB)を生成しています。お客様は、農場、工場、病院、航空機、油井で生成されたデータを収集したいと考えています。店舗フロアのメトリクスからビデオ監視までのIoTデバイスによって収集された情報について、ストレートフォワードを超えたストアアンドフォワードなデータコレクションのモデルに興味があり、データが到着次第、何らかのローカル処理を施すことを可能にしたいと考えています。彼らは、データの到着時にフィルタリング、クリーン化、分析、整理、追跡、要約およびモニタリングをしたがっています。

Read More