Category: 新サービス


新インスタンス- NVIDIA Tesla V100 GPUを最大8個搭載したAmazon EC2インスタンス P3

私たちは2006年に最初のm1.smallを発表した後も、お客様のご要望に応じて、そして常に進歩している最先端の技術を利用可能にするために、コンピュート能力、バースト可能な性能、メモリサイズ、ローカルストレージ、アクセラレータなどインスタンスを強化し続けています。

新しいP3インスタンス
本日、次世代のGPUを搭載したEC2インスタンスを4リージョンで公開しました。NVIDIA Tesla V100 GPUを最大8個搭載したP3インスタンスは、コンピュートインテンシブな機械学習、深層学習、流体計算、金融計算、地震解析、分子計算、ゲノム処理を想定して設計しました。

P3インスタンスは、最大2.7GHzで動作するIntel Xeon E5-2686v4プロセッサを搭載し、3種類のサイズを用意しています(VPCのみ、EBSのみ)

Model NVIDIA Tesla V100 GPUs GPU Memory NVIDIA NVLink vCPUs Main Memory Network Bandwidth EBS Bandwidth
p3.2xlarge 1 16 GiB n/a 8 61 GiB Up to 10 Gbps 1.5 Gbps
p3.8xlarge 4 64 GiB 200 GBps 32 244 GiB 10 Gbps 7 Gbps
p3.16xlarge 8 128 GiB 300 GBps 64 488 GiB 25 Gbps 14 Gbps

各GPUは 5,120CUDAコアと640Tensorコアを備え、最大125TLOPSの混合精度浮動小数点演算、15.7TFLOPSの単精度浮動小数点演算、7.8TFLOPSの倍精度浮動小数点演算を可能とします。大きい2つのサイズでは、GPUはNVIDIA NVLink 2.0で相互接続され、最大300Gbpsデータレートで接続されています。これによりGPU間での中間結果やその他のデータのやりとりを、CPUやPCI-Expressを経由せずに高速に行うことが可能です。

Tensorコアとは?
このブログを書き始めるまで、私はTensorコアを聞いたことがありませんでした。大変有益なNVIDIA ブログの記事によると、Tensorコアは大きなDeep Neural Networkの学習や推論を高速化するために設計されています。各コアは、半精度(FP16)の4×4行列同士の積演算と、4×4の別の半精度もしくは単精度(FP32)行列の和演算を行い、半精度もしくは単精度の4×4行列の演算結果を保存することができます。以下にNVIDIAのブログ記事から図を転載します:

この操作は、Deep Neural Networkの学習処理において最も内部のループ処理であり、現在のGPUハードウェアが特定の市場のニーズに対して特化してどのように動作しているかを示しています。そして、Tensorコアの混合精度の性能は、16bitと32bitの浮動小数点の組み合わせを柔軟に扱えることを意味しています。

性能

実際の性能数値を提示することは、より簡易に実際のアプリケーションと関連づけられ、有意義だと考えています。8個のV100 GPUを搭載したp3.16xlargeでは、驚くことに単精度浮動小数点の乗算を1秒に125兆回可能です。

マイクロプロセッサの歴史を振り返って、1977年の夏に私が買ったIntel 8080Aチップを搭載したMITS Altairを考えてみます。2MHzクロックで秒間832回の乗算が可能でした。(このデータを使い、より速いクロックスピードに訂正しました)。p3.16xlargeは約1500億倍も高速です。しかし、その夏から12億秒が経過しました。言い換えると、過去40年に私のAltairが行なった計算に比べ、100倍以上の計算を1秒に実行することが可能となっています!

IBM PC用の追加オプションとして1981年の夏に発表された、革新的な8087数値演算コプロセッサーはどうでしょうか? 5MHzクロックで目的に特化したハードウェアで、秒間52,632回の乗算が可能でした。発表から11.4億秒が経ちましたが、p3.16xlargeは23.7億倍も高速で、当時の小さく貧弱なPCではまだ計算途中の演算が、今日では1秒で可能です。

では、Cray-1はどうでしょう?1976年に発表された最初のスーパーコンピューターは、160MFLOPSのベクトル演算が可能でしたが、p3.16xlargeは781,000倍高速です。当時に比べ、1500回も興味深い問題を繰り返し計算することが可能です。

P3と現在のスケールアウト型スーパーコンピュータの比較は難しくなっています。 スーパーコンピュータのコンポーネントとしてP3を捉え、必要に応じて使うことが可能です。

今すぐ起動できます
V100 GPUとTensorコアの利点を全て享受するには、CUDA 9cuDNN 7が必要です。これらのドライバやライブラリは最新のWindows AMIに追加されており、Amazon Linux AMIにも11月7日に追加予定です。新しいパッケージはAWSのリポジトリで利用可能ですので、必要に応じてすでに利用中のAmazon Linux AMIにインストールできます。

