Amazon Web Services ブログ

Amazon Elastic Container Service for Kubernetes

私の同僚 Deepak Singh が、コンテナに関してたくさんお伝えしたいことがあります! – Jeff; AWS 上で Kubernetes を利用している多くのお客様がいます。実際、Cloud Native Computing Foundationによると、Kubernetes のワークロードの63%が AWS 上で動作しています。AWS は Kubernetes を実行するうえで人気の場所ですが、お客様が Kubernetes クラスターを管理するためには、依然として多くの手動設定が必要となります。Kubernetes のマスターをインストールして運用し、Kubernetes のワーカーのクラスターを構成する必要があります。Kubernetes クラスターで高可用性を実現するには、異なる AZ 間で少なくとも三つの Kubernetes マスターを実行する必要があります。各マスターは、それぞれで対話し、障害が発生した場合に備え情報を共有し、負荷分散、フェールオーバーを他のマスターに確実に実行するように構成する必要があります。そして、すべての設定と実行が完了しても、マスターとワーカーのソフトウェアのアップグレードとパッチ適用を行う必要があります。これらは運用の専門家とその努力必要としており、我々はお客様からもっと簡単にしてほしいと言われてきました。 Amazon EKS の紹介 Amazon Elastic Container Service for Kubernetes (Amazon EKS) は、Kubernetes クラスターの専門家でなくてもKubernetesを AWS 上で簡単に使用することができるフルマネージドサービスです。開発者の皆様にこのサービスを気に入ってもらえるいくつかの点があります。まず、Amazon EKS は オープンソースの Kubernetes を基に実行されますので、Kubernetes コミュニティの全ての既存のプラグインとツールを使用できます。Amazon EKS 上で動作するアプリケーションは、オンプレミスのデータセンターやパブリッククラウドで動作しているかにかかわらず、標準の Kubernetes 環境で動作するアプリケーションと完全に互換性があります。つまり、コード変更なしで簡単にあなたの Kubernetes アプリケーションを […]

Read More

AWS Fargate: サービス概要

AWS上でコンテナを運用管理するお客様の手助けになるようAmazon Elastic Container Service(Amazon ECS)をアナウンスしたのは約3年前でした。Amazon ECSを利用することで、クラスター管理やオーケストレーション用ソフトウェアを運用することについて心配する必要がなくなり、大規模に高い可用性を持ってワークロードを稼働させることが可能になりました。 2017/11/29、AWSは AWS Fargateをアナウンスしました。下回りとなるインスタンス群の管理をせずとも、コンテナを基本的な計算単位として利用することができる技術です。Fargateをご利用いただくことで、コンテナを動かすためにクラスター内の仮想マシンのプロビジョニング、設定やスケールを行う必要はもうありません。Fargateは現在Amazon ECSから利用可能ですが、将来的にはAmazon Elastic Container Service for Kubernetes (Amazon EKS)もサポートする予定です。 Fargateでは、アプリケーションの要件に対して最も近い設定を柔軟に行うことができ、請求は秒単位となります。 Amazon ECSとFargate Amazon ECSは、コンテナを大規模に稼働させることを可能にします。また、このサービスは、VPC networking、load balancing、IAM、Amazon CloudWatch LogsやCloudWatch metricsといったAWSプラットフォームとネイティブに連携しています。これらの連携により、ECSタスクはAWSプラットフォームの中でファーストクラスオブジェクトとして扱うことができます。 タスクを起動するためには、適切なインスタンスタイプと数を選び、Auto Scalingを設定し、パフォーマンス向上のためにクラスターのサイジングを管理するといったクラスターの立ち上げが必要ですが、Fargateでは、それらを全て忘れることができ、アプリケーションの定義、権限やスケーリングについてのポリシー設定に専念することができます。

Read More

新機能- Amazon DynamoDBにGlobal TablesとOn-Demand Backupが追加されました

