Amazon Web Services ブログ

Category: Compute

AWS Fargate を使用してサーバーレスの Twitter リーダーを構築する

前回の記事では、Ben Snively と Vai Desai が、サーバーレス技術を用いてソーシャルメディアのダッシュボードを構築する方法を紹介しました。ソーシャルメディアのダッシュボードは「#AWS」のハッシュタグでツイートを読み取り、機械学習ベースのサービスを使用して翻訳を行い、自然言語処理 (NLP) を使用してトピック、エンティティ、センチメント分析を行います。最後に、Amazon Athena を使用してこの情報を集計し、ダッシュボードを作成して、ツイートから取得した情報を可視化します。このアーキテクチャでは、管理する唯一のサーバーは Twitter フィードを読み取るアプリケーションを実行します。このブログ記事では、このアプリケーションを Docker コンテナに移動し、AWS Fargate を使用して Amazon ECS で実行する手順について説明します。これにより、アーキテクチャ内で Amazon EC2 インスタンスを管理する必要がなくなります。 AWS Fargate は、Amazon Elastic Container Service (ECS) のテクノロジーで、それによりサーバーやクラスターを管理することなくコンテナを実行できるようになります。AWS Fargate を使用すると、コンテナを実行するために仮想マシンのクラスタをプロビジョニング、構成、および拡張する必要がなくなります。これにより、サーバーの種類を選択したり、クラスターをいつスケールするかを決めたり、クラスターのパッキングを最適化したりする必要がなくなります。AWS Fargate により、サーバーやクラスターとやり取りしたり、考えたりする必要がなくなります。AWS Fargate を使用すると、コンテナアプリケーションを実行するインフラストラクチャを管理する代わりに、コンテナアプリケーションの設計と構築に専念できます。 AWS Fargate は、Amazon EC2 の運用上の責任を排除したい場合に最適です。AWS Fargate は、AWS CodeStar、AWS CodeBuild、AWS CodeDeploy、AWS CodePipeline などの AWS Code サービスと完全に統合されており、エンドツーエンドの継続的な配信パイプラインを設定して ECS への導入を自動化することが難なく行えます。 Fargate でツイート読み取りアプリを実行する […]

Read More

サーバレスワークフローとAmazon CloudWatchイベントでAWSリソースのタグ変更を監視する

イントロダクション Amazon CloudWatchイベントは、AWSリソースのタグ変更をサポートするようになりました。この新しいCloudWatchイベントタイプを使用すると、タグ変更に適合するCloudWatchイベントルールを作成でき、AWS Lambda関数など複数のターゲットにルーティングすることで、ワークフローを自動で開始することができます。このブログ記事では、AWSリソースに対するタグ変更をセキュアに実施するための、AWS Lambdaを使用したコスト効率の高いサーバーレスソリューションを構築する例を示します。

Read More

アプリケーションロードバランサー(ALB)のターゲットにAWS Lambdaが選択可能になりました

本日より、アプリケーション ロードバランサー (ALB)はAWS Lambda functionをターゲットにすることをサポートします。ウェブサイトの構築やウェブアプリケーションをAWS Lambdaを使いサーバレスなコードとして作成、管理し、ウェブブラウザやクライアントからのリクエストに簡単なHTTP(S)フロントエンドを提供するように設定できます。

Read More

AWS App Meshのご紹介 – AWS上のマイクロサービス向けのサービスメッシュ

AWS App Meshは、AWS上のマイクロサービスアプリケーション間の通信を簡単に監視、制御できるサービスメッシュです。 Amazon Elastic Container Service (Amazon ECS)やAmazon Elastic Container Service for Kubernetes (Amazon EKS)、Amazon EC2上で稼働するKubernetesで動作するマイクロサービスとあわせてApp Meshを使用できます。 今日からApp Meshはpublic previewとして利用できます。数ヶ月後に、新しい機能とインテグレーションを追加する計画です。 なぜApp Meshなのか? 多くのお客様はマイクロサービスアーキテクチャでアプリケーションを構成しており、アプリケーションを多数の、独立してデプロイされ、操作される多数の別々の小さなソフトウエア群に分割しています。各コンポーネントが需要に応じて個別にスケールすることにより、マイクロサービスはアプリケーションの可用性とスケーラビリティを向上させます。各マイクロサービスはAPIを通じて他のマイクロサービスと相互に作用します。

Read More

新発表 – AWS Toolkits for PyCharm、IntelliJ(プレビュー)、Visual Studio Code(プレビュー)

ソフトウェア開発者には好みの開発ツールというものがあります。パワフルなエディタを使う人もいれば、特定の言語やプラットフォームに最適化された統合開発環境(IDE)を使う人もいます。AWS Lambda のコンソールのエディタを使って、2014年に私は初めての AWS Lambda 関数を作りました。現在では、サーバーレス・アプリケーションをビルドしデプロイするためのツールの選択肢は豊富になりました。例えば、昨年 AWS Cloud9 がリリースされて AWS Lambda のコンソールのエディタ環境は大きく強化されました。.NET アプリケーションでは、 AWS Toolkit for Visual Studio と AWS Tools for Visual Studio Team Services を使う事ができます。 AWS Toolkits for PyCharm、IntelliJ(プレビュー)、そして Visual Studio Code(プレビュー) 今日、 AWS Toolkit for PyCharm の一般提供をお知らせします。また、 AWS Toolkits for IntelliJ と Visual Studio Code の開発者プレビューをお知らせします。これら(AWS Toolkits for IntelliJ と Visual Studio […]

Read More

新機能 – AWS Lambda :あらゆるプログラム言語への対応と一般的なコンポーネントの共有

私は2014年にアナウンスしたAWS Lambdaを発表した興奮を覚えています。4年の間でお客様は様々な異なるユースケースでLambda関数をご利用頂いています。 例をあげると iRobotはAWS Lambdaをロボット掃除機のroombaのコンピュートサービスとして利用しています、Fanne MaeはMonte Carloの100万をこえる抵当のシミュレーションとして利用、Bustleは彼らのデジタルコンテンツへの数百万のリクエストとして利用しています。本日、私は2つの新しい機能をご紹介します、これは今までよりサーバレスの開発を簡単にするものです: Lambda Layers, 複数の関数で共用されるコードやデータをセンタライズし管理するものです Lambda Runtime API, あなたが開発する、どんなプログラム言語や特定のバージョンでも簡単に利用できるようになるものです これら2つの機能は一緒に利用することができます。ランタイムはレイヤとして共有できるために、開発者はLambda関数を作成時にお好みの言語で利用することができます。

Read More

AWS Cloud Map:アプリケーションのカスタムマップの簡単な作成と維持

アプリケーションをマイクロサービス(多数の別れたサービスがそれぞれ1つのジョブを実行する)として構成するお客様が増えています。マイクロサービスによりお客様は、多くの場合で反復的かつ、より素早いデプロイを可能になります。これらのマイクロサービスをベースとしたモダンなアプリケーションの多くは、様々な種類のクラウドリソースを利用して構成され、動的に変更されるインフラストラクチャ上にデプロイされます。これまでは、アプリケーションリソースの場所を管理するために設定ファイルを利用する必要がありました。しかし、マイクロサービスをベースとしたアプリケーションにおける依存関係は簡単に管理するには、複雑すぎる様になります。加えて、多数のアプリケーションは動的にスケールし、トラフィックにあわせて変更されるコンテナを利用して構成されていています。その様な構成はアプリケーションの応答性を向上させますが、新しい問題をもたらします。- 現在、アプリケーションのコンポーネントはその動作時にアップストリームサービスを検出し、接続する必要があります。この動的に変更されるインフラストラクチャーおよびマイクロサービスにおける接続性に関する問題は、共通してサービスディスカバリーによって解決されます。

Read More

新サービス License Manager – ソフトウェアライセンスの管理とライセンスルールの保全

BYOL(Bring Your Own License)を使用してAWSクラウドで商用ライセンスソフトウェアを使用する場合、不必要なライセンス調達を避けつつ、ライセンス条項の範囲内に収まるように展開を管理する必要があります。必要に応じてオンデマンドでインスタンスを起動したい場合、これは難しい課題です。 新サービス “AWS License Manager” 2018年11月28日、AWS License Managerをローンチしました。このサービスはライセンスルールを定義して、その中にエンタープライズ契約やライセンスされたソフトウェアの使用に適用されるその他の条件を考慮に入れるよう設定することができます。そして、定義したルールは展開メカニズム(ゴールデンAMIまたは起動テンプレート)に関連付けることができます。ルールが適用され起動されたEC2インスタンスは自動的に追跡されます。 また、1つまたは複数のAWSアカウントで使用状況を検出し、AWS管理コンソールからすべての使用状況を追跡することもできます。 それでは簡単に機能を見ていきましょう。ここでは、エンタープライズデータベース用のvCPUライセンスを100持っていると仮定します。 最初のステップは、1つ以上のライセンス設定を定義することです。 ライセンスマネージャコンソールを開き、[Create license configuration]をクリックして開始します: 構成の名前と説明を入力し、ライセンスがvCPUに基づいており(最大100に制限されています)、ライセンス数を限定強制したい事が示されます(Enforce license limit チェックボックスをオン): また、新たなライセンスルールを作成することもできます。 ルールは、EC2の構成に対するライセンスの適用可否を制御します。 vCPUの最小数や最大数、EC2テナントタイプ (共有、専有インスタンス、Dedicated Host) を指定できます。 例えば 4~64のvCPUと共有テナントを指定するルールは次のようになります: ルールが正しく定義されていることを確認し、Submitをクリックして次に進みます。 これで、ライセンスルールは準備が整いました。この画面ではルールの一覧が表示されており、私が作成したものと、他の人が作成したものも見る事が出来ます: ライセンスルールを作成したら、ルールを選択して[Actions]メニューの[Associate AMI]をクリックしてAMIと関連付けることができます。 1つ以上のAMIを選択し[Associate]をクリックします: 全体的なライセンスの使用状況を一目で確認できます(これは、複数のアカウントとAWS Organizationsと連携して機能するセントラルダッシュボード画面です): [Settings]をクリックして自分のAWS Organizationsアカウントにリンクし、クロスアカウントインベントリ検索を設定してライセンスの使用制限を逸脱したとき、SNSアラートを受信するように設定することも出来ます: その他 ここではAWS License Managerについてその他のいくつか知っておくべきことについて触れます: サポートされるライセンスタイプ – AWS License ManagerはvCPU、物理コア、物理ソケットをベースとしたライセンスをサポートします。特定のソフトウェアベンダーに紐づくものではありません。 クロスアカウントの使用管理 – AWS License Managerは、AWS Organizationsと組み合わせて使用する事が可能です。 マスターアカウントに署名した全てのアカウントでリンクし、組織全体でライセンス設定を共有することができます。 ダッシュボードを使用して、組織全体のライセンス使用状況を確認することができます。 […]

Read More

新発表 – Amazon FSx for Windows ファイルサーバー – 高速・完全マネージド型・セキュアなファイルサーバー

クラウド上で Windows アプリケーションを利用しようとしている組織では、通常、既存のアプリケーションや Windows 環境と完全に互換性のあるネットワークストレージを探します。例えば、エンタープライズ企業では ID 管理目的で Active Directory を使用し、フォルダやファイルへのきめ細かなアクセス制御のために Windows Access Control List を使用し、これらの企業のアプリケーションは Windows ファイルシステム (NTFS ファイルシステム) と完全互換のストレージに頼った作りになっています。 Amazon FSx for Windows ファイルサーバー Amazon FSx for Windows ファイルサーバーはこれら全てのニーズに対応しています。既存の Windows アプリケーションや Windows 環境で作業することを前提に設計されており、Windows ワークロードのクラウドへの Lift-and-Shift を非常に簡単にしてくれます。完全マネージド型の Windows ファイルサーバーに裏付けられたネイティブ Windows ファイルサーバーに、広く採用されている SMB (Server Message Block) プロトコルを介してアクセスできます。SSD ストレージで構築されている Amazon FSx for Windows ファイルサーバーは、皆さん (と皆さんの Windows アプリケーション) […]

Read More

AWS CodeDeploy による AWS Fargate と Amazon ECS でのBlue/Greenデプロイメントの実装

AWS Fargate と Amazon Elastic Container Service (Amazon ECS) 上で稼働するサービスでの Blue/Green デプロイメントがサポートされます。 AWS CodeDeploy を利用し、 Blue/Green デプロイメントを行うことでアプリケーションの更新時のダウンタイムを最小限に抑えることが出来るようになります。 Blue/Green デプロイメントは、古いバージョンと新しいバージョンのアプリケーションを同時に起動し、新しいバージョンをテストしてからトラフィックをルーティングします。デプロイ状況を監視し、問題が発生した場合はすぐにロールバックすることも出来ます。 この新しい機能により、デプロイメント、テスト、トラフィックのカットオーバーが管理されたサービスを、AWS Fargate または Amazon ECS で作成することが出来ます。 サービスを更新すると、AWS CodeDeploy によってデプロイメントがトリガーされます。 このデプロイメントは、Amazon ECSと連携して、新しいバージョンのサービスを Green 環境用のターゲットグループにデプロイし、ロードバランサのリスナーを更新してこの新しいバージョンをテストできるようにし、ヘルスチェックが成功した場合にカットオーバーを実行します。

Read More