Amazon Web Services ブログ

Category: Compute*

CES におけるコネクテッドカーのための AWS IoT、Greengrass、および AWS Machine Learning

わたしは先週、シアトルを拠点とする INRIX 社社長、ブライアン・ミストル氏の講演を聞きに行きました。ブライアンの講演は、しばしば ACES と略される 4 つの主な属性を中心として、交通機関の将来を垣間見せてくれました。ACES は以下の言葉の頭文字です。 Autonomous (自動) – 車とトラックは、スキャンを行って周囲の状況を理解し、人為的操作なく移動するための機能を備えつつあります。 Connected (接続) – あらゆるタイプの車両に、他の車、およびクラウドベースのリソースへの双方向接続 (常時または断続的) を活用する機能があります。車両は道路とパフォーマンスのデータをアップロードし、群れとなって走る (run in packs) ために互いに通信して、交通と気象データを活用することができます。 Electric (電気) – バッテリーとモーターテクノロジーの継続的な開発は、電気自動車をますます便利でコスト効率がよく、環境にやさしいものにしていきます。 Shared (共有) – ライドシェアサービスは、車の使用を所有型からアズ・ア・サービス型に変えて行きます (聞き覚えがあるのではないでしょうか)。 これらの新たな属性は、個々に、および組み合わせとして、今後10年の間にわたしたちが目にし、使用する車とトラックがこれまでとは著しく異なるであろうことを意味します。 AWS と歩む道 AWS のお客様は、この未来を実現させるために AWS IoT、エッジコンピューティング、Amazon Machine Learning、および Alexa 製品をすでにお使いです。自動車メーカー、それらの一次サプライヤー、そして AutoTech 新興企業はすべて、ACES イニシアチブのために AWS を使っています。AWS Greengrass は、ここで重要な役割を担っており、デザインウィンを引き付け、エッジに処理能力と機械学習インターフェイスを追加するためにお客様を支援しています。 AWS のお客様である Aptiv (旧Delphi) 社は、AWS re:Invent […]

Read More

プロセッサの投機的実行に関する調査の公開について

【日本語訳】日本時間 2018年02月14日19:30 関連する CVE: CVE-2017-5715, CVE-2017-5753, CVE-2017-5754 日本時間 2018年02月06日09:30 以下は本件に関するアップデートです。 Amazon Linux 用の更新されたカーネルは、Amazon Linux のリポジトリにて入手できます。2018年1月13日以降にデフォルトの Amazon Linux 設定で起動された EC2 インスタンスには自動的に最新のパッケージが含まれています。 最新のパッケージでは、 CVE-2017-5715 に対処するための安定版オープンソース Linux セキュリティの改善がカーネル内に組み込まれています。また 以前取り込まれた CVE-2017-5754 に対処するカーネルページテーブルアイソレーション(KPTI)にもとづいて作成されています。インスタンス内の CVE-2017-5715 のプロセスープロセス間の問題と CVE-2017-5754 のプロセスーカーネル間の問題を効果的に軽減するには、最新の Amazon Linux カーネルまたは AMI にアップグレードする必要があります。詳細は「プロセッサの投機的実行 – オペレーティングシステムの更新」を参照してください。 para-virtualized(PV)インスタンスについては、以下の「PV インスタンスガイダンス」の情報を参照してください。   Amazon EC2   Amazon EC2 のすべてのインスタンスは、CVE-2017-5715、CVE-2017-5753、および CVE-2017-5754 に記載されたインスタンス間の既知の問題すべてから保護されています。インスタンス間での問題は、インスタンスまたは AWS ハイパーバイザーのメモリを近隣の別のインスタンスから読み取ることができると想定しています。この問題は AWS ハイパーバイザーでは解決されており、インスタンスは別のインスタンスのメモリを読み取ることも、AWS ハイパーバイザーのメモリを読み取ることもできません。 […]

Read More

AWS Lambda および Tensorflow を使用してディープラーニングモデルをデプロイする方法