AWSの多くのお客様にDynamoDBは広く、ミッションクリティカルな用途に使われています。金融、E-コマース、広告、IoT、そしてゲームなど様々な用途で使われており、数百万リクエスト/秒のスループットとテラバイトのデータと数兆のアイテムを格納しています。 本日、我々は2つの強力な新機能を皆様に紹介出来る事に喜びを感じています。 Global Tables – 今から新しくテーブルを作る時に全自動で2つのリージョン間、若しくはそれ以上のリージョン間で同期されるマルチマスタのテーブルを数回のクリックで簡単に作成する事が出来ます。簡単かつ素早く構築が出来る事と、大規模なスケールをアプリケーションに提供出来るためグローバルスケールのユーザーに対応することがレプリケーションの管理無しに可能になります。 On-Demand Backup – 一回のクリックで、今利用しているDynamoDBのテーブルのフルバックアップを取得する事が今から可能です。これはパフォーマンスや可用性などに影響がありません。バックアップ取得中もアプリケーションはオンラインのまま実行され、設定したプロビジョンドキャパシティ応じて読み書きが可能です。バックアップは長期間の保持、アーカイブを行い、監査要件などで必要な場合にも役立ちます。 Global Tables DynamoDBでは既にデータは3つのAZにレプリケーションされ耐久性と高い可用性のストレージを提供しています。今日からGlobal Tablesを使うことによって、あなたのテーブルのデータは複数のリージョンへのレプリケーションを数クリックで実現出来ます。多くのグローバルで提供しているアプリケーションに必要な素早い書き込み、読み込み性能をこのスケールによって実現が可能です。 アプリケーションのコードは変更する必要がありません。書き込みリクエストと結果整合性の読み込みリクエストであればそれぞれのリージョンで作成されるendpointにリクエストを送れば大丈夫です(もし強い一貫性の読み込みが必要であれば一つのendpointに書き込みと読み込みリクエストを一つのendpointに集約する必要があります)。裏側では、DynamoDBはマルチマスター書き込みを実装し、特定のアイテムへの最後の書き込みが確実に行われるようにします。あなたがGlobal Tablesを使う時、全てのアイテムは最新の書き込み時刻を表すタイムスタンプ属性を含む様になります。アイテムへのアップデートがあった場合他のリージョンへ非同期で伝播し、DynamoDB Streams経由で完了までに1秒程度で終わります(あなたがこの状況を追跡するために新しくTimeToReplicateとReplicationQueueBacklogメトリクスが追加されます。)。

Read More

Amazon Neptune – フルマネージドのグラフデータベースサービス

現代の生活を可能にするために必要な全てのデータ構造やアルゴリズムの中でも、グラフは日々世界を変えています。ビジネスからは、複雑な関係性を持つリッチなデータが生まれ続け、また取り込まれ続けています。しかし開発者は未だにトラディショナルなデータベースの中でグラフのような複雑な関係性を扱うことを強要されています。必然的に、そのような関係性-リレーションシップが追加されるにつれ、パフォーマンスは劣化し、いらいらするくらい高コストで複雑なクエリとなっていきます。我々はそのようなモダンで複雑性が日々高まるようなデータセットやリレーションシップ、パターンを簡単に扱えるようにしたいと考えました。 Hello, Amazon Neptune 2017年11月29日、我々は限定プレビュー版のAmazon Neptuneを発表します。Amazon Neptuneにより、高度に接続されたデータセット間のリレーションシップから簡単に洞察を得ることができます。Neptuneのコア部分は、数十億ものリレーションシップが格納可能で、グラフに対してミリ秒レベルの遅延となるよう最適化された、専用の、高性能なグラフデータベースエンジンです。フルマネージドなデータベースとして提供されることで、Neptuneはお客様をメンテナンスやパッチ適用、バックアップ/リストアなどの退屈なオペレーションから解放し、アプリケーションに集中できるようにします。高速なフェイルオーバー、Point-in-Timeリカバリ、そしてマルチAZでの実装など高可用性のための各種機能も備えるサービスです。最大15個のリードレプリカによりクエリのスループットを秒間10万件レベルまでスケールさせることも可能です。Amazon NeptuneはAmazon VPC内で動作し、データを暗号化して保管でき、保管時や転送時にデータの整合性について完全に制御することができます。

Read More

In The Works – Amazon Aurora Serverless

既にご存知の通り、Amazon AuroraはMySQL互換とPostgreSQL互換があり、マネージドサービスで自動的に64TBまでスケールアップするデータベースストレージ’を備えています。Auroraデータベースインスタンスを作成する際に必要なインスタンスサイズの選択や、リードスループットを向上させるためにリードレプリカを作成するかどうかのオプションを選択します。処理の需要やクエリ数の増減に応じて、インスタンスサイズやリードレプリカの数を必要に応じて変更可能です。このモデルはリクエスト数や負荷などのワークロードが予測し易い場合はうまくいきます。 しかし、場合によっては1日や1週間の間に数時間、もしくは数分間だけリクエストがスパイクするようなワークロードの割り込みがあったり予測が難しいケースがあります。セールや1回だけもしくは不定期イベント、オンラインゲームや日時・週次のレポーティング、dev/test、新規アプリケーションなどが当てはまります。適切なキャパシティに調整し続けるためには多くの作業が必要です、そのため安定している状態を基準として支払いを行うほうが懸命です。