最新のAWS Deep Learning AMIには、Apache MxNet、Caffe2、Tensorflow(それぞれがNVIDIA Tesla V100 GPUをサポート)の最新リリースがプリインストールされており、Microsoft Cognitive ToolkitやPyTorchなどの他の機械学習フレームワークがNVIDIA Tesla V100 GPUのサポートをリリースするとすぐに、P3インスタンスをサポートするように更新されます。また、NVIDIA Volta Deep Learning AMI for NGCを使用することもできます。

P3インスタンスは、米国東部(バージニア北部)、米国西部(オレゴン)、欧州(アイルランド)、アジアパシフィック(東京)のリージョンにて、オンデマンド、スポット、リザーブドインスタンス、Dedicated Hostとして利用可能です。

Jeff;

原文はこちらです。

こんにちは、Amazon Macie: コンテンツを自動的に発見、分類、保護する

Jeffと私が初めてこのサービスを聞いたとき、私たちはMacieという名前の意味が知りたくなりました。もちろん偉大な研究者であるJeffは、Macieという名前を調べ、二つの意味があることを発見しました。フランス語とイギリス英語両方からの語源があり、典型的な少女の名前で、様々な意味を持っていました。Macieの一つめの意味は”武器”を意味する名前です。もう一つの意味は、力強く、さっぱりとした、優しい人の表す名前です。ある意味、これらの定義はふさわしいです。本日、私たちはAmazon Macieという新しいセキュリティサービスの提供開始を喜んで発表します。機械学習によって、AWS上に保存された機密情報の特定し、データ侵害、情報漏えい、Amazon Simple Storage Service (S3)への不正アクセスから保護をします。よって、Amazon Macieが、あなたの保存データを悪意のあるアクセスから保護する、”さっぱりとした”ユーザーインターフェースを備えた”優しい”サービスとして、AWS顧客にとって”力強い””武器”になることを私は想像できるのです。ふー、喋り過ぎました。たった一文でMacieの全てを表現するなんて!やはり、私はみなさんとAmazon Macieの凄さを共有するのに興奮しています。

Amazon Macieは、Amazon S3に保存されているデータを自動的に発見し分類する、機械学習を用いたサービスです。しかし、Macieはそれだけではありません。一度Macieであなたのデータが分類されれば、それらにビジネス価値が割り当てられ、継続的に監視し、アクセスパターンに基づいて疑わしい振る舞いを検知します。Macieの主要機能は以下です。

  • データセキュリティの自動化:データの分析、分類、処理し、過去のパターン、データに対するユーザー認証、データアクセス場所、アクセス時間を把握する
  • データセキュリティと監視:利用ログデータの監視して異常検知したり、CloudWatch EventsやLambdaによってレポートされる問題を自動解決する
  • プロアクティブなデータ保護のためのデータ可視性:保存データの詳細を管理者向けに可視化すると同時に、手動入力いらずで即時保護を提供する
  • データ調査とレポート:管理者向けにレポーティングやアラートを構成可能にする

どのようにAmazon Macieはこれらを実現するのか?

自然言語解析(NLP)の機械学習アルゴリズムを使って、MacieがS3バケットにあるデータの分類を自動化します。加えて、Amazon Macieはデータアクセスパターンを動的に分析する予測分類アルゴリズムも利用し、学習によって疑わしい振る舞いの可能性を知らせてくれます。Macieは個人特定情報(PII)や機密個人情報(SP)を検知するエンジンとしても動作します。MacieはAWS CloudTrailを利用しながら、継続的にS3バケットへのPUTリクエストのCloudTrailイベントを確認し、自動的に新しいオブジェクトの分類をほぼリアルタイムで行います。

MacieがAWSクラウド上のセキュリティやデータ保護にとって強力な道具であるだけでなく、ガバナンスやコンプライアンス要件、監査基準などにおいてもあなたを助けます。多くの人は既に、現時点でEUの最も厳しいプライバシー規制である、2018年5月25日に施行される一般データ保護規則(GDPR)を知っています。Amazon Macieは個人特定情報(PII)を認識し、ダッシュボードとアラート機能を提供することで、顧客にデータの暗号化や仮名化によるGDPRへの準拠を可能にします。Lambdaクエリと共に利用すると、MacieはGDPRの懸念に対応する協力な道具になります。

Amazon Macieサービスツアー

それではAmazon Macieの詳細を見るためのツアーを開始しましょう。

まず最初に、私はMacieのコンソールにログインし、Macieのセットアップ処理を始めます。Get Startedボタンを押すことで私のデータの分類と保護を開始することができます。

下画面の通り、Amazon Macieサービスを有効化するには、このサービス用の適切なIAMロールを作成しなければなりません。また、私のアカウントでAWS CloudTrailを有効化する必要があるでしょう。

私はこれらのロールを作成し、私のアカウントでAWS CloudTrailサービスを有効化しました。Macieをより簡単にセットアップするために、Macieユーザーガイドから提供されているCloudFormationのサンプルテンプレートを利用することもできます。それは、必要なIAMロールとポリシーを作成するので、あとやるべきことはCoudTrailドキュメントに記載されている通りに証跡を設定するだけです。

