Amazon Web Services ブログ

Category: Compute

Kubernetes および Amazon Elastic Inference を使用した TensorFlow モデルの最適化

この記事では、Amazon Elastic Inference を Amazon Elastic Kubernetes Service と共に使用する方法について詳しく説明します。Elastic Inference と EKS を組み合わせると、お好みのコンテナオーケストレーションシステムで低コストでスケーラブルな推論ワークロードを実行できます。 Elastic Inference は、AWS で低コストの推論ワークロードを実行するますます一般的な方法になりつつあります。低コストの GPU を搭載したアクセラレーションを Amazon EC2 および Amazon SageMaker インスタンスに追加して、深層学習推論の実行コストを最大 75% 削減できます。また、Amazon EKS も、AWS でコンテナを実行するスタートアップ企業から大企業まで、あらゆる規模の企業にとって重要性が高まっています。管理された Kubernetes 環境で推論ワークロードを実行したい場合、Elastic Inference と EKS を共に使用すると、高速ながら低コストのコンピューティングリソースでこれらのワークロードを実行することができます。 この記事の例は、Elastic Inference と EKS を併用して、ビデオフレームで物体検出を実行するためのコスト最適化されたスケーラブルなソリューションを提供する方法を示しています。具体的には、以下を行います。 Amazon S3 からビデオを読み取る EKS でポッドを実行する ビデオフレームを前処理する Elastic Inference で動作するように変更された TensorFlow Serving ポッドに物体検出用のフレームを送信する。 このコンピューティング集約型のユースケースは、Elastic Inference […]

Read More

Amazon EKS クラスターエンドポイントへのプライベート接続とワーカノードVPC外からのDNS解決方法

本投稿は AWS のシニアコンテナスペシャリストソリューションアーキテクトである Jeremy Cowan による寄稿です。 Amazon EKS クラスターを作成した時点では、標準ではKubernetes クラスターのエンドポイントはパブリックな設定になっています。エンドポイントにはインターネット経由でアクセスし、Identity and Access Management (IAM) とKubernetes role-based access control (RBCA) のポリシーによるアクセス制御を行います。 ゆくゆくはあなたも Kubernetes クラスターのプライベートエンドポイントを設定する必要が出てくるかもしれません。Kubernetes クラスターのエンドポイントをパブリックからプラベートに変更すると、インターネットをはじめとしたパブリックな経路からのアクセスは完全に無効になります。 実際に、プライベートなアクセスのみを許可するように設定されたクラスタは、以下のネットワークからのみアクセスできます。 ワーカーノードが存在する VPC その VPC とピアリングしているネットワーク AWS Direct Connect (DX) または Virtual Private Network (VPN) を介して AWS に接続されているネットワーク ただし、Kubernetes クラスターエンドポイントは、以下の理由からワーカーノードが存在する VPC からしか名前解決することができません。 エンドポイント用に作成された Amazon Route 53 プライベートホストゾーンは、ワーカーノード用 VPC にのみ関連付けられています。 プライベートホストゾーンは AWSが管理しているアカウントとは分けて作成されており、変更できません。 詳細については、プライベートホストゾーンの使用を参照してください。 […]

Read More

Lambda@Edge を使ったゲームプレイヤーへのカスタムコンテンツの配信

モバイルゲームのクライアントアプリを起動した時に、いつも最新のコンテンツを入手できるようにしたいですよね?そうすれば、ゲームへ変更を加えて、新しい機能を追加した際、変更内容をすぐにプレイヤーに提供できるようになります。

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

[発表] Lambda 関数が VPC 環境で改善されます