Read More

AWS Fargateの紹介 – インフラストラクチャの管理不要でコンテナを起動

コンテナは、開発者がアプリケーションを開発・パッケージ・デプロイするのに強力な手法の1つです。AWSでは、十万以上のアクティブなECSクラスタが稼働しており、毎週数億の新しいコンテナが起動しています。これは、2016年からすると400%を超えるお客様成長率です。Amazon ECSやKubernetesといったコンテナのオーケストレーションソリューションは、コンテナワークロードのデプロイ・管理・スケールをより容易にし、敏捷性を増します。しかし、それらのどのソリューションも下回りとなるインフラストラクチャの可用性、キャパシティやメンテナンスを行う必要が依然としてあります。AWSにおいて、私たちはこれを差別化とならない重労働を取り除く機会と考えました。私たちは、コンテナがもたらすスピード、敏捷性や不変性のメリットを十分にお客様にご利用いただき、インフラストラクチャの管理ではなくアプリケーションの構築に注力いただきたいと思っています。 AWS Fargate AWS Fargateは、コンテナをデプロイする最も簡単な方法です。端的に言うと、FargateはEC2に似ていますが、仮想マシンを提供する代わりに、コンテナを提供します。これにより、下回りとなるインスタンス群の管理をせずとも、コンテナを基本的な計算単位として利用することができる技術です。やるべきことは、コンテナイメージ構築し、CPUやメモリの要件を指定し、ネットワークやIAMポリシーを定義し、そしてコンテナを起動することです。Fargateでは、アプリケーションの要件に対して最も近い設定を柔軟に行うことができ、請求は秒単位となります。

Read More

Amazon EMR での Apache MXNet および Apache Spark を使用した分散推論

このブログでは、Amazon EMR で Apache MXNet (incubating) および Apache Spark を使用して大規模なデータセットで分散オフライン推論を実行する方法を説明します。オフライン推論がどのように役立つのか、課題となる理由、および、Amazon EMR で MXNet と Spark を活用して課題を解決する方法を説明します。 大規模データセットでの分散推論 – ニーズと課題 ディープラーニングモデルのトレーニングの後、新しいデータ上で推論を実行して活用します。推論は、不正検出など、その場でのフィードバックが必要なタスクでリアルタイムに実行できます。これは通常オンライン推論と呼ばれています。または、事前計算が役立つ場合は、推論をオフラインで実行できます。オフライン推論のよくあるユースケースは、ユーザーの製品スコアのソートやランク付けを必要とする推奨システムなど、レイテンシー要件が低いサービスです。これらのケースでは、推奨はオフライン推論を使用して事前計算されます。結果は低レイテンシーストレージに保存され、必要に応じて、推奨がストレージから引き出されます。オフライン推論の別のユースケースは、最新モデルから生成された予測による履歴データのバックフィリングです。仮の例として、新聞でこの設定を使用して、人物識別モデルから予測された人物の名前でアーカイブされた写真をバックフィルできます。また、分散推論を使用して、歴史的なデータで新しいモデルをテストし、本番稼働用にデプロイする前により良い結果を生み出すかどうかを確認できます。 通常、分散推論は数百万以上のレコードがあるような大規模なデータセットで実行されます。妥当な時間内にそのような巨大なデータセットを処理するには、ディープラーニングの機能をセットアップされたマシンクラスターが必要です。分散クラスターでは、データ分割、バッチ処理、タスクの並列化を使用した高いスループット処理ができます。ただし、ディープラーニングデータ処理クラスターをセットアップするには課題もあります。 クラスターのセットアップと管理: ノードのセットアップとモニタリング、高い可用性の維持、ソフトウェアパッケージのデプロイと設定など。 リソースとジョブの管理: ジョブのスケジューリングと追跡、データ分割とジョブの障害への対処。 ディープラーニングのセットアップ: ディープラーニングタスクのデプロイ、設定、および実行。 次に、このブログの投稿では、Amazon EMR で MXNet および Spark を使用してこれらの課題に対処する方法を示します。

Read More

Amazon MQ – ActiveMQのマネージドメッセージブローカーサービス