もしあなたが複数のAWSアカウントをもっている場合は、Macieサービスを有効化したアカウントがマスターアカウントになることに注意してください。他のアカウントもMacieサービスと連携できますが、それらはメンバーアカウントということになります。メンバーアカウントのユーザーは、Macieコンソールにアクセスするために、マスターアカウントへフェデレートアクセスするためのIAMロールを使う必要があるでしょう。

さあ、IAMロールが作られ、CloudTrailが有効化されたら、Enable MacieボタンをクリックしてMacieによるデータ監視と保護を開始しましよう。

あるアカウントで一度Macieサービスが開始すると、サービス画面が表示され、そのアカウントにおける既存アラートが表示されます。今回、私はサービスを開始した直後なので、アラートはまだ存在していません。

Macieサービスのツアーで、ここから私のS3バケットとMacieを連携していきましょう。ただし、Macieが監視を開始するだけであれば、あなたはS3バケットを指定する必要はありませんでした。なぜならサービスは既に情報の分析や処理のためのAWS CloudTrail管理APIを使用しているからです。このMacieツアーでは、私は特定のバケットにおけるCloudTrailのいくつかのオブジェクトレベルAPIイベントを監視しようと思います。

S3と連携するために、MacieコンソールのIntegrationsタブに移動します。Integrationsタブでは、二つの選択肢:AccountsServicesがあります。AccontsオプションはメンバーアカウントがMacieと連携するために使用され、あなたのデータ保存ポリシーを設定します。特定のS3バケットとMacieを連携したい時は、ServicesタブからServicesオプションをクリックします。

MacieとS3サービスを連携させると、証跡とS3バケットが作成され、S3データイベントに関するログが保存されます。始めるには、Select an accountドロップダウンを使いアカウントを選択します。アカウントが選択されると、連携可能なサービスが表示されます。Addボタンをクリックして、Amazon S3サービスを選択します。

さて、Macieに分析させたいバケットを選択したので、Review and Saveボタンを押して確認画面に行き、オブジェクトレベルロギングを行うことを確認してからSaveボタンをクリックします。

次に、このMacieツアーでは、どのようにMacieのデータ分類をカスタマイズするか見ていきましょう。

前述の通り、Macieは自動的にあなたのデータを監視し、分類します。Macieがあなたのデータを特定すると、ファイルとコンテントタイプでそのデータオブジェクトを分類します。また、Macieはサポートベクターマシン(SVM)も使用し、ファイルのメタデータに加えてS3オブジェクト内のコンテンツも分類します。深層学習/機械学習の研究分野において、サポートベクターマシンは教師あり学習モデルであり、データの分類や回帰分析のための学習アルゴリズムを持っています。Macieは、たくさんのコンテンツタイプのデータによってSVMを学習させ、あなたが書いたかもしれないソースコードが含まれていようとも、データコンテンツの正確な検知に最適化されます。

Macieはデータオブジェクトやファイルに対して一つのコンテンツタイプを割り当てますが、あなたはコンテンツタイプやファイル拡張子を有効化や無効化することもできます。それにより、それらオブジェクトをMacieサービスの分類対象に含めたり除外することができます。Macieがデータを分類したら、1から10までのリスクレベルがそのオブジェクトに割り当てられます。10が最もリスクが高く、1が最もリスクレベルが低いです。

Macieのデータ分類をカスタマイズするためには、Settingsタブに行きます。Macieの分類設定にて、有効化や無効化が可能な選択肢が表示されます。

このMacieツアーでの例として、File extensionを選んでみましょう。Macieが追跡し、分類に使用するファイル拡張子のリストが表示されます。

テストのために、Androidアプリケーションのインストールファイルであるapkファイル拡張子を編集し、ドロップダウンリストからNo – disabledを選択し、Saveボタンをクリックして、このファイルの監視を無効にします。もちろん、後でこの設定は戻します。Android開発用バイナリファイルも含めて全てのデータファイルの安全を維持したいからです。

最後に、Macieによるデータ分類に関して述べると、このサービスはあなたのデータオブジェクトがどのように分類されたかを可視化します。あなたが保存したデータ資産を、コンプライアンスにとって、個人情報にとって、ビジネスにとって、どれほど重要な情報が保存されているかの点で浮き彫りにします。

さて、今までMacieが分類し監視するデータの探検をしてきました。このサービスのツアー終着駅は、Macieダッシュボードです。

Macieダッシュボードは、Macieによるデータ監視と分類によって集められた全てのデータや活動の完全な絵を提供します。ダッシュボードはカテゴリー毎のメトリクスとビューによって、データを色々な視点から表示することができます。このダッシュボード画面の中で、メトリクス画面からResearchタブへ直接行き、メトリクスに基づいたクエリを作成し実行することも可能です。これらのクエリは、起こりうるセキュリティの課題や問題を通知するためのカスタマイズされたアラートに使用できます。ここでは、ResearchタブやAlertsタブのツアーは行いませんが、Macieユーザーガイドには、これらの機能に関するより多くの情報があります。