本投稿は AWS サーバーレス アプリケーションのプリンシパルデベロッパーアドボケートであるChris Munnsによる寄稿です。 AWS Lambda 関数が Amazon VPC ネットワークでどのように機能するかが大幅に改善されたことをお知らせします。 2019年9月3日(PST)のローンチ機能により、関数の起動パフォーマンスが劇的に改善され、Elastic Network Interface がより効率的に使用されるようになります。 これらの改善は、すべての既存および新しい VPC 接続の関数に追加費用なしで展開されています。 ロールアウトは 2019年9月3日(PST)から始まり、すべてのリージョンで今後数か月にわたって徐々に展開されます。 Lambda は2016年2月に初めて VPC をサポートし、AWS Direct Connect リンクを使用して VPC またはオンプレミスシステムのリソースにアクセスできるようになりました。 それ以来、お客様が VPC 接続を広く使用して、さまざまなサービスにアクセスしているのを見てきました。 Amazon RDS などのリレーショナルデータベース Redis 用 Amazon ElastiCache または Amazon Elasticsearch Service などのデータストア Amazon EC2 または Amazon ECS で実行されているその他のサービス 2019年9月3日(PST)のリリース機能により、LambdaとVPC 間のこの接続性が強化されます。 AWS Lambda がこれまで […]

Read More

[AWS Black Belt Online Seminar] Serverless モニタリング 資料及び QA 公開

先日 (2019/8/20) 開催しました AWS Black Belt Online Seminar「Serverless モニタリング」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20190820 AWS Black Belt Online Seminar Serverless モニタリング from Amazon Web Services Japan AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. トレースは、Lambda以外にEC2やECSのアプリなどでも利用可能なのでしょうか? A. Amazon EC2: インスタンスを起動するときに、ユーザーデータのスクリプトを使用して自動的にデーモンを実行することができます。詳細は、AWS公式サイトを参照ください。 Amazon ECS: Amazon ECS で、X-Ray デーモンを実行する Docker イメージを作成し、それを Docker イメージリポジトリにアップロードして、Amazon ECS クラスターにデプロイできます。タスク定義ファイルでポートマッピングとネットワークモード設定を使用すると、アプリケーションがデーモンコンテナと通信できるようになります。詳細は、AWS公式サイトを参照ください。 — 今後の AWS Webinar | イベントスケジュール 直近で以下を予定しています。各詳細およびお申し込み先は下記URLからご確認いただけます。皆様のご参加をお待ちしております。 【AWS Innovate Online Conference】 […]

Read More

[AWS Black Belt Online Seminar] AWS Serverless Application Model 資料及び QA 公開

先日 (2019/08/14) 開催しました AWS Black Belt Online Seminar「AWS Serverless Application Model」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。   20190814 AWS Black Belt Online Seminar AWS Serverless Application Model from Amazon Web Services Japan   AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. AWS SAM CLI 自体を Docker コンテナの中で実行することは可能でしょうか? A. Docker コンテナの中で実行することも可能です。ただし、Lambda 関数のローカル実行や、コンテナを利用したビルドを行う場合、コンテナの中でコンテナを起動する形になるため、たとえば docker コマンドの実行時に privileged フラグを付与するといった、いわゆる docker in docker の構成でコンテナを起動するための手続きは必要になりますので、ご留意いただければと思います。 Q. 自動で生成されるLambdaの単体テストはどのように実施できるのでしょうか? A. SAM […]

Read More

Amazon DocumentDB を使って AWS Lambda ベースのアプリケーションを実行する