メッセージングは、分散アプリケーションのパーツを繋げ、弾力性を追加し、スケーラビリティの高い実装を可能にするアーキテクチャです。例えば、今年、Amazon Simple Queue Service (SQS) とAmazon Simple Notification Service (SNS)は、全体で400億件、1秒あたり1000万件にもおよぶPrime Dayのお客様の注文を処理しましたが、目に見えた問題は発生しませんでした。 SQSとSNSは、クラウドで生まれたアプリケーションに幅広く利用されてきました。しかしながら大規模なお客様の多くは、既にオープンソースベースあるいは商用ライセンスのメッセージブローカーを利用しています。彼らのアプリケーションはミッションクリティカルであり、そこで使われるメッセージングも重要です。お客様は、メッセージインフラストラクチャのセットアップと継続的なメンテナンスが”苦痛である”と言っており、少なくとも1週間に10時間をこの雑用に費やしているとおっしゃっています。 新しいAmazon MQ 11/28日、3クリックで数分ではじめられるApache Active MQのマネージドメッセージブローカーサービスであるAmazon MQ をローンチします! 御存知の通り、Active MQは高速で機能が豊富な人気のオープンソースメッセージブローカーです。キューとトピックを提供し、耐久性あり/無しのサブスクリプション、プッシュベースとポーリングベースのメッセージングとフィルタリングを提供します。 マネージドサービスとして、Amazon MQではActive MQの管理とメンテナンスが考慮されています。これには、ブローカーのプロビジョニング、パッチ適用、高可用性のための障害の検知とリカバリ、メッセージの耐久性に関する責務が含まれています。 Amazon MQでは、Active MQ consoleと、JMS,NMS,AMQP,STOMP,MQTT,WebSocketを含むメッセージングのための業界標準のAPIやプロトコルに直接アクセスができます。これによって、これらの標準を利用するあらゆるメッセージブローカーからコードの書き換えなしにアプリケーションごとAmzazon MQへ移行できます。 開発やテスト用にシングルインスタンスのAmazon MQ brokerまたは、AZを跨って素早い自動的なフェイルオーバーを提供するActive/Standbyのペアを作成できます。どちらの場合もデータはAZをまたがって配置され、ブローカーインスタンスとメッセージストレージを従量課金でご利用いただけます。 Amazon MQはAWSファミリーの一員であり、サービスAPIの認証と認可に対してAWS Identity and Access Management (IAM)を利用します。Amazon CloudWatchメトリクスを利用して、キューの深さのような注目すべきメトリクスを継続的に監視し、 必要に応じてコンシューマーフリートのAuto Scalingを発動したりすることが可能です。

Read More

ハードウェアにダイレクトアクセスを提供するAmazon EC2 Bare Metal (ベアメタル)インスタンス

お客様からAWSへの優れたリクエストをいただく際、私達は詳細に要望をお聞きし、多くの質問をし、理解をしてニーズに応えられるようベストを尽くしています。これらの活動の結果として私達はサービスや新機能をリリースしています。 一方で私達は決して特定のお客様専用の一度きりの仕組みを作りこんだりはしません。その方法は混乱を生み、スケールさせる事を困難にしますし、私達のやり方ではありません。 そうではなく、全てのAWSのお客様は私達が作ったもの全てにアクセスでき、全員が利益を得ることが出来ます。VMware Cloud on AWSがこの戦略での良い実例でしょう。VMware社は私達に、VMwareの仮想化スタックをAWSクラウドのハードウェア上で直接稼働させたい、それによってお客様がAWSがオファーする拡張性、セキュリティ、信頼性を手に入れることが出来るとリクエストしました。 私達は仮想化層をネストする事によるパフォーマンス低下を望んでいない他のお客様からもベアメタルハードウェアに興味があると聞いていました。お客様は物理リソースにアクセスし、パフォーマンスカウンターやIntel® VTといった、仮想化環境では通常サポートされないローレベルのハードウェア機能を利用したいと考えていました。また、非仮想化環境でしか稼働できないライセンスのソフトウェアを稼働させるために必要としている方もいました。 ネットワーク、ストレージ、その他EC2関連機能を仮想化プラットフォームの外に出して、専用ハードウェアに移動させる努力を数年間に渡って続けてきており、より良い環境を提供できるための下地が出来ています。この活動は以前のこのブログ(今すぐご利用可能 – Amazon EC2 コンピューティング最適化インスタンス C5)で紹介しており、ハードウエアアクセラレーターでの性能向上を提供できています。 そして現在ではVMware社からのリクエストにあったように、ベアメタルのハードウェアをVMwareハイパーバイザーとともに用意し、これまで通り全てのAWSのお客様に提供しています。では次は何が出来るようになるのか、ぜひ見てみましょう!

