Amazon Web Services ブログ

Category: Open Source

AWS Solutions Constructs – AWS CDK のアーキテクチャパターンのライブラリ

クラウドアプリケーションは、仮想サーバー、コンテナ、サーバーレス機能、ストレージバケット、データベースなどの複数のコンポーネントを使用して構築されます。これらのリソースを安全かつ反復可能な方法でプロビジョニングおよび設定できることは、プロセスを自動化し、実装の固有の部分に集中できるようにするために非常に重要です。 AWS Cloud Development Kit を使用すると、お気に入りのプログラミング言語の表現力を活用してアプリケーションをモデル化できます。コンストラクトと呼ばれる高レベルのコンポーネントを使用して、カスタマイズ可能な「実用的なデフォルト」で事前設定し、新しいアプリケーションをすばやく構築できます。CDKは、Infrastructure as Code を管理することにおけるあらゆるメリットを得るために、AWS CloudFormation を使用してリソースをプロビジョニングします。私が CDK を気に入っている理由の 1 つは、独自のカスタムコンポーネントを上位レベルのコンストラクトとして作成および共有できることです。 複数のお客様にとって役立ち得るパターンが繰り返し発生することは想像に難くありません。そこで、本日、AWS Solutions Constructs をリリースします。これは、独自のソリューションの構築に役立つ Well-Architected なパターンを提供する CDK のオープンソース拡張ライブラリです。CDK コンストラクトは主に単一のサービスをカバーしています。 AWS Solutions Constructs は、2 つ以上の CDK のリソースを組み合わせ、ロギングや暗号化などのベストプラクティスを実装する複数サービスのパターンを提供します。 AWS Solutions Constructs を使用する パターンベースのアプローチの威力を確認するために、新しいアプリケーションを構築する際にどのように役立つかを見てみましょう。例として、Amazon DynamoDB テーブルにデータを格納する HTTP API を構築します。テーブルのコンテンツを小さく保つために、DynamoDB Time to Live (TTL) を使用して、数日後にアイテムを期限切れにすることができます。TTL の期限が切れると、テーブルからデータが削除され、DynamoDB Streams を介して AWS Lambda 関数に送信され、期限切れのデータを Amazon Simple Storage Service […]

Read More

cqlsh を使用して Amazon MCS にデータをロードする

Cassandra Query Language Shell (cqlsh) は、CQL コマンドの実行や、テーブルの作成や変更などのデータベース管理タスクの実行に使用できるオープンソースのコマンドラインシェルです。cqlsh を使用して、CSV ファイルから Amazon MCS テーブルにデータをロードすることにより、Cassandra と互換性があり、スケーラブルで可用性の高いマネージド型データベースである Amazon Managed Apache Cassandra Service (MCS) の使用を開始できます。詳細については、Amazon Managed Apache Cassandra Service とは何ですか? を参照してください。 この投稿では、cqlsh COPY コマンドを使用することによって、cqlsh を使用し、Amazon MCS テーブルにデータをロードする方法について説明します。また、データを準備するためのベストプラクティスと、COPY コマンドのパラメータを使用してデータ転送のパフォーマンスを調整する方法についても説明します。最後に、この投稿では、Amazon MCS テーブルの読み取り/書き込みスループット設定を構成して、データロードプロセスを最適化する方法について説明します。 前提条件 開始する前に、Amazon MCS キースペースおよびテーブル用の AWS アカウントが必要です。プログラムによって接続し、cqlsh を正しくセットアップしていることを確認してください。手順については、プログラムによる Amazon Managed Apache Cassandra Service への接続を参照してください。 この投稿のサンプルを実行するには、データを含む CSV ファイルが必要です。この投稿では、その CSV ファイルを export_keyspace_table.csv と呼んでいますが、別の名前に置き換えることができます。CSV […]

Read More

Kubernetes サービスアカウントに対するきめ細やかな IAM ロール割り当ての紹介