スケーラブルなアプリケーションを構築するときは、マイクロサービスベースのアプリケーションアーキテクチャを使うのが標準となっています。AWS が提供する Amazon DocumentDB (MongoDB 互換) を利用すると、こうしたタイプのアプリケーションの作成がこれまでよりもさらに容易になります。MongoDB のワークロードをサポートしている、この高速でスケーラブル、かつ可用性に優れたフルマネージド型のドキュメントデータベースサービスでは、ご自分のコードを用いてアプリケーションをデプロイするだけです。 Amazon DocumentDB でのワークロードの実行、管理、スケーリングには、現在使用している MongoDB 向けのアプリケーションコード、ドライバー、ツールをそのまま使用できます。これにより、基盤となるインフラストラクチャの管理に煩わされることなく、向上したパフォーマンス、スケーラビリティ、アベイラビリティを活用できます。 この記事では、2019 年 4 月 26 日の映画「アベンジャーズ/エンドゲーム」公開時に主要なイベントや観客の反応を確認するアプリケーションをどう構築するか、その方法について解説します。AWS Lambda アプリケーションを設定および接続し、Amazon DocumentDB にクエリを実行する際のベストプラクティスを学べます。AWS Secrets Manager と Amazon API Gateway も使用します。 概要 買い物サイトやオンラインパブリケーションは、コンテンツやカタログの管理システムに依存しながら顧客にサービスを提供しています。こうしたシステムは、ユーザーレビュー、画像、評価、製品情報、コメントに迅速かつ確実にアクセスできる必要があります。Amazon DocumentDB が提供している柔軟なドキュメントモデル、データタイプ、インデックス作成、そして、強力かつ複雑なクエリを実行できる能力は、すばやく直感的な、コンテンツの保存や発見を可能にします。 この記事のユースケースでは、Global Database of Events, Language and Tone (GDELT) の公開されているデータセットをサンプルとして使用します。GDELT Project は、「世界中のあらゆる国のほぼ全地域における、100 を超える言語の放送、出版、ウェブニュースを監視し、人、場所、組織、テーマ、情報源、反応、回数、引用、画像、イベントを特定しています」 アプリケーションの構築には、次の AWS のサービスを使用します。 Lambda – サーバーをプロビジョンまたは管理しなくても、コードの実行を可能にするサービスです。料金は、コンピューティング使用時間に対してのみ発生します。コードが実行されていなければ無料です。 API Gateway – […]

Read More

Amazon EC2 Windows と Amazon Linux 2 インスタンス間で Always On 可用性グループをデプロイする

Microsoft SQL Server 2017 は、Windows と Linux 間の Always On 可用性グループをサポートして、高可用性 (HA) なしで読み取りスケールのワークロードを作成します。残念ながら、そのクロスプラットフォーム設定を管理できるクラスター化されたソリューションがないため、Windows と Linux の間で HA を実現することはできません。 Always On 可用性グループで HA を使用するには、Windows Server Failover Cluster (WSFC) または Pacemaker on Linux の使用を検討してください。このソリューションは、SQL Server on Windows から Linux へ、そしてその逆への移行パス、または手動フェイルオーバーを使用した災害復旧に適しています。 前提条件 開始する前に、以下がインストールされていることを確認してください。 Windows Server 2012 R2 または 2016 と SQL Server 2017 Enterprise Edition SQL Server 2017 […]

Read More

[AWS Black Belt Online Seminar] Amazon ECS Deep Dive 資料及び QA 公開

先日 (2019/7/31) 開催しました AWS Black Belt Online Seminar「Amazon ECS Deep Dive」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20190731 Black Belt Online Seminar Amazon ECS Deep Dive from Amazon Web Services Japan AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. Fargateのタスクスケジューリングにおいても、AWS Secrets Managerを利用できるのでしょうか?(以前検証した時、タスクスケジューリングではAWS Secrets Managerを利用できなかったため) A. はい、ご利用いただけます。ご利用の際考慮する点としては、タスクに付与されたタスク実行ロールにて AWS Secrets Manager や KMS の操作が許可されている必要があります。詳細はこちらをご覧ください。 Q. 複数ECSサービスを起動する場合、同数のALBが必要になるのでしょうか?Targetgroupの数だけでよい認識です。 A ご指摘ありがとうございます。ご指摘通りの構成をご利用いただけます。ウェビナー中に紹介したような複数 ALB 構成は、例えば各マイクロサービスにおける各チームの独立性をAWSリソースのレベルで担保したいような場合に効果的です。設計に応じて使い分けくださいませ。 Q. ECS Agentがコントロールプレーン、コンテナホストのDockerdへのどのような制御を行っているか網羅的に理解できる資料はございませんか? A 現時点で紹介できる資料はございません。具体的な動きを確認したい場合、GitHubにて公開されているAmazon ECS […]

Read More