Read More

Amazon GuardDuty – 継続したセキュリティ監視と脅威の検知

ITインフラ(AWS アカウントでしたり、セキュリティクレデンシャル、またAWS上で稼働する仮想マシン、アプリケーション等)への脅威は日々形を変え、襲いかかります。オンラインの世界は陰険な場で、ITインフラを安全かつ健全に保つために、ツールでしたり、経験知識、知見をお持ちだと思います。 Amazon GuardDuty は正にそのためにデザインされました。公開データ、AWS 上で生成されるデータといった多数のデータをもとに、機械学習を行います。GuradDury はそれらをもとに、見落としがちな傾向、パターン、異常を追跡し、何億ものイベントの解析を行います。GuardDuty は数クリックで利用開始でき、数分でFindings(イベント)が表示されます。 動作方法 GuardDutyは 脅威情報を含む複数のデータストリームから、悪意のあるIPアドレス、デバイスドメインを認識し、あなたのAWSアカウントで悪意のある、もしくは不正な行動があるか特定するために学習します。VPC Flow Logs、CloudTrail のイベントログ、DNS ログを集め組み合わせることにより、GuardDuty は非常に多くのことなったタイプの危険性のある、悪意のある行動を検知します。その中には、既知の脆弱性でしたりポートスキャン、通常とは異なるロケーションからのアクセス等も含まれます。AWS の観点では、不正なデプロイメントでしたり、CloudTrail の異常なアクティビティ、API アクセスパターン、複数のサービスリミットを越えようとするアクセス等、疑わしいAWSアカウントアクティビティの検知を行います。それに加え、GuardDuty は悪意のあるエンティティ、サービス、データを抜き出そうとする行動、暗号侵害を試みるインスタンスと接続する、感染を受けたインスタンスも検知します。 GuardDuty はAWS上で提供され、パフォーマンス、信頼性の観点で既存サービスへの影響はありません。エージェント、センサー、ネットワークアプリケーションも必要ありません。このクリーンで既存に変更を加えない点は、みなさんのセキュリティチームへのアピールにもなりますし、すべてのAWSアカウントでGuardDutyを有効にする後押しになります。 Findings(検知されたアクティビティ) は3つのレベル(低・中・高)で通知され、詳細情報、復旧アクションの提案も合わせて通知されます。また、FindingはCloudwatch Eventsとの連携が可能で、ある特定の問題に関してはLambda ファンクションと連携し、復旧アクションを取ることが可能です。またこの連携機能により、GurdDuty のFinding 情報を、Splunk、Sumologic、 PagerDuty 等のイベント管理システムと簡単に連携が可能となりますし、JIRA、ServiceNowといったワークフローシステムとの連携、Slack連携も可能になります。 GuardDutyのはじめ方 では、簡単にGuardDutyの始め方をご説明します。はじめにGuardDuty Consoleを開き、開始をクリックします。 その後、GuardDuty を有効にするために確認を行います。そうすることで、GuardDuty のログ解析に必要なサービスリンク ロールが準備され、”GurdDuty の有効化”をクリックすると準備が整います。 アカウントによってはFindingがあまり無いアカウントもあるかもしれません。General Setting から、Generate sample findingsをクリックすると、サンプルのFindingsが確認できます。 あるFindingを選択すると、詳細が確認できます。 虫眼鏡アイコンから拡大し、関連リソース、アクション、その他値のフィルターを作成することが出来ます。下記のようにインスタンスに紐づくすべてのFindingsをフィルターすることも可能です。 信頼IP、また悪意のあるIPリストを追加することで、ご自身の環境にあったGuardDuty環境にカスタマイズもできます。 管理者アカウントでGuadDutyを有効にし、その他のアカウトを参加アカウントとして招待します。 それらアカウントが参加を承認すると、それらアカウントのFindingsが管理者アカウントと共有されます。 時間の関係もありGuardDuty の多くすべてをお話できないため、是非30日間のトライアルを是非ご利用下さい。トライアル終了後はVPC Flow Logs、CloudTrail ログ、DNS ログに対し解析を行った量に応じ課金されます。 利用可能リージョン […]

Read More