本投稿は Micah Hausler と Michael Hausenblas による記事を翻訳したものです AWS ではお客様のニーズに最優先にフォーカスしています。Amazon EKS におけるアクセス権制御に関して、みなさまは「パブリックコンテナロードマップ」の Issue #23 にて EKS でのきめ細かい IAM ロールの利用方法 を求められていました。このニーズに応えるため、コミュニティでは kube2iam、kiam や Zalando’s IAM controller といったいくつかのオープンソースソリューションが登場しました。これらのソリューションは素晴らしいプロダクトであるだけでなく、それぞれのアプローチの要件及び制約は何なのかについて多くの方の理解を促すことを可能にしました。 そして今、柔軟かつ簡単に利用可能なソリューションがやってきました。私たちの重要なゴールとして、粒度の高いロールを Node レベルではなくPod レベルでの提供がありました。私たちが今回考え出したソリューションもオープンソースとして公開されているため、eksctl での Amazon EKS クラスター作成時にも利用できますし、DIY アプローチでの Kubernetes クラスターとしてポピュラーな kops によって作成されたようなクラスタにおいてもご利用いただくことが可能です。 アクセスコントロール: IAM と RBAC Kubernetes on AWS では、補完しあう2つのアクセスコントロール手法が動作します。AWS Identity and Access Management (IAM) は AWS サービスへのアクセス許可、例えばあるアプリケーションが S3 […]

Read More

Amazon SageMaker で Optuna を用いたハイパーパラメータ最適化を実装する

Amazon SageMaker はお客様の機械学習のワークロードにおいて様々な選択肢を提供します。深層学習フレームワークの選択肢として2018年の AWS Summit Tokyo で発表された Chainer 対応はその一つです。Chainer は 株式会社Preferred Networks により開発された深層学習フレームワークで、計算時に動的にグラフを生成する define-by-run の考え方 (imperative な実行とも呼ばれます) を世界に先駆けて取り入れました。株式会社Preferred Networks はこの Chainer とは独立に、同じく define-by-run の思想に基づいたハイパーパラメータの最適化 (HPO) のための Optuna を2018年12月に発表しました。本稿では、AWS が提供する SageMaker 上で Optuna を用いた HPO を行う方法とアーキテクチャについてご紹介します。 導入 SageMaker が提供する HPO の選択肢 Amazon SageMaker は、TensorFlow, Apache MXNet, PyTorch, Chainer, scikit-learn, Horovod, Keras, Gluon などのフレームワーク・インターフェースに対応し、すべての開発者とデータサイエンティストに機械学習モデルの構築・学習・デプロイ手段を提供する AWS のサービスです。SageMaker はマネージド型の […]

Read More

新登場 – Open Distro for Elasticsearch

Elasticsearch は、分散型ドキュメント指向の検索および分析エンジンです。これは構造化クエリと非構造化クエリをサポートし、事前にスキーマを定義しておく必要がありません。Elasticsearch は検索エンジンとして使用でき、ウェブスケールのログ分析、リアルタイムのアプリケーションモニタリング、およびクリックストリーム分析のために使用されることがよくあります。 元々は真のオープンソースプロジェクトとして開始されましたが、Elasticserach への最近の追加機能はプロプライエタリとなっています。私の同僚である Adrian が、彼の Keeping Open Source Open という記事で、私たちが Open Distro for Elasticsearch を始めた動機について説明しています。オープンソースソフトウェアに強い信念を持つ支持者として、私たちはこのプロジェクトがオープンソースの Elasticsearch イノベーションを促進し続けるために役立つと確信しています。 Open Distro for Elasticsearch 本日、私たちは Open Distro for Elasticsearch をローンチします。これは完全なオープンソース (Apache 2.0 ライセンス) で、AWS にサポートされる、Elasticsearch の付加価値ディストリビューションです。Open Distro for Elasticsearch は、Elasticsearch と Kibana 向けのオープンソースコードを活用します。これはフォークではありません。これらのプロジェクトを発展させるために、私たちは今後も引き続きコントリビューションとパッチをアップストリームに送り続けます。 Elasticsearch と Kibana に加えて、最初のリリースには高度なセキュリティ、イベントモニタリングとアラート、パフォーマンス分析、および SQL クエリの各機能一式が含まれます (詳細については少し後で説明します)。ソースコードリポジトリの他にも、Open Distro for Elasticsearch と Kibana は、SQL […]

Read More

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