ダッシュボードに話を戻すと、非常にたくさんの情報源がMacieダッシュボードにはあるため、このツアーで全てのビュー、メトリクス、機能をご紹介することはしません。ここでは、ダッシュボード機能の概要をお伝えいたします。

ダッシュボードメトリクス(Dashboard Metrics) – 次のカテゴリーで監視したデータ:

  • ハイリスクS3オブジェクト(High-risk S3 objects):リスクレベル8から10のデータオブジェクト
  • 全イベント発生回数(Total event occurrences):Macieが有効化されてからの全てのイベント発生回数
  • 全ユーザーセッション(Total user sessions):CloudTrailデータの5分間スナップショット

ダッシュボードビュー(Dashboard Views) – 監視したデータや活動の様々な観点での表示ビュー:

  • S3 objects for a selected time range
  • S3 objects
  • S3 objects by personally identifiable information (PII)
  • S3 objects by ACL
  • CloudTrail events and associated users
  • CloudTrail errors and associated users
  • Activity location
  • AWS CLoudTrail events
  • Activity ISPs
  • AWS CloudTrail user identity types

まとめ

さて、ここでこの新しくエキサイティングなAmazon Macieサービスのツアーを終了します。Amazon Macieはセンセーショナルな新サービスで、機械学習と深層学習の力を使って、Amazon S3に保存されているデータを特定し保護します。自然言語解析(NLP)によって、データ分類を自動化するので、あなたはAmazon Macieを有効化するだけで、精度の高い分類と即時保護を簡単に始めることができます。インタラクティブなダッシュボードは、あなたの情報がどこで何が誰によっていつアクセスされたかを示すので、あなたの環境における大量のデータ、データアクセス、API呼び出しを分析できます。製品ページAmazon Macieユーザーガイドを参照し、Amazon Macieについてもっと知りましょう!

Tara