ディープラーニングは、実際のデータを処理する方法に革命をもたらしました。ディープラーニングアプリケーションの種類は、ユーザーの写真アーカイブの整理から、本のレコメンド機能、不正な動作の検出、自動運転車周辺の認識まで、多岐にわたります。 この投稿では、AWS Lambda で独自にトレーニングしたモデルを使用して、単純なサーバーレスのコンピューティング手法を大規模に活用する方法を段階的にご説明します。このプロセスの中で、サーバーレスを使って推論を実行するために使用できる AWS の主要なサービスをいくつかご紹介します。 ここでは、イメージ分類について取り上げます。パフォーマンスが高いオープンソースモデルを多数利用できます。イメージ分類では、ディープラーニングで最も一般的に使用されている畳み込みニューラルネットワークと全結合ニューラルネットワーク (Vanilla Neural Networks としても知られる) の 2 種類のネットワークを使用することができます。 トレーニングされたモデルを配置する AWS の場所や、AWS Lambda が推論のためのコマンドで実行できる方法でコードをパッケージ化する方法についてご紹介します。 このブログ投稿では、AWS のサービス (AWS Lambda、Amazon Simple Storage Service (S3)、AWS CloudFormation、Amazon CloudWatch、AWS Identity and Access Management (IAM)) についてご説明します。使用する言語フレームワークおよびディープラーニングフレームワークには、Python や TensorFlow などがあります。ここで説明するプロセスは、MXNet、Caffe、PyTorch、CNTK などの他のディープラーニングフレームワークを使用して適用できます。 全体的なアーキテクチャ AWS アーキテクチャ プロセスの視点から、ディープラーニングの開発およびデプロイは、従来のソフトウェアソリューションの開発やデプロイと同じように行う必要があります。 以下の図は、開発ライフサイクルの一例です。 図を見て分かるように、通常のソフトウェア開発プロセスは、アイデア開始や開発環境のモデリングから、本番稼働用のモデルの最終デプロイまで複数の段階があります。ほとんどの場合、この開発段階では、環境を絶えず、繰り返し変更する必要があります。通常、この反復は、ソフトウェア/モデルの開発時に使用されるリソースの性質や量に影響を及ぼします。アジャイル開発では、環境をすばやく構築/再構築/解放できることが不可欠です。構築されているソフトウェアにすばやく変更を加えるには、インフラストラクチャの調整が必要です。アジャイル開発やイノベーションの加速の前提条件のひとつに、コードによってインフラストラクチャを管理できること (IaC: infrastructure as code) があります。 ソフトウェア設計の管理、構築およびデプロイの自動化は、継続的な統合および継続的な配信 (CI/CD) の一環です。この投稿では、綿密に計画された CI/CD パイプラインの詳細には触れていませんが、開発/デプロイの俊敏性およびプロセスの自動化を促進する反復可能プロセスを構築する開発チームは、念頭に置いておくべきです。 […]

Read More

kopsを使ってKubernetesクラスタをAWS上で構成

この記事では、KubernetesクラスタをAWS上で構成し運用するツールの1つであるkopsを利用すると、簡単にKubernetesを始められることをご紹介します。なお最新情報は、GitHubで公開しているAWS Workshop for Kubernetesをご覧頂き、さらに構築したクラスタを使って様々なワークショップをご自身の手で試して頂くことをお勧めします。 kopsについて Kubernetesのトップレベルプロジェクトで、Kubernetesのクラスタを構成し運用するためのツールです。また、クラスタのローリングアップデートや、アドオンもサポートしています。必要に応じて、AWS CloudFormationやTerraformのテンプレートを出力することもできるので、それを基準にカスタムして行くということも可能です。 kopsをインストール kopsは2017年12月26日時点では、macOS、Linux、Windows 10 Linux Subsystemで利用可能です。この記事ではmacOSを利用していきます。Homebrewが対応しているので以下のコマンドでインストールするのが最も簡単です: $ brew update && brew install kops SSH鍵の生成 kopsはクラスタ作成の際にSSHの公開鍵を利用します。デフォルトの配置場所は~/.ssh/id_rsa.pubとなります。ssh-keygenコマンドを利用して作成しておきます。 $ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (~/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in ~/.ssh/id_rsa Your […]

Read More

AWS CodePipelineとAmazon ECSを使って継続的デリバリパイプラインを設定する

この記事はAWS Senior Technical EvangelistのAbby Fullerの投稿です。 2017年12月12日に、AWSはAWS CodePipelineのターゲットとしてAmazon Elastic Container Service (ECS)をAWS Fargateも含めてサポートしたことをアナウンスしました。このサポートにより、コンテナベースのアプリケーションやマイクロサービスを継続的デリバリするパイプラインを作成するのがより簡単になりました。 コンテナ化したサービスを手動で構築しデプロイするのは、時間がかかりますしエラーを起こしがちです。自動化されたビルドとテスト機構と組み合わせた継続的デリバリは、早期にエラーを発見し時間を短縮することを助け、失敗を減らしてくれるので、アプリケーションのデプロイモデルとして一般的なものとなってきています。以前は、ECSでコンテナワークフローを自動化するには、AWS CloudFormationを使った自前のソリューションを構築する必要がありました。これからは、わずか数ステップでCodePipelineとCodeBuildをECSと連携させてワークフローを自動かすることができます。 CodePipeline、CodeBuild、そしてECSを使った典型的な継続的デリバリのワークフローは、以下のようなものです: ソースを選択する プロジェクトをビルドする コードをデプロイする GitHub上にこのワークフローのための継続的デプロイのリファレンスアーキテクチャも公開しています。 はじめてみよう 最初に、CodePipelineで新規プロジェクトを作成し、例として”demo”というプロジェクト名を設定します。 次に、コードが保管されているソースの場所を選択します。ここには、AWS CodeCommit、GitHub、またはAmazon S3が選択できます。この例では、GitHubを入力し、CodePipelineにレポジトリへのアクセス権を与えます。 次に、ビルドステップを追加します。JenkinsサーバURLやCodeBuildプロジェクトの様に既存のビルドを持ってくることもできますし、CodeBuildで新しいステップを作成することもできます。もし既存のCodeBuildのプロジェクトがなければ、以下の様に選択してCodePipelineから新しいものを作成しましょう: Build provider: AWS CodeBuild Configure your project: Create a new build project Environment image: Use an image managed by AWS CodeBuild Operating system: Ubuntu Runtime: Docker Version: aws/codebuild/docker:1.12.1 Build specification: […]

Read More

新世代のAmazon Linux 2 リリース

Amazon Web Services (AWS) が提供しているAmazon Linuxに新世代のAmazon Linux 2がリリースされました。他のサービスがそうであるようにAmazon Linux 2ではお客様からいただいた多くのフィードバックを元に作成されています。この新しいAmazon Linuxの特長をみていきましょう。 LTS(Long Term Support)の提供 これまでのAmazon Linuxはローリングアップグレードで定期的に新しいバージョンのパッケージが提供され続けることにより、常に最新の状態を維持できる環境として提供されていました。Amazon Linux 2でもこれは変わりませんが、加えてLTS (Long Term Support: 長期サポート)を提供する予定です。LTSでは5年間に渡りコアオペレーティングシステムにセキュリティパッチとバグフィックスを提供し続け、その間のユーザ空間のABI(Application Binary Interface)とAPI(Application Programming Interface)の互換性を維持します。互換性を維持しつつ安全なLinux環境を提供するのが目的であり、新しい環境に更新されることより互換性のある環境を長期に渡って使い続けることの方を望むお客様からのリクエストに応えるものです。 またコアオペレーティングシステムには無い、もしくは新しいバージョンのパッケージについてはAmazon Linux Extrasリポジトリから入手可能です。詳しくはamazon-linux-extrasコマンドのマニュアルを御確認ください。 LTSビルドは現在リリース候補(Release candidate)の状態として提供されており、評価を開始いただける状態です。 オンプレミス環境でのテストや開発が容易に Amazon Linux はAmazon EC2やAmazon ECS (コンテナ環境)上で容易に利用いただけるディストリビューションですが、Amazon Linux 2ではこれらに加えて、VMware、Microsoft Hyper-V、Oracle VM VirtualBoxの仮想イメージを提供します。これによりオンプレミス環境でのテストや開発が容易になります。Amazon Linux 2を稼働させるには最小で512MBのメモリが必要です。 新しい環境とセキュリティの強化 Kernel 4.9やSystemdのサポート等、OS環境全体が刷新されています。またセキュリティ面でも必須パッケージを厳選することによりリスクを減らし、重要度が高いセキュリティパッチについてはOS起動時に自動的に適用する等、高いセキュリティレベルを保つための仕組みが組み込まれています。 今からご利用いただけます! 全ての商用リージョンでAMIが選択可能になっていますので、ぜひ御利用ください。HVMをサポートする全てのインスタンスタイプで御利用いただけます。Amazon LinuxをEC2上で利用する上で追加の費用は不要です(通常のAmazon EC2費用で利用可能)。DockerリポジトリにもAmazon Linux 2のベースイメージが準備済です。またフォーラムでは新しい告知に加えてみなさまからの利用のフィードバックをお待ちしております。   […]

Read More

Amazon EC2アップデート – スポットキャパシティー、スムーズな価格変更、インスタンスハイバネーションへの合理化されたアクセス

EC2スポットインスタンスは、AWSクラウドの余剰コンピューティングキャパシティへのアクセスを提供します。 我々のお客様は、オンデマンドインスタンスと比較して大幅な節約をもたらす価格で、CI/CD環境とトラフィックジェネレータ、Webサーバとマイクロサービスのホスト、動画のレンダリング、さまざまなタイプの解析ジョブを実行するためにスポットインスタンスを使用しています 。 新しい合理化されたアクセス 11/28、我々はスポットインスタンスのための新しい、合理化されたアクセスモデルを導入します。 スポットインスタンスを起動したい時、RunInstances関数やrun-instancesコマンド、またはAWSマネージメントコンソールを使用して希望内容をシンプルにサブミットするだけで、条件が満たされている限りそのリクエストを実行することができます。 余分な労力を費やすことなく、インスタンスタイプのオンデマンド価格を最大90%削減できるため、同じ予算でアプリケーションスループットを最大10倍向上できます。 この方法で起動するインスタンスは、終了するまで、またはEC2がオンデマンドリクエストのためにEC2スポットインスタンスをターミネートする必要がある場合まで実行されます。 その時点で、スポットインスタンスには通常2分前の警告が与えられる為、その後再生できるフォールトトレラントなアプリケーションに最適です。 スポットマーケット、入札、およびスタンドアロンの非同期APIへの呼び出しを理解する必要があった旧モデルとは異なり、新しいモデルは同期的でオンデマンドとして使いやすいものです。 あなたのコードまたはスクリプトは即座にインスタンスIDを受け取り、リクエストが処理され受け入れられたかどうかを確認する必要はありません。 私たちは可能な限りクリーンでシンプルにしました。現在の多くのスクリプトやアプリケーションを修正して、スポットリクエストで使用することが容易になると予想しています。 スポットインスタンスの予算をさらに管理したい場合は、スポットリクエスト時に最大価格を指定するオプションがあります。 スポットを使用してAmazon EMR、Amazon ECS、AWS Batchクラスタにパワーを注いでいる場合、またはAWS CloudFormationテンプレートまたはAuto Scaling Groupを使用してスポットインスタンスを起動した場合、変更を加えることなくこの新しいモデルのメリットが得られます 。 RequestSpotInstancesまたは RequestSpotFleetの周辺に構築されたアプリケーションは、変更なしでうまく動作できます。 しかしながらSpotPriceパラメータを含まない要求を行うことができます。 スムーズな価格変更 11/28発表の一環として、スポット価格の変化の仕様を変えて、需給の長期的なトレンドに基づいて価格がより緩やかに調整されるモデルに移行しています。 先ほどお話したように、On-Demand価格の平均70-90%を引き続き保持し、インスタンスの稼働中の期間に有効なスポット価格を引き続き支払えます。 スポットフリート機能をベースに構築されたアプリケーションは、フリートの作成時に指定した設定に基づいて、最も費用対効果の高いプールにスポットインスタンスの配置を自動的に多様化します。 スポット イン アクション コマンドラインからスポットインスタンスを起動する際、 単にスポット市場を指定してください: $ aws ec2 run-instances –instance-market-options ‘{“MarketType”:”Spot”}’ \ –image-id ami-1a2b3c4d –count 1 –instance-type c3.large インスタンスハイバネーション メモリに多くの状態を保持するワークロードを実行する場合、この新しい機能が好ましいです! インスタンスが再利用されたときにメモリ内の状態を保存するように手配し、ラップトップを閉じてから開くときと同じように、キャパシティが再び利用可能になったときに中断した場所とインスタンス上のアプリケーションを選択できます。 この機能は、Amazon Linux、Ubuntu、またはWindows Serverを実行しているC3、C4、および特定のサイズのR3、R4、およびM4インスタンスで動作し、EC2ハイバネーションエージェントでサポートされています。 メモリ内の状態は、インスタンスの起動時に設定された領域を使用してインスタンスのルートEBSボリュームに書き込まれます。 プライベートIPアドレスとElastic IPアドレスは、停止/開始サイクル全体にわたって保存されます。 […]

Read More

M5 – 次世代の汎用EC2インスタンス

私はいつも新規のEC2ユーザの方には、他のインスタンスタイプを見る前に、まずは汎用インスタンスから使い始め、負荷テストをしてみて、自分のアプリケーションのコンピュート・メモリ・ネットワーキングの利用具合をよく把握することをアドバイスしています。コンピュート、メモリ、ストレージ等に最適化した幅広いインスタンスの選択肢によって、我々のお客様は要件にフィットする最適なインスタンスタイプを選ぶ柔軟さを得ることができます。 私のEC2インスタンスの歴史の記事にあるように、汎用 (M) インスタンスは我々がm1.smallをローンチした2006年まで遡ります。我々はこの家系図の枝にそって進化を続け、M2 (2009年)、M3 (2012年)、そしてM4 (2015年) インスタンスをローンチしてきました。我々のお客様は、汎用インスタンスを使って、WEB & APPサーバを動かしたり、エンタープライズアプリケーションをホストしたり、オンラインゲームを支援したり、キャッシュのクラスタを構築しています。 新しいM5インスタンス 2017年11月29日、我々は新しいM5インスタンスをローンチすることで、次のステップに進みます。我々の継続的なイノベーションへのコミットによる成果を持ち、旧世代よりも良い費用対パフォーマンスまでも得られるインスタンスです。カスタムの2.5 GHz Intel® Xeon® Platinum 8175Mシリーズのプロセッサをベースに、M5インスタンスは過酷なワークロードのために設計されておりM4インスタンスよりもコア単価で14%の費用対パフォーマンスの向上が得られます。AVX-512命令を使っているアプリケーションでは、コア毎にさらに2倍のFLOPSを生み出します。我々はさらに新しいハイエンドなサイズを追加することで、更に多くの選択肢を提供しています。 こちらがM5インスタンス達です(全てVPCのみ、HVMのみで、EBS最適化です): インスタンス名 vCPUs RAM ネットワーク帯域 EBS最適化帯域 m5.large 2 8 GiB 最大 10 Gbps 最大 2120 Mbps m5.xlarge 4 16 GiB 最大 10 Gbps 最大 2120 Mbps m5.2xlarge 8 32 GiB 最大 10 Gbps 最大 2120 Mbps m5.4xlarge 16 64 GiB […]

Read More

H1インスタンス – ビッグデータアプリケーションのための高速・高密度なストレージ

AWSの規模と顧客基盤の多様性により、様々なタイプのワークロードに特化したEC2インスタンスタイプを作成する機会を得られました。例えば、多くの一般的な新ビッグデータの利用ケースは、数テラバイトのデータへの高速でシーケンシャルなアクセスに依存しています。お客様は巨大なMapReduceクラスタを構築して動かし、分散ファイルシステムをホストし、Apache Kafkaを利用して大量のログを処理したいと考えています。 新しいH1インスタンス 新しいH1インスタンスは、この利用ケースに特化して設計されています。既存のD2(高密度ストレージ)インスタンスに比べ、H1インスタンスはローカル磁気ストレージ1テラバイトあたり、より多くのvCPUとメモリを搭載し、ネットワーク帯域幅を拡張しています。リソースのバランスのとれた組み合わせによって、より複雑な課題に対処する能力を提供します。 H1インスタンスは Intel Xeon E5-2686 v4プロセッサ(2.3GHz)で動作し、以下の4つのインスタンスサイズを用意しました(全てVPCのみ、HVMのみ) インスタンス名 vCPUs RAM ローカルストレージ ネットワーク帯域幅 h1.2xlarge 8 32 GiB 2TB 最大 10 Gbps h1.4xlarge 16 64 GiB 4TB 最大 10 Gbps h1.8xlarge 32 128 GiB 8TB 10Gbps h1.16xlarge 64 256 GiB 16TB 25Gps 大きい2つのサイズでは、全コアのTurboで2.7GHz、シングルコアのTurboで3.0GHzのIntel TurboとCPUパワーマネージメントをサポートします。 ローカルストレージはシーケンシャルI/Oで高いスループットを出せるよう最適化されており、2MBのブロックサイズで最大1.15GB/s の転送が期待できます。ストレージは256ビットのXTS-AESとワンタイムキーにより暗号化されます。2つの最大サイズのインスタンスはIntel TurboおよびCPUパワーマネージメントをサポートし、all-core Turboは2.7GHz、single-core Turboは3.0GHzで動作します。 インスタンス間での大容量データの送受信は、拡張ネットワークを使うことで容易に行うことができ、プレースメントグループ内で最大25Gbpsのネットワーク帯域幅が得られます。 今すぐ起動してみましょう H1インスタンスは米国東部(バージニア北部)、米国西部(オレゴン)、米国東部(オハイオ)、欧州(アイルランド)の各リージョンで本日(日本時間2017年11月30日)からオンデマンド型及びスポットでの利用が可能です。その他のリージョンでも準備中です。専用ホスト型、専用インスタンス、リザーブドインスタンス(1年および3年)も同じく利用可能です。 — Jeff; 原文: H1 […]

Read More

AWS Lambdaファンクション毎の同時実行数の上限設定

2017年11月30日、個別のAWS Lambdaファンクションに対して同時実行数の上限を設定することができるようになりました。実行数上限数の設定は、アカウントレベルの同時実行上限の一部を特定のファンクションに対して予約する事になります。この機能によって、特定のファンクションを事前に設定した最大同時実行数に到達した場合にスロットルさせることが出来ます。この機能は、Lambdaによって呼び出されるダウンストリームリソース(例えばデータベースのような)に対するトラフィックレートを制限したい場合や、プライベートVPCにアクセスするファンクションでのElastic Network Interface(ENI)とIPアドレスの消費を制御したい場合に役に立ちます。 あるファンクションの同時実行上限を数値で指定できます。こちらは、そのアカウント全体の同時実行上限($ACCOUNTで定義)から割り当てられます。1アカウントに対して、リージョンあたりの全てのファンクションのデフォルトの同時実行数は1000となっています。デフォルトでは、全てのファンクションの同時実行数が、このアカウントレベルの上限(つまり$ACCOUNT)に対してカウントされます。特定のファンクションに対して上限を設定すれば、同時実行上限の割当は、共有プールから取りされ、その特定のファンクションに割り当てられます。そのファンクションのその後全ての呼び出しは、ファンクションレベルの上限に対してのみカウントされます。個々のファンクションの同時実行数と、アカウントレベルの同時実行数は、この機能と同時に利用可能となった新しいAmazon CloudWatchメトリクスで追跡することが出来ます。 この機能についてより詳しく知りたい方はドキュメントをご参照ください。また、プロダクトページを訪れてさらなる情報を取得ください。 この機能は、 US East (N. Virginia), US East (Ohio), US West (N. California), US West (Oregon), AWS GovCloud (US), Canada (Central), South America (São Paulo), EU (Frankfurt), EU (Ireland), EU (London), Asia Pacific (Mumbai), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), China (Beijing)のリージョンでご利用可能です。   翻訳はSA布目が担当しました。原文はこちら

Read More