アマゾン ウェブ サービス ジャパン株式会社 (AWS) ソリューションアーキテクトの針原佳貴です。 AWS では、Amazon SageMaker のハンズオンとお客様の登壇による事例紹介を合わせたイベント「Amazon SageMaker 事例祭り」を毎月開催しています。2018年2月12日に目黒オフィスで第2回 Amzon SageMaker 事例祭りが開催され150名ほどの方にご参加頂いたので、以下でその概要についてお伝えします。今回の Amazon SageMaker 事例祭りは Chainer x AWS というテーマで、セミナーと事例発表の二部構成で開催されました。

Read More

Firecracker – サーバーレスコンピューティングのための軽量な仮想化機能

私の好きなAmazonリーダーシッププリンシプルの1つはCustomer Obsessionです。 私たちがAWS Lambdaをローンチしたとき、私たちは開発者にセキュアなサーバーレス体験を提供し、インフラストラクチャの管理を避けることに重点を置いていました。 目的のレベルの分離を達成するために、我々は各顧客に専用のEC2インスタンスを使用しました。 このアプローチにより、私たちはセキュリティ目標を達成することができましたが、私たちがLambdaを裏で管理する方法に関していくつかのトレードオフを余儀なくされました。 また、新しいAWSサービスの場合と同様に、顧客がLambdaをどのように使用するのか、あるいはサーバーレスモデル全体をどのように考えているのかもわかりませんでした。 私たちの計画は、時間の経過とともにバックエンドをより効率的にすると同時に、優れたカスタマーエクスペリエンスを提供することに重点を置くことでした。 ちょうど4年後 (Lambdaはre:Invent 2014でローンチされました)、サーバーレスモデルが普及したことは明らかです。 現在Lambdaは毎月何十万人ものアクティブな顧客に対して数兆件の処理を実行しています。 昨年、我々はAWS Fargateのローンチによりサーバーレスの利点をコンテナにまで拡張し、毎週AWSの顧客に数千万のコンテナを提供しています。 私たちの顧客がサーバーレスでの採用を進める中で、効率の問題を再検討する時が来ました。 Invent and Simplifyの原則を念頭に置いて、今のコンテナやファンクションの世界のための設計として仮想マシンがどのように見えるのか自分自身に尋ねました。 Firecrackerの紹介 本日、KVMを利用する新しい仮想化技術であるFirecrackerについてお話したいと思います。 仮想化されていない環境では、軽量のマイクロ仮想マシン(microVM)を数秒で起動することができ、従来のVMで提供されているセキュリティとワークロードの分離と、コンテナに伴うリソース効率性を向上しています。 Firecrackerについて知っておくべきことは次のとおりです: セキュア – これは常に最優先事項です! Firecrackerは複数レベルの分離と保護を使用し、攻撃面は最小限に抑えられています。 ハイパフォーマンス – 今日時点でわずか125ミリ秒 (さらに2019年に高速化予定) でmicroVMを立ち上げることができ、一時的なものや短命のものを含む多くの種類のワークロードに最適です。 Battle-Tested – FirecrackerはBattle-Testedであり、既にAWS LambdaとAWS Fargateを含む複数のハイボリュームなAWSサービスに利用されています。 低オーバーヘッド – Firecrackerは、microVMあたり約5 MiBのメモリを消費します。 同じインスタンス上で、さまざまなvCPUとメモリ構成を持つ数千のセキュアなVMを実行できます。 オープンソース – Firecrackerはアクティブなオープンソースプロジェクトです。私たちはすでにpullリクエストを確認して受け入れる準備を完了しており、世界中の寄稿者とのコラボレーションを楽しみにしています。 Firecrackerは最小限主義の流儀で造られました。 私たちはオーバーヘッドを減らし安全なマルチテナンシーを可能にするために、crosvmからスタートし、最小限のデバイスモデルを設定しました。 FirecrackerはRustで書かれており、その最新のプログラミング言語はスレッドの安全性を保証し、セキュリティの脆弱性を引き起こす可能性があるさまざまなタイプのバッファオーバーランエラーを防止します。 Firecrackerのセキュリティ 前述のように、Firecrackerには多数のセキュリティ機能が組み込まれています! ここに部分的なリストがあります: Simple Guest Model – Firecrackerのゲストには、ネットワークデバイス、ブロックI […]

Read More