(翻訳はセキュリティSA桐山隼人が担当しました。原文はこちら

AWS CloudHSM アップデート – 重要データや規制に対応することが可能で、コスト効果の高いクラウド型のハードウェアベース キーマネージメント

AWSのお客様は、AWS上で驚くほど多様なミッションクリティカルなワークロードを実行しており、その多くは機密データを処理して保管しています。 「セキュリティプロセスの概要」のホワイトペーパーで詳しく説明しているように、AWSのお客様は、データを暗号化して保護するための方法について、複数のオプションから選択が可能です。 たとえば、Amazon Relational Database Service(RDS)は、サポートされているデータベースエンジン(MySQL、SQL Server、Oracle、MariaDB、PostgreSQL、およびAurora)ごとにオプションがあり、転送中のデータの暗号化もサポートしています。

多くのお客様がAWS Key Management Service(KMS)を使用してキーを集中管理したり、AWS CloudHSMが提供するハードウェアベースの鍵管理、暗号化、復号を利用することで、重要データと規制に対応したワークロードはコンプライアンスの要求に応えることができています。(ハードウェアセキュリティモジュール(HSM)について、詳しくは、 AWS CloudHSM – Secure Key Storage and Cryptographic Operationsを参照してください)。

 

主要なCloudHSMアップデート

今日、私たちが第1世代の製品から学んだことを踏まえて、我々はCloudHSMを大幅にアップデートしました。専門的な運用ノウハウの必要性を軽減し、ハードウェアベースのキー管理の利点をより多くのユーザーに提供できるように、改良しました。改善の要約を以下に示します。

従量課金モデル – CloudHSMは、シンプルで費用対効果の高い、初期費用なしの従量課金モデルで提供します。

フルマネージド – CloudHSMはスケーラブルな管理サービスになりました。プロビジョニング、パッチ適用、高可用性、およびバックアップはすべて組み込まれています。スケジュールされたバックアップは、(HSMハードウェアだけが知っている鍵を使用して)ハードウェアからHSMの暗号化イメージを抽出し、AWS内の同一のHSMハードウェアにのみリストアできます。耐久性のために、これらのバックアップはAmazon Simple Storage Service(S3)に保存され、AWS KMSマスターキーを使用してサーバーサイドのS3暗号化を使用して再度暗号化されたセキュリティ層が追加されます。

オープンかつ互換性を考慮 – CloudHSMはオープンで標準に準拠しており、PKCS#11Java Cryptography Extension(JCE)、および、Microsoft CryptoNG(CNG)など、複数のAPI、プログラミング言語、および暗号化拡張機能をサポートしています。 CloudHSMのオープン性により、キーを(暗号化された形式で)1つのCloudHSMから別のCloudHSMに移動するプロセスをより詳細かつ簡単に制御し、他の市販のHSMとの間で移行することができます。

より安全に – CloudHSM Classic(オリジナルモデル)は、FIPS 140-2レベル2に準拠した鍵の生成と使用をサポートしています。我々は、HSMにアクセスまたは変更するための物理的な試行を検出して対応するように設計されたセキュリティー・メカニズムを備え、FIPS 140-2レベル3を段階的にサポートしています。バーチャルプライベートクラウド(VPC)内に改ざん防止を備えたHSMに対して、排他的なシングルテナントアクセスとしており、お客様のキーは保護されます。 CloudHSMは、重要な管理機能と鍵管理機能のためのクォーラム認証をサポートします。この機能を使用すると、機能にアクセスできるN個の可能なIDのリストを定義され、少なくともM人以上がアクションを承認する必要があります。また、提供するトークンを使用したマルチファクタ認証もサポートしています。

AWS-Native – アップデートされたCloudHSMはAWSに統合されており、他のツールやサービスとうまく連携します。 AWS管理コンソール、AWSコマンドラインインターフェイス(CLI)、またはAPI呼び出しを使用して、HSMのクラスタを作成および管理できます。

 

使ってみましょう

1〜32のHSMで構成されたCloudHSMクラスターを作成できます。それぞれのクラスターは、特定のAWSリージョンの別々のアベイラビリティゾーンにあります。 AZをまたいでHSMを展開することで、高可用性(組み込みロードバランシングを含む)を実現できます。また、より多くのHSMを追加すると、スループットの向上が得られます。 クラスタ内のHSMは同期して維持されます。クラスタ内の1つのHSMでタスクまたは操作を実行すると、自動的に他のHSMが更新されます。 クラスタ内の各HSMには、独自のElastic Network Interface(ENI)を持ちます。

HSMとの連携は、AWS CloudHSMクライアントを介して行われます。 これはEC2インスタンス上で実行され、証明書ベースの相互認証を使用してHSMへのセキュア(TLS)接続を作成します。

ハードウェアレベルでは、各HSMに暗号操作とキーストレージのハードウェア強制分離が含まれています。 各お客様のHSMは、専用のプロセッサコアで動作します。

 

クラスタの設定:
CloudHSM Consoleを使ってクラスタを設定しましょう。

Create clusterをクリックして、希望のVPCとその中のサブネットを選択します(必要に応じて新しいVPCやサブネットを作成することもできます)。

私は自分の設定を確認し、Createをクリックします:

数分後、クラスタが表示されますが、まだ、初期化されていません。

初期化とは、証明書署名要求(Cluster CSR)を取得することだけです。

プライベートキーを作成し、それを使用してリクエストに署名します(これらのコマンドはInitialize Clusterドキュメントからコピーされましたが、出力は省略されています)。IDはクラスタを識別します。

 

$ openssl genrsa -out CustomerRoot.key 2048
$ openssl req -new -x509 -days 365 -key CustomerRoot.key -out CustomerRoot.crt
$ openssl x509 -req -days 365 -in ID_ClusterCsr.csr   \
                              -CA CustomerRoot.crt    \
                              -CAkey CustomerRoot.key \
                              -CAcreateserial         \
                              -out ID_CustomerHsmCertificate.crt

 

次のステップでは、コンソールまたはCLIを使用して署名付き証明書をクラスタに適用します。 これが完了したら、Crypt Officer(CO)とも呼ばれるHSMの管理ユーザーのパスワードを変更して、クラスタをアクティブにすることができます。

クラスタを作成、初期化し、アクティブ化されたら、それを使ってデータを保護することができます。アプリケーションは、AWS CloudHSM SDKのAPIを使用して、キーの管理、オブジェクトの暗号化と復号化などを行うことができます。 SDKはCloudHSMクライアントへのアクセスを提供します(アプリケーションと同じインスタンスで実行します)。 クライアントは、暗号化された接続でクラスタに接続します。

 

今日から利用可能です。

新しいHSMは、米国東部(北部バージニア州)、米国西部(オレゴン州)、米国東部(オハイオ州)、およびEU(アイルランド)リージョンで現在利用可能であり、それ以外にも展開予定があります。 価格は1時間のHSMあたりで1.45ドルからです。

Jeff;

(翻訳はSA瀧澤与一が担当しました。原文はこちら

 

 

AWS Artifactのご紹介:コンプライアンスレポートへの高速なアクセス

私はAWS Artifactを発表できることを嬉しく思います。AWSのお客様は、AWS マネジメントコンソールを使って、無償かつセルフサービスで、AWS コンプライアンスレポートへアクセスできるようになりました。

AWSの多くのお客様は、ISOSOC、そしてPCIに関するAWSのコンプライアンスレポートを監査人や規制当局に提供しています。これには、AWSインフラストラクチャとサービスの現在および過去のコンプライアンスレポートが含まれます。 あなたは今、コンピュータまたはモバイルフォンからAWSマネジメントコンソールにサインインし、関連するレポートを数分で取得する事ができます。 また、監査人や規制当局にAWS Identity and Access Management (IAM) の権限を使用して、1つまたは複数のAWSコンプライアンスレポートへの直接アクセスをさせることができます。

AWSのリスクとコンプライアンス担当ディレクターのChad WoolfはArtifactのビジョンについてこう語ります。「AWSが提供するセキュリティを評価する観点において、顧客と監査人に選択肢と利便性を提供できることに私たちはうれしく思っています。」Woolfは言います。「AWS Artifactのリリースは、AWSが監査業界を変革するきっかけとなり、時間のかかるマニュアルの監査から、クラウドによる継続的で高度に自動化された環境へと移行します。」

あなたは今日から、AWS マネジメントコンソールから監査レポートのダウンロードを開始することができます。 多くの文書は機密情報であり、Amazonの機密保持契約条件に同意する必要がありますが、それらの条件を確認して同意すると、レビュー文書に即座にアクセスできます。Getting Started with AWS Artifactも参照してください。

Artifactの詳細については、Artifact home pageを参照してください。 AWS クラウドコンプライアンスと認定の詳細については、AWS Cloud Compliance home pageをご覧ください。

– Sara
TAGS: AWS Artifact, Compliance reports

(日本語訳はSA藤倉が担当しました。原文はIntroducing AWS Artifact: Speeding Access to Compliance Reports

 

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 Steps language using an AWS Lambda Function",
  "StartAt": "Hello",

  "States": {
    "Hello": {
      "Type": "Task",
      "Resource": "arn:aws:lambda:eu-west-1:99999999999:function:HelloWord_Step",
      "Next": "Parallel"
    },

    "Parallel": {
      "Type": "Parallel",
      "Next": "Goodbye",
      "Branches": [
        {
          "StartAt": "p1",
          "States": {
            "p1": {
                  "Type": "Task",
                  "Resource": "arn:aws:lambda:eu-west-1:9999999999:function:HelloWord_Step",
              "End": true
            }
          }
        },

        {
          "StartAt": "p2",
          "States": {
            "p2": {
                  "Type": "Task",
                  "Resource": "arn:aws:lambda:eu-west-1:99999999999:function:HelloWord_Step",
              "End": true
            }
          }
        }
      ]
    },

    "Goodbye": {
      "Type": "Task",
      "Resource": "arn:aws:lambda:eu-west-1:99999999999:function:HelloWord_Step",
      "End": true
    }
  }
}

 

グラフィカルに確認するために”Preview”ボタンを押します。

 

次に、自分のために適切に生成された、Step FunctionのIAMロールを選択します。

 

これで全てです!これで、コンソールから生成したstate machineを実行できます。つまり、最初のLambda関数をパスするJSONブロックで実行させることが出来ます。

 

Start Exctionボタンを押すとすぐに、定義したstate machineは実行するために開始します。state間を遷移する実行フローを確認することが出来ます。

 

また、Lamdaコンソールに行き、自分の関数の実行が期待どおり4回であることを確認できます。(事前に4回のクリックと、別々の4つのLambda関数の生成は苦に思わないとして)

 

AWS Step Functionsは、どのステップに関する全ての情報を記録しており、Step Consoleを使って確認することが出来ます。

 

AWS Step Functions API

前述のとおり、ほとんどのAWS Step Functions操作はAPIを通じて行われると思いますので、ここに、基本的な関数の概要を記載します。

  • CreateStateMachine – JSON定義による新規state machineの生成
  • ListStateMachines – state machineの一覧表示
  • StartExecution – (非同期な)state machineの実行
  • DescribeExecution – 実行に関する情報取得
  • GetActivityTask – 実行のための、新taskのポーリング(長時間実行ワーカーによる)

また、S3バケットにファイルがアップロードされるたびにLambda関数が実行されるようにすることもできました。

この関数は、StartExecutionを使ってstate machineをキックでき可能です。たとえばこのstate machineはイメージファイルの検査をしたり、複数のサイズ生成を並列的に実行したり、特定のタイプをチェックしたり、Databaseをアップデートさせたりすることが可能です。

同様の機能は、AWS Command Line Interface(CLI)によっても可能です。

 

開発ツール

手書きもしくは自動生成のJSON、それは共通エラーチェックやをチェックするために、新しい、statelint gemを使うことが出来ます。

AWS GitHub repoからダウンロードしインストールしてみてください。(Rubyの場合は、RubyGems

$ sudo gem install j2119-0.1.0.gem statelint-0.1.0.gem

以下は、もし問題があった場合の表示です。

$ statelint my_state.json
2 errors:
State Machine.States.Goodbye does not have required field "Next"
No terminal state found in machine at State Machine.States

問題ない場合は、以下のようになります。

$ statelint my_state.json
$

 

利用可能です

AWS Step Functionsは利用可能です。現在、US East (Northern Virginia)、US East (Ohio)、US West (Oregon)、EU (Ireland)、Asia Pacific (Tokyo) のリージョンで利用可能です。

AWS Free Tierの一部として、月間4,000までのstate transitionは無料です。それ以降は1,000state transtionにつき0.025USD課金されます。

 

Jeff;

原文:New – AWS Step Functions – Build Distributed Applications Using Visual Workflows(翻訳:市崎 洋平)

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が含まれます。

(more…)

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

開発者は通常、ソースコードの変更に対する継続的インテグレーションのビルドとテストを実行するために、共有のビルドサーバを構築し運用しなければいけません。継続的インテグレーションを運用するのは面倒なことなので、多くの開発者はそれを避けてローカルマシンでビルドを実行します。これによって、ある開発者の環境では動作するコードが最終的な本番環境ビルドで動作しないという状況が、しばしば引き起こされます。

多くの開発チームは、CI/CD(継続的インテグレーション / 継続的デプロイ)パイプラインの構成要素としてビルドファームを構築します。ビルドファームの構築と運用はコストが高く、また独特のスキルが求められます。普段はビルドファームはあまり使われていませんが、修羅場の時には利用率は100%に達し、未処理のビルドリクエストが増えてしまいます。

(more…)

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

大統領自由勲章の受賞者であるGrace Hopperが、プログラムからエラーを特定し取り除く作業にデバッグという言葉を与えた最初の人だと思います。

実際にコンピュータから本物のバグ(虫)を見つけたことはないですが、働き初めた頃にアセンブラ言語のデバッグに膨大な時間を費やしました。その当時は、デバッグとはコードを1ステップずつ実行し、各プロセッサのレジスタの中身をステップの前後で比較し、自分の頭の中のモデルと実際に起こっていることが一致しているかを検証するというものでした。これはとてもうんざりするようなものでしたが、バグが残る余地はほとんどなく、自分のコードがどの様に動くかの深い理解も得られるものでもありました。その後、1ステップずつの実行はなくなり、デバック出力(こんにちは、stderr)に取って代わり、それからログファイルとログ分析ツールへと変わっていきました。

最近の過去数十年で、複雑な分散システムが登場してきたことで、デバッグは変化して新しい意味を持つようになりました。単体テストが個別の関数とモジュールが期待通り動作することを保証しているので、難易度の高いポイントは大規模な中での動作のパターンを見ることに変わっています。クラウドコンピューティング、マイクロサービス、そして非同期な通知ベースのアーキテクチャの組合せによって、システムは数百から数千もの可変な箇所を持つようになりました。こうした複雑なシステムでのパフォーマンス課題を特定し対応していく難しさは増していて、個別サービスレベルの観測情報を集約して意味のある上位の結果にすることに難しさがあります。開発者にとって、EC2インスタンス、ECSコンテナ、マイクロサービス、AWSのデータベースやメッセージサービスを辿って”筋道を追う”ことは簡単ではありません。

これを何とかしましょう!

(more…)

EC2インスタンスタイプのアップデート – T2, R4, F1, Elastic GPUs, I3, C5

今朝早くに、AWSのCEOであるAndy Jassyが次のアップデートとなるEC2インスタンスのロードマップを発表しました。私たちは高I/O、コンピューティング最適化、メモリ最適化インスタンスの性能を向上させるとともに、FPGAベースのコンピューティングを含めたハードウェアアクセラレーションの領域にも進出します。この投稿では本日の発表をまとめるとともに、追加情報を含むそのほかの投稿たちへのリンクを示します。

これらの新しいインスタンスを計画するにあたって、お客さまが直面している問題やEC2で実行しようとしているワークロードについて十分に理解するために、私たちは非常に多くの時間を費やしました。お客さまの反応はさまざまでしたが、頻繁に言及されていたのはインメモリ分析、マルチメディア処理、機械学習(最新のAVX-512命令を用いたもの)、そして大規模でストレージ集積型のERP(Enterprise Resource Planning)アプリケーションなどでした。

次のインスタンス群が本日から利用可能です。

新しいF1インスタンス – F1インスタンスによって、Field-Programmable Gate ArrayまたはFPGAとして知られる、革新的なプログラマブルハードウェアを使用することができます。コードを記述してFPGA上で実行することにより、多くのゲノム分析、地震分析、財務リスク分析、ビッグデータ検索、そして暗号アルゴリズムなどの多くの処理を最大30倍高速化することができます。また本日、F1インスタンスの開発者プレビューおよびハードウェア開発キットをリリースしただけでなく、お客様がFPGAによるアプリケーションやサービスを構築して、AWSマーケットプレイスで販売することもできるようになりました。詳細については開発者プレビュー ー EC2 Instances (F1) with Programmable Hardwareをご覧ください。

新しいR4インスタンス – R4インスタンスは、昨今のメモリインテンシブなビジネスインテリジェンス、インメモリキャッシング、そしてデータベースアプリケーションのために設計されており、最大488GiBのメモリを搭載しています。R4インスタンスは大きなL3キャッシュと高速なメモリスピードにより、R3インスタンスより高い性能を発揮します。ネットワークの観点では、プレイスメントグループで使用した場合に、12Gbpsの専有EBS帯域幅に加えて、ENAによる最大20Gbpsのネットワーク帯域幅をサポートします。インスタンスは6つのサイズがあり、最大64個のvCPUと488GiBのメモリを選択できます。詳細については次世代のメモリ最適化EC2インスタンス(R4)をご覧ください。

拡張されたT2インスタンス – T2インスタンスはCPUの最大出力を定常的に使わないタイプのワークロードで、大きなパフォーマンスを発揮します。お客さまはT2インスタンスを、アプリケーションサーバやWebサーバ、開発環境、継続的インテグレーションサーバ、そして小規模のデータベースといった、さまざまなワークロードで利用されます。私たちはt2.xlarge(16GiBメモリ)とt2.2xlarge(32GiBメモリ)の2つを新たに加えます。既存のT2インスタンスと同様、新しいサイズも十分なベースラインパフォーマンス(既存のインスタンスに比べて最大4倍)に加えて、コンピューティングパワーが必要なときに全コアをバーストさせることができます。詳細については、新しいT2.XlargeとT2.2Xlargeインスタンスをご覧ください。

そして以下のインスタンス群については準備中です。

新しいElastic GPUs – まもなく既存のEC2インスタンスに対して、1GiBから最大8GiBのGPUメモリと、それに見合うコンピューティングパワーを持った、高パフォーマンスのグラフィックアクセラレーション機能を追加できるようになります。Amazonにより最適化されたOpenGLライブラリは、自動でElastic GPUsを検知します。この新たなEC2インスタンスのプレビューを発表するのに合わせて、AWS Graphic Certification Programを提供します。詳細については進行中 – Amazon EC2 Elastic GPUsをご覧ください。

新しいI3インスタンス – I3インスタンスは、Solid State Driveをベースとして高速で低レイテンシの不揮発性メモリ(Non Volatile Memory Express: NVMe)を搭載しています。4KBブロックサイズに対する最大330万のランダムIOPSと、最大16GB/秒のディスクスループットがあります。このインスタンスは、多くのI/Oインテンシブなリレーショナル&NoSQLデータベース、トランザクション処理、分析ワークロードで要求される水準を満たすように設計されています。I3インスタンスには6つのサイズがあり、最大64個のvCPUと488GiBのメモリ、そして15.2TBのストレージ(ERPアプリケーションに最適です)を選択できます。ストレージに保存されたすべてのデータは、保存時に暗号化されます。また新しいElastic Network Adapter(ENA)もサポートしています。

新しいC5インスタンス – C5インスタンスは、インテルの新しいXeon “Skylake” プロセッサをベースとしており、ほかのすべてのEC2インスタンスよりも高速な処理を行うことができます。Broadwellの後継として、SkylakeはAVX-512をサポートしているため、高度な浮動小数点演算を必要とする機械学習、マルチメデイア処理、科学計算、そして金融業務などに適しています。C5インスタンスには6つのサイズがあり、最大72個のvCPUと144GiBのメモリを選択できます。ネットワークの観点では、ENAをサポートするとともに、デフォルトでEBS最適化となっています。

原文: EC2 Instance Type Update – T2, R4, F1, Elastic GPUs, I3, C5(翻訳: SA 志村)

次世代のメモリ最適化EC2インスタンス(R4)

インメモリプロセッシングには大きな需要があります。日ごとに大きくなるワークロードと、世代を経るごとにパワーを増すCPUのおかげもあり、高性能のビジネスインテリジェンス、分析、データマイニング、そしてレイテンシに敏感なその他のワークロードにおいて、データセットを丸ごとメモリに載せることが、前提条件となりつつあります。分散キャッシングとバッチ処理ワークロードもまた、大量のメモリに素早くアクセスできることの恩恵を受けるでしょう。

私たちは本日、次世代のメモリ最適化EC2インスタンスをリリースします。大きなL3キャッシュと高速なメモリを搭載することで、既存のR3インスタンスより高い性能を発揮します。ネットワークの観点では、プレイスメントグループで使用した場合に、1Gbpsの専有EBS帯域幅に加えて、ENAによる最大20Gbpsのネットワーク帯域幅をサポートします。

R4インスタンスには以下の特徴があります。

  • インテル Xeon E5-2686 v4 “Broadwell” プロセッサ(2.3GHz)
  • DDR4メモリ
  • ハードウェア仮想化(HVM)のみ

ラインナップは次の通りです。

モデル vCPUs メモリ(GiB) ネットワークパフォーマンス
r4.large 2 15.25 最大10 Gigabit
r4.xlarge 4 30.5 最大10 Gigabit
r4.2xlarge 8 61 最大10 Gigabit
r4.4xlarge 16 122 最大10 Gigabit
r4.8xlarge 32 244 10 Gigabit
r4.16xlarge 64 488 20 Gigabit

 

R4インスタンスはオンデマンドインスタンスとリザーブドインスタンスの形で、米国東部(バージニア北部)、米国東部(オハイオ)、米国西部(オレゴン)、米国西部(北カリフォルニア)、欧州(アイルランド)、欧州(フランクフルト)、アジアパシフィック(シドニー)、中国(北京)、そしてAWS GovCloud (US) リージョンにおいて利用可能です。詳細はEC2の料金ページをご覧ください。

原文:New – Next Generation (R4) Memory-Optimized EC2 Instances(翻訳:SA 志村)