Amazon Web Services ブログ

Category: Compute

[AWS Black Belt Online Seminar] AWS ParallelCluster ではじめるクラウドHPC 資料及び QA 公開

先日 (2020/04/08) 開催しました AWS Black Belt Online Seminar「AWS ParallelCluster ではじめるクラウドHPC」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20200408 AWS Black Belt Online Seminar AWS ParallelCluster ではじめるクラウドHPC from Amazon Web Services Japan AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. Parallel ClusterはAWSサポート対象外でしょうか?問合せ等はできますでしょうか? A. AWS ParallelCluster は、AWS 公式のオープンソースソフトウェアであり、サポートの対象となります。 — 今後の AWS Webinar | イベントスケジュール 直近で以下を予定しています。各詳細およびお申し込み先は下記URLからご確認いただけます。皆様のご参加をお待ちしております。 — AWS Innovate Online Conference / AWS Startup Day Online ** 好評につき期間延長!5/8 […]

Read More

Excel データを自動的に Amazon QuickSight に取り込む

Amazon QuickSight は、クラウドベースで高速なビジネスインテリジェンス (BI) サービスです。これにより、組織の誰もが容易に洞察を入手できるようになります。この投稿では、頻繁に変更されるデータを Amazon QuickSight ダッシュボードの SPICE (超高速、並列、インメモリ計算エンジン) データセットに自動でインポートする、サーバーレスのデータ取り込みパイプラインを構築する方法を示します。 BI 開発でアジャイルであることは、時には非常に困難です。たとえば、セルフサービス分析を実行するエンドユーザーは、追加のアドホックデータを既存のデータセットに追加し、対応する更新済みダッシュボードとレポートをタイムリーに表示することができます。ただし、ダッシュボードとレポートは通常、厳格なスキーマを持つ単一のオンライン分析処理 (OLAP) データウェアハウスの上に構築されます。そのため、エンドユーザー (データセットを直接更新する権限がない) は、ウェアハウスでデータを更新するために、複雑で時間のかかる手順を実行する必要があります。または、データセットを手動で編集するためにチケットを発行することもできますが、それでも非常に不便なソリューションであり、特にデータを頻繁に更新する必要がある場合は、相当な量の反復手動作業が必要になります。 したがって、リアルタイムのデータ取り込みを実行できる自動データ処理ツールは非常に便利です。この投稿では、エンドユーザーが Excel ファイルを Amazon S3 またはその他のデータファイル共有場所にアップロードするときに、次のエンドツーエンドプロセスを実行するツールについて説明します。 Excel ファイルから未加工データを消去します。これには、多くの書式設定と冗長な情報が含まれている場合があります。 クリーニングされたデータを取り込みます。 ステータスチェックを実行して、データのクリーニングと取り込みのプロセスをモニタリングします。 結果通知をエンドユーザーと BI 開発チームに送信します。 最近開始されたクロスデータソース結合機能により、ファイル間、ファイルとデータベース間、データベース間結合など、Amazon QuickSight がサポートするすべてのデータソース間で結合できます。詳細については、Amazon QuickSight のデータソース間での結合を参照してください。 クロスデータソース結合に加えて、Amazon QuickSight は SPICE 取り込み用の新しい API も開始しました。詳細については、データを SPICE にインポートと、Amazon QuickSight の新しい API とテーマ機能で、分析をさらに進化させるを参照してください。 この投稿では、これらの機能を組み合わせて、Excel ファイルをクリーニングして Amazon QuickSight の SPICE データセットに自動的に取り込むアジャイルソリューションを構築する方法を示します。SPICE […]

Read More

高速、低コストで、より良いAPIの構築 – HTTP APIが利用可能(GA)になりました

本投稿は、Senior Developer Advocate, AWS Serverless Applications のEric Johnsonの寄稿によるものです。 2015年7月、AWSはAmazon API Gatewayを発表しました。これにより、開発者はさまざまな種類のアーキテクチャのフロントに配置して安全でスケーラブルなAPIを迅速に構築できるようになりました。それ以来、API Gatewayチームは顧客向けの新しい機能とサービスを構築し続けています。 図1: API Gateway機能追加タイムライン 2019年初頭、チームは現在のサービスを評価し、API Gatewayの次の姿がどうあるべきか計画を立てました。新しい言語と技術によるプロトタイプを作成し、RESTおよびWebSocket APIの構築から学んだ教訓を適用し、そして、顧客のフィードバックを入念に調べました。その結果として、Amazon API GatewayのHTTP APIが完成しました。これは、より高速で、より低コストで使い易くなるように、ゼロから構築されたサービスです。要するに、HTTP APIはAPIを構築するためのより良いソリューションを提供します。APIを構築していて、HTTP APIが要件に合っている場合は、HTTP APIから始めるのが良いでしょう。   より速く ほとんどのユースケースで、HTTP APIはレイテンシを最大60%削減します。開発者は、最小限のレイテンシと最大限の機能を備えたアプリケーションの構築に苦心しており、アプリケーションプロセスに関係する各サービスがレイテンシを追加する可能性があることを理解しています。 図2: すべてのサービスがレイテンシを追加   これを念頭に置いて、HTTP APIは、API Gatewayサービスのレイテンシオーバーヘッドを削減するように構築されています。リクエストとレスポンスの両方を足し合わせても、すべてのリクエストの99%(p99)でHTTP APIからの追加レイテンシが10ミリ秒未満になります。   より低コストで Amazonでは、中核となるLeadership Principles の一つとして、Frugality(倹約)があります。私たちは、費用対効果の高い方法で物事を行い、その節約がお客様に還元されることを信じています。新しいテクノロジーが利用可能になり、ほぼ5年間にわたりAPI Gatewayを運用し得た専門知識により、より効率的に実行するためにHTTP APIを構築しました。 図3: REST / HTTP APIの価格比較 us-east-1の価格設定を使用して説明します。図3は、1か月あたりの1億回、5億回、および10億回のリクエストのコスト比較を示しています。全体的に、HTTP APIは、API Gateway REST APIと比較して少なくとも71%低コストです。   よりシンプルに HTTP […]

Read More

面白法人カヤックにおけるビルディングブロックとしてのAmazon ECSの活用とサービス間連携の工夫

開発者がアプリケーションを開発・パッケージング・デプロイするための強力な手法として、コンテナ技術はその代表的な1つに挙げられます。そしてそのようなコンテナ技術における様々なユースケースをサポートすべく、AWSではAmazon Elastic Container Service (Amazon ECS) に代表される多様なサービスを提供しています。
面白法人カヤック の技術部/インフラエンジニアである 藤原 俊一郎 氏にゲスト投稿いただき、Amazon ECS をはじめとした各AWSサービスをビルディングブロックとして組み合わせて利用していく上での課題と、その解決策の実例を紹介します。

Read More

AWS Fargate と Prowler を使用して、AWS サービスに関するセキュリティ設定の検出結果を Security Hub に送信する

このブログ記事では、オープンソースのセキュリティツールである Prowler を AWS Security Hub と統合する方法を紹介します。Prowler は Amazon Redshift、Amazon ElasticCache、Amazon API Gateway および Amazon CloudFront などのサービスに関する多数のセキュリティ構成チェックを提供します。Prowler と Security Hub を統合すると、既存の Security Hub 連携、またはコンプライアンス標準で現在ではカバーされていないリソースに関する情報が提供されます。Prowler チェックを使用することで、Security Hub で既に提供されている既存の CIS AWS Foundations コンプライアンスや、パートナーソリューションから取り込むコンプライアンス関連の検出結果を補うことができます。 この記事では、Docker を使用して Prowler をコンテナ化し、サーバーレスコンテナサービス AWS Fargate でホストする方法について説明します。Prowler を Fargate で実行すると、インフラストラクチャのプロビジョニング、構成、拡張が不要になり、必要なときにのみ実行されます。コンテナはアプリケーションのコード、設定、および依存関係をどこでも実行できる1つのオブジェクトにパッケージ化する標準的な方法を提供します。サーバーレスアプリケーションは、サーバーのプロビジョニング、スケーリング、および管理を必要とせずに、ユーザーが定義したイベントに応じて自動的に実行およびスケーリングされます。

Read More

シーメンスが Amazon S3 データレイクの更新用に、フルマネージドのスケジューリングのしくみを構築した方法

シーメンスは 37 万人を超える従業員と 170 年の歴史を持つ、グローバルなテクノロジーをリードする企業です。シーメンスのネットワークとアセットを継続的に監視するシーメンスサイバーディフェンスセンター (CDC) が、同社をサイバー犯罪から保護しています。このときに生じる膨大なデータ負荷を処理するため、CDC は ARGOS と呼ばれる次世代の脅威検出と分析のためのプラットフォームを構築しました。ARGOS はハイブリッドクラウドソリューションで、フルマネージドの AWS のサービスを多用して、ストリーミング、ビッグデータ処理、機械学習を行います。 セキュリティアナリスト、データサイエンティスト、脅威インテリジェンスチーム、インシデントハンドラーなどのユーザーが、ARGOS プラットフォームのデータに継続的にアクセスします。さらに、さまざまな自動コンポーネントがデータを更新、拡張、削除し、情報の充実、データ品質の向上、PII 要件の実施を行ったり、スキーマの進化や追加データの正規化要件のためのデータ変更を行います。データを常に利用可能かつ一貫した状態に保つには、いくつかの課題があります。 このようなシナリオでは、オブジェクトベースのデータレイクは、従来のトランザクションデータベースと比較して、コストの観点では非常に有益ですが、アトミック更新をほとんど許可しない、あるいは極めて複雑でコストのかかる拡張を必要とします。この問題を解決するため、シーメンスは、クエリのパフォーマンスと可用性を損なうことなく、 Amazon S3 ベースのデータレイクでアトミックファイルを更新できるソリューションを設計しました。 この投稿では、S3 データ更新タスク用の使いやすいスケジューリングサービスであるこのソリューションをご紹介します。仮名化、匿名化、機密データの削除など、いくつかの目的のために、シーメンスはこのソリューションを使用しています。この投稿では、このソリューションを使用して、定義した時間が経過した後にデータセットから値を削除する方法を説明します。ソリューションのアーキテクチャは明確に定義されており、スタック全体が 200 行未満のソースコードで構成されているので、データ処理タスクをさらに追加することは難しくはありません。フルマネージドの AWS サービスだけをベースにしているため、運用オーバーヘッドが最小限に抑えられます。 アーキテクチャの概要 この投稿では、クエリメカニズムとしての継続的なデータ取り込みと Amazon Athena を備えた S3 ベースのデータレイクを使用します。取り込み後、定義した時間後の特定の値を自動的に削除することを目指します。Athena を介してデータを使用するアプリケーションとユーザーは、影響を受けません (たとえば、ダウンタイムや重複などのデータ品質に関する問題はありません)。 次の図は、このソリューションのアーキテクチャを示しています。 シーメンスは、以下のサービスとコンポーネントでソリューションを構築しました。 スケジューリングトリガー – 新しいデータ (JSON 形式など) を S3 バケットに継続的にアップロードします。 タスクスケジューリング – 新しいファイルが到着するとすぐに、AWS Lambda 関数が結果の S3 バケット通知イベントを処理します。処理の一部として、Amazon DynamoDB に Time […]

Read More

Amazon EventBridge パートナーとしての日本の SaaS ベンダーのご紹介

Amazon EventBridge をご存知でしょうか? EventBridge は、独自のアプリケーション、SaaS および AWSのサービスから発行されるイベントをタイムリーにトリガーできるようにするサーバーレスなイベントバス機能として 2019年に発表されました。CloudWatch Events の拡張として作られており、AWSサービスからのシステムイベントも受信できますが、一番の特徴は、サードパーティの SaaS からイベント発行していただけるような仕様になっていることです(こちらもご覧ください)。 上図の左下あたりにある [SaaS Apps] として対応いただいたアプリケーションをご利用いただくと、SaaS 側で発生したイベントを SaaS 利用ユーザー側の AWS アカウント(SaaS アプリケーションとは異なる環境)へ EventBridge を経由してイベント通知することができるようになります。これによって、利用ユーザー環境で AWS Lambda の関数で追加の処理を起動したり、Kinesis/SQS/SNS にメッセージを飛ばしたり、Step Functions のフローを起動するなどの Push 型処理を簡単に実現できるようになります。つまり、SaaS がサーバーレスアプリケーションのトリガーとしてサーバーレス環境と融合することになるのです。 直近で BlackBelt セミナーも実施しましたので、EventBridge というサービス自体を理解したい方はこちらをぜひご覧ください。

Read More

Amazon DynamoDB、AWS Lambda、および Go を使用してエンタープライズアプリケーションを構築する

Amazon DynamoDB は、あらゆる規模で 1 桁のミリ秒のパフォーマンスを提供する、完全マネージド型サービスです。完全マネージド型で、舞台裏のマルチ AZ データレプリケーションを通じて高可用性を実現し、Amazon DynamoDB Accelerator (DAX) および複数のグローバルセカンダリインデックスを使用したネイティブライトスルーキャッシングをサポートします。開発者は、この投稿の焦点である Go を含む豊富なプログラミング言語のセットで AWS SDK を使用し、DynamoDB と対話できます。 この投稿では、CRUD を集中的に使用するアプリケーションに対して固有の使用例と、DynamoDB、AWS Lambda、Go を使用してそれらを効率的に処理する方法について説明します。CRUD は、作成、読み取り、更新、削除を表します (Wikipedia の作成、読み取り、更新、削除を参照してください)。この用語は、多数の異種オブジェクトを管理するアプリケーション、複雑なビジネスモデル、高度な自動化を伴う業界で一般的に使用されます。この投稿では、ホスピタリティ業界の例を使用していますが、基本的な設計原則はさまざまなエンタープライズアプリケーションに適用されます。 この投稿は、DynamoDB と Go を使用してエンタープライズアプリケーションを設計および構築するための、優れたプラクティスと例を探しているソフトウェアエンジニアを対象としています。詳細については、GitHub リポジトリを参照してください。GitHub リポジトリのコードは、本番稼働での使用が推奨されないクイックプロトタイピング用に作成されています。 前提条件 このチュートリアルを完了するには、AWS CLI アクセス権を持つ AWS アカウントを持ち、AWS CDK をインストールする必要があります。詳細については、AWS CDK の使用開始を参照してください。API Gateway エンドポイントと Lambda 関数の構築については、GitHub リポジトリを参照してください。 ユースケースとアプリケーション設計 最新のホテルの中央予約システムにより、ホテルチェーンと独立したプロパティは、コンテンツ (写真、動画、部屋の説明、部屋と料金、流通ルールなど) を管理し、さまざまな流通チャネル (オンライン旅行代理店、チェーンウェブサイト、内部予約エンジンなど) を通じて商品を検索し、予約できるようにします。これらの特殊なアプリケーションは、ホテルのフロントデスクのエージェントから最終ゲストまで、チェーン企業の従業員など、何百ものユースケースを多数のユーザーに公開します。これらのユースケースは、一般的に次のファミリーに適合します。 管理ユースケース – 通常、ホテル経営者やオフィスの従業員は、それぞれが相互に依存する多数の属性で構成される CHAIN、BRAND、PROPERTY、ROOM、ROOM_TYPE、PRICING_RULE […]

Read More

Amazon Linux AMI のサポート期間終了に関する更新情報

Amazon Linux AMI は 2010 年 9 月の提供開始以来、数多くのお客様の Amazon Elastic Compute Cloud (EC2) による Linux ベースのアプリケーションのビルドを支援してきました。2017 年には、お客様にさらなるセキュリティ、安定性、生産性をもたらすために Amazon Linux 2 を導入しました。新機能を多数追加搭載しながら、当社では Amazon Linux 2 を長期的にサポートしてまいりました。お客様の新しいアプリケーションに役立てていただきたいと願っています。 よくある質問 でも申し上げたとおり、Amazon Linux AMI (2018.03) の最新バージョンは 2020 年 6 月 30 日にセキュリティアップデートの提供が終了します。お客様のご要望もあって、終了期日を延長し、メンテナンスサポート期間を設けます。 終了期日の延長 Amazon Linux AMI は 2020 年 12 月 31 日まで延長され、引き続きセキュリティアップデートおよびパッケージの更新版を必要に応じて提供することになりました。 メンテナンスサポート 2020 年 12 月 31 日を過ぎると […]

Read More

AWS LambdaでAmazon RDS Proxyを使用する

本投稿は、Principal Solutions Architectである George Maoの寄稿によるものです。   更新 – (2020年6月30日 PDT): MySQLおよびPostgreSQL対応のAmazon RDS Proxyが一般にご利用可能になりました。 更新 – (2020年4月8日 PDT): PostgreSQL 互換の Amazon RDS Proxy (プレビュー)を発表しました。プレビューではバージョン10.11と11.5がサポートされています。 AWSサーバーレスプラットフォームは、デマンドに応じて自動的に拡張するアプリケーションを構築することができます。大量アクセスがある間、 Amazon API Gateway と AWS Lambda は負荷に応じて自動的にスケールします。 多くの場合、開発者は、Lambda関数からリレーショナルデータベースに保存されたデータにアクセスする必要が出てきます。しかし、Lambdaからデータベースへの多すぎるコネクションにより過負荷にならないようにすることは難しい場合があります。リレーショナルデータベースの最大同時接続数は、データベースのサイズによって異なります。 これは、各コネクションがデータベースサーバー上のメモリとCPUリソースを消費するためです。Lambda関数は数万の同時接続数までスケールできるため、それに対応するには、データベースはクエリを実行するだけでなく、コネクションを維持するためにより多くのリソースが必要になります。 スケーリングの詳細については、アーキテクチャブログの投稿「サーバーレスアプリを大規模に設計する方法」も参照してください。 RDSを使用したサーバーレスアーキテクチャ Lambdaは数万の同時リクエストに応じて簡単にスケールできるため、そのような状況において、この設計ではバックエンドのリレーショナルデータベースに高い負荷がかかります。通常は、リレーショナルデータベースは、Lambdaのスケーラビリティに応じた同時接続を受け入れるように設計されていません。 Amazon RDSのデータベースプロキシ 本日(2019年12月3日 PST)、Amazon RDS Proxyのプレビューを発表できることを嬉しく思います。 RDS Proxyは、アプリケーションとRDSデータベースの間の仲介役として機能します。RDS Proxyは、必要となるデータベースへのコネクションプールを確立および管理し、アプリケーションからのデータベース接続を少なく抑えます。 データベースへのSQL呼び出しを行うアプリケーションには、RDS Proxyを使用できます。ただし、サーバーレスのコンテキストでは、これによりLambda利用の体験がどのように改善されるかに焦点を当てています。RDS Proxyは、Lambda関数からデータベースに直接流れるすべてのデータベーストラフィックを処理します。 Lambda関数は、データベースインスタンスではなくRDS Proxyと対話します。RDS Proxyは、Lambda関数の同時実行によって作成された大量の同時接続をスケーリングするために必要なコネクションをプーリングします。これにより、Lambdaアプリケーションは、Lambda関数呼び出しごとに新しいコネクションを作成するのではなく、既存のコネクションを再利用できます。 RDS Proxyは自動的にスケーリングされるため、データベースインスタンスでコネクション管理に必要なメモリとCPUリソースが少なくなります。また、暖機されたコネクションプールを使用することでパフォーマンス向上にもつながります。RDS Proxyを使用すると、アイドル接続のクリーンアップとコネクションプールの管理を処理するコードが不要になります。Lambda関数コードは、より簡潔でシンプルとなり、保守性が向上します。 Amazon […]

Read More