Amazon Web Services ブログ

Category: AWS Lambda

使用されていないAmazon EBSボリュームを削除してAWSのコストをコントロールする

業界や業種を問わず、お客様にとってコスト管理は最優先事項の1つです。 EBSボリュームのライフサイクルの可視性が十分でないと、未使用のリソースに対してコストが発生する可能性があります。 AWSはコスト管理のサービスを提供しており、コスト情報へのアクセス、コストの理解、コストの制御、およびコストの最適化を行えるようにしています。 未使用、および管理が行き届いていないAmazon EBSボリュームは、AWS のコストに影響します。 EBSボリュームのライフサイクルは、Amazon EC2 コンピューティングインスタンスから独立して管理可能です。そのため、EBS ボリュームに関連付けられている EC2インスタンスが終了しても、EC2起動時に「終了時に削除」 オプションを選択しない限り、EBS ボリュームは削除されません。 また、開発とテストのサイクルの中でEC2インスタンスの起動停止を繰り返す際、自動的にEBSボリュームを削除する処理がないと、 EBS ボリュームが残る可能性があります。 EC2にアタッチされておらず孤立したEBS ボリュームは、アタッチされていない間も料金が発生します。 この記事では、OpsCenter を活用した自動化プロセスについて説明します。OpsCenter は、AWS Systems Manager の一機能として最近発表されたもので、OpsCenterを使えば、EC2 インスタンスにアタッチされておらず、未使用なEBS ボリュームを識別および管理できるようになります。

Read More

新しいサーバーレスアプリ作成機能で CI/CD も作れます

AWS Lambda のマネジメントコンソールに新しい「サーバーレスアプリケーションの作成」機能が追加されていることにお気付きですか? サーバーレス環境である Lambda ではすぐに処理実行環境が利用可能になり、Webのコンソールからロジックを実装するだけで容易にちょっとした処理を開発できます。一方で、この次のステップとして、 Lambda 関数だけでなく、アプリケーションとしての開発や管理ができていない 環境の再現(開発環境からステージングや本番環境へ)、デプロイの継続実行(CI/CD)の環境が整備できずに、Webコンソール上でいまだにコード変更している という話を聞くことがあります。実際には、デプロイ/環境設定のコード化(Infrastructure as Code: IaC)には AWS CloudFormation や Serverless Application Model(SAM)などがあり、CI/CD には CODEシリーズなどがあるのですが、サーバーレス開発を始めたばかりだと、そこへの次の一歩に二の足を踏まれているケースを見かけることがあります。 そんな方に向けた機能が、新しい「サーバーレスアプリケーションの作成」機能です。これを使うと、特定ユースケースのアプリケーションをテンプレートベースでひとまとめに作成し、CI/CD パイプラインまで一気に構築してくれます。 簡単に、この機能の利用ステップを紹介します。

Read More

WinTicket 、 AWS メディアサービスで競輪ファンに高画質レース映像を低遅延ライブで提供

WinTicket は、インターネットテレビ局 AbemaTV の番組「競輪チャンネル」と連動し、24時間どこでも投票チケットを購入できるほか、レース情報・オッズ・ AI 予想機能、そして開催中の熱戦レースのライブ映像を提供しています。 時速 60km ~ 70km で 9 名の選手がレースする中、 WinTicket のユーザーが視聴環境を問わず、レースの状況を高画質・低遅延で視聴できるようにすることは重要です。そのため、 WinTicket は動画配信ワークフローをクラウドに移行し、AWSメディアサービスを活用することで高画質・低遅延のライブ配信を確立させました。 WinTicket のライブ配信は、全国40以上の競輪場から集約した映像で構成されています。 AbemaTV の番組スタジオで映像を集めてクラウドへ伝送し、 AWS Elemental MediaLive で ABR エンコード、 AWS Elemental MediaPackage で HLS にパッケージ化し、 Amazon CloudFront 経由で視聴者へ低遅延なライブ配信しています。 「 WinTicket はサービスの特性上、レース状況や結果がすぐにわかるようにしなければ、ユーザー体験に影響を及ぼしてしまいます。 AWS Media Services は、他のサービスよりも 1.5 倍ほど低いレイテンシでコンテンツを配信できるため、戦略的な強みが得られました。」と、株式会社サイバーエージェントの CATS ソフトウェア エンジニア 江頭 宏亮 氏は語っています。「今回、 AWS Media Services を採用したことで、配信ワークフローの開発工程数を抑えた、冗長性のある可用性の高いライブ配信システムの構築ができました。配信管理ツールとして採用したサーバレスアーキテクチャを含め、利用している時間帯だけ課金されるため、運用コストを抑えられます。また、スケジュール管理上で蓋絵 […]

Read More

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

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

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

Apache Spark を実行しているAmazon Kinesis Data Firehose と Amazon EMR によるダウンストリームデータ処理の最適化

増え続けるデータを処理し、新しいデータソースを取り込むことは、多くの組織にとって大きな課題となっています。  多くの場合、AWS のお客様は接続中のさまざまなデバイスやセンサーからメッセージを受け取っていますが、それらを詳しく分析する前に、効率的に取り込み、処理する必要があります。  結果として、あらゆる種類のデータが行き着くソリューションが Amazon S3 となるのは当然と言えるでしょう。  ただし、データが Amazon S3 に格納される方法によって、ダウンストリームデータ処理の効率とコストに大きな違いが生じる可能性があります。  具体的に言うと、Apache Spark では少数の大きなファイルを処理する場合に比べて、小さいファイルを数多く処理すると、ファイル操作に負担がかかります。  これらのファイルにはそれぞれ、メタデータ情報のオープン、読み込み、クローズの処理に数ミリ秒のオーバーヘッドがあります。これらのファイルを数多くファイル操作すると、このオーバーヘッドのために処理が遅くなります。このブログ投稿では、Amazon Kinesis Data Firehose を使用して、Amazon S3 に配信する多数の小さいメッセージを大きいメッセージにマージする方法を説明しています。  この結果、Spark を実行している Amazon EMR の処理が高速化します。 Amazon Kinesis Data Streams と同様、Kinesis Data Firehose は最大で 1 MB のメッセージサイズを受信できます。  単一のメッセージが 1 MB を超える場合は、ストリームに配置する前に圧縮できます。  ただし量が多い場合、メッセージのファイルサイズが 1 MB 以下だと通常小さすぎます。  正しいファイルサイズというものはありませんが、多くのデータセットでは 1 MB を指定するとファイルの数とファイル操作が多すぎることになるでしょう。 この投稿では、Amazon S3 にある Apache Spark を使用して、圧縮ファイルを読み込む方法についても説明します。この圧縮ファイルには適切なファイル名拡張子がなく、parquet […]

Read More

Amazon Connectのスケジュールされた レポートを自動的に送信する

コンタクトセンターではデータが重要です。 スーパーバイザとマネージャは、レポートを使用して、チームのパフォーマンスを確認し、要員配置の計画を立てます。 必要なときに必要なデータを人々に提供することは不可欠です。 このブログ記事では、レポートの生成を有効にしてEメールで自動的にユーザーに送信する方法について説明します。 以下のサービスを使用します。 Amazon S3 AWS Lambda Amazon SES Amazon CloudWatch with Amazon Connect このブログでは、 AWS CloudFormationを使用してデプロイを簡素化する方法についても説明します。 このブログのソリューションでは、 Amazon Connectのネイティブレポート機能を使用してレポートを設定およびスケジュールします。 そのスケジュール設定されたレポートは、Amazon Connectの設定で指定したS3バケットに作成されます。 レポートがS3に作成されると、Lambda関数を起動するイベントが発生します。 Lambda関数はイベントを読み取り、S3からレポートを取得して、指定されたEメールアドレスに送信します。 すべてのアクティビティは追跡目的でCloudWatchに記録されます。 では始めましょう。 このセットアップを完了するには、次のものが必要です。 アクティブなAWSアカウント us-east-1(バージニア北部)またはus-west-2(オレゴン)のいずれかにあるAmazon Connectインスタンス。 Amazon SESはこれらのAmazon Connectリージョンでのみ使用可能であるため、この設定ではこれら2つのリージョンのみがサポートされています。 インスタンスを作成したら、電話番号を取得します。 詳細については、Amazon Connect の使用開始を参照してください。 あなたのアカウントに設定されたAmazon SES。 このソリューションでは、Amazon SESを使用してレポートを指定の受信者にEメールで送信します。 SESを使用してEメールを送信するには、送信元アドレスを確認して、自分が所有者であることを示します。 サンドボックスにいる場合は、 送信先アドレスも確認する必要があります。 あなたは、Eメールアドレスまたはドメイン全体を確認することができます。 検証プロセスについては、Amazon SES のIDの検証を参照してください。 アカウントをサンドボックスから削除する方法については、Amazon SES サンドボックスの外への移動を参照してください。 このCloudFormationテンプレートを実行するための適切なIAM権限。 これには、IAMロールとLambda関数を作成する権限が含まれます。 […]

Read More