Amazon Web Services ブログ

Category: Database

サーバーレス LAMP スタック – Part 4: サーバーレス Laravel アプリの構築

本投稿は AWS サーバーレス アプリケーションのシニアデベロッパーアドボケートである Benjamin Smith による寄稿です。 本シリーズの他のパートは以下のリンクからアクセスできます。また、関連するサンプルコードはこちらの GitHub リポジトリにあります。 パート1:サーバーレス LAMP スタックの紹介 パート2:リレーショナルデータベース パート3:Webサーバーの置き換え パート5:CDK コンストラクトライブラリ パート6:MVC からサーバーレスマイクロサービスへ この投稿では、サーバーレスアプローチで Laravel アプリケーションをデプロイする方法を学びます。 これは「サーバーレス LAMP スタック」シリーズの4番目の投稿になります。過去の投稿はこちらです。 パート1:サーバーレス LAMP スタックの紹介 パート2:リレーショナルデータベース パート3:Webサーバーの置き換え Laravel は PHP 用のオープンソースの Web アプリケーションフレームワークです。フレームワークを使用すると、開発者は一般的なコンポーネントとモジュールを再利用することで、より速く構築できます。また、開発標準に準拠することにより、長期的なメンテナンスにも役立ちます。ただし、従来の LAMP スタックを使用して PHP フレームワークをスケーリングする場合は、まだ課題があります。サーバーレスアプローチを使用してフレームワークをデプロイすると、これらの課題の解決に役立ちます。 Laravel アプリケーションのサーバーレスインフラストラクチャへの展開を簡素化する方法は数多くあります。ここで紹介する方法では、AWSサーバーレスアプリケーションモデル(AWS SAM)テンプレートを使用しています。これによって、Laravel アプリケーションが単一の Lambda 関数にデプロイされます。この関数は、Bref FPM カスタムランタイムレイヤーを使用して PHP を実行します。AWS SAMテンプレートは、「サーバーレス LAMP スタック – パート3: […]

Read More

Amazon RDS Online Seminar 第1回 「Amazon Aurora と RDS Proxy」 資料・動画及び QA 公開

先日(2020/9/10)開催しました 第1回  Amazon RDS Online Seminar「Amazon Aurora と RDS Proxy」
の資料・動画を公開しました。当日、参加者の皆様には数多くの QA を頂きありがとうございました。
頂いた QA の一部についても共有しております。

Read More

サーバーレス LAMP スタック – Part 2: リレーショナルデータベース

本投稿は AWS サーバーレス アプリケーションのシニアデベロッパーアドボケートである Benjamin Smith による寄稿です。 本シリーズの他のパートは以下のリンクからアクセスできます。また、関連するサンプルコードはこちらの GitHub リポジトリにあります。 パート1:サーバーレス LAMP スタックの紹介 パート3:Webサーバーの置き換え パート4:サーバーレス Laravel アプリの構築 パート5:CDK コンストラクトライブラリ パート6:MVC からサーバーレスマイクロサービスへ この投稿では、サーバーレスアプリケーションで Amazon Aurora MySQLリレーショナルデータベースを使用する方法を学びます。Amazon RDS Proxy を使用してデータベースへの接続をプールおよび共有する方法と、構成を選択する方法を示します。この投稿のコード例は PHP で記述されており、この GitHubリポジトリにあります。なお、この概念自体は、AWS Lambda でサポートされている他のランタイム言語にも適用できますので、PHP に限定しない内容としてお読みいただけます。 サーバーレス LAMP スタック このサーバーレス LAMP スタックアーキテクチャについては、この記事で説明しています。このアーキテクチャでは、PHP Lambda 関数を使用して、Amazon Aurora MySQL データベースの読み取りと書き込みを行います。 Amazon Aurora は、MySQL および PostgreSQL データベースに高いパフォーマンスと可用性を提供します。基盤となるストレージは、最大64 テビバイト(TiB)まで需要に応じて自動的に拡張されます。 Amazon Aurora DB […]

Read More

新しいサーバーレス LAMP スタック – Part 1: 概要紹介

本投稿は AWS サーバーレス アプリケーションのシニアデベロッパーアドボケートである Benjamin Smith による寄稿です。 本シリーズの他のパートは以下のリンクからアクセスできます。また、関連するサンプルコードはこちらの GitHub リポジトリにあります。 パート2:リレーショナルデータベース パート3:Webサーバーの置き換え パート4:サーバーレス Laravel アプリの構築 パート5:CDK コンストラクトライブラリ パート6:MVC からサーバーレスマイクロサービスへ これは、PHP 開発者向けの投稿シリーズの第一弾です。このシリーズでは、PHP でサーバーレステクノロジーを使用する方法を説明します。サーバーレスアプリケーションを構築するために利用できるツール、フレームワーク、戦略や、なぜ今始めるべきかについて説明します。 今後の投稿では、Laravel や Symfony などの PHP フレームワークとともに構築された Web アプリケーションに AWS Lambdaを使用する方法を示します。Lambda を Web ホスティング機能の代替として使用することから、分離されたイベント駆動型のアプローチに移行する方法を示します。最小限のスコープの複数の Lambda 関数を他のサーバーレスサービスと組み合わせて、パフォーマンスの高いスケーラブルなマイクロサービスを作成する方法について説明します。 まずは、カスタムランタイム API を使用して Lambda で PHP を使用する方法を学びます。サンプルコードについては、この GitHubリポジトリにアクセスしてください。 サーバーレスLAMPスタック 従来の PHP アプリケーションの課題 スケーラビリティは、従来の LAMP スタックの伝統的な課題です。スケーラブルなアプリケーションとは、非常に多様なレベルのトラフィックを処理できるアプリケーションです。PHP アプリケーションは、多くの場合、必要に応じて Web サーバーを追加することにより、水平方向にスケーリングされます。これは、リクエストをさまざまな […]

Read More

[AWS Black Belt Online Seminar] Amazon Redshift Advanced Guide −最新ベストプラクティスとアップデート 資料及び QA 公開

先日 (2020/07/29) 開催しました AWS Black Belt Online Seminar「Amazon Redshift Advanced Guide −最新ベストプラクティスとアップデート」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20200729 AWS Black Belt Online Seminar Amazon Redshift Advanced Guide −最新ベストプラクティスとアップデート from Amazon Web Services Japan AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. CTAS で、Parquet の外部テーブルを作成する際の質問です。利用イメージとして、データの全件洗替を上記でしたいのですが、S3 ファイルの上書きができないため、SQL 以外でS3ファイルを削除する必要がある認識です。Redsfhit で完結できないでしょうか。 A. データ全件洗い替えの方法はご認識いただいている通りとなります。現状 Redshift の CTAS での既存 S3 ファイルの上書きや、SQL 経由での S3 ファイルの削除をサポートしていないため、Redshift SQL のみでの完結は出来ません。 Q. Amazon DynamoDB […]

Read More

オンラインセミナー「RDS+Lambda が始まる。過去のアンチパターンはどう変わるのか」 資料および QA 公開

先日(2020/7/28)開催しましたオンラインセミナー
「 RDS+Lambda が始まる。過去のアンチパターンはどう変わるのか」
の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。

Read More

[AWS Black Belt Online Seminar] Amazon Neptune 資料及び QA 公開

先日 (2020/07/14) 開催しました AWS Black Belt Online Seminar「Amazon Neptune」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20200714 AWS Black Belt Online Seminar Amazon Neptune from Amazon Web Services Japan AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. 可視化について QuickSigt ではできませんか? A. 現在のところ QuickSight での可視化は直接行えませんので、本セミナーでご紹介した可視化ツールをご検討下さい。 Q. グラフ D Bのクエリ言語が ISO で標準化 (GQL) されたがこれまで Neptune は非対応だった。どうなる? A. Amazon Neptune は GQL には対応しておりません。 Q. Neptune は可視化がサードパーティー頼みだったが、以前より良いものが出てきていそうか? A. 可視化につきましては本セミナーでご紹介した可視化ツールをご検討下さい。 […]

Read More

ロールの連鎖を使用して、Amazon Redshift Spectrum 外部テーブルへのアクセスを Amazon Redshift IAM ユーザーとグループに制限する

 Amazon Redshift Spectrum では、Amazon Redshift クラスターから中央 AWS Glue メタストアを使用して、Amazon Simple Storage Service (Amazon S3) データレイクのデータをクエリすることができます。この機能により、ご使用中の Amazon Redshift データウェアハウスにおけるペタバイト規模のデータ保存制限がなくなり、エクサバイトのデータへの拡張を低予算でできるようになります。Amazon EMR と同様に、オープンデータ形式と低料金のストレージによるメリットを享受しながら、Redshift Spectrum ノードを数千に拡張し、データのプル、フィルタリング、投影、集約、グループ化、ソートなどが行えます。Redshift Spectrum はサーバーレスであり、プロビジョニングや管理が不要な点で、Amazon Athena と同じです。お支払いは、1 TB のデータスキャンごとに 5 USD のみです。今回の記事では、ロールの連鎖を使用したきめの細いアクセス制御を有効化し、ユーザーの要求に忠実なアクセス管理を実現するための、Amazon Redshift でのセキュリティ設定方法をご説明していきます。 RedShift Spectrum を使用して Amazon Redshift と Amazon S3 のデータレイクを統合する、レイクハウスアプローチの使用を開始する際、クラスターにある異なる外部スキーマにアクセス権を付与するためには一定以上の柔軟性が必要です。たとえば、ここでは次のようなユースケースを考えます。2 つの Redshift Spectrum スキーマ(SA および SB)が、(それぞれに、A と B という)2 つのデータベースに対し AWS Glue […]

Read More

Woot がお買い得品を拡大するために Amazon DocumentDB (MongoDB 互換) を使用する方法

 Woot! は 2004 年に設立され、2010 年にアマゾンが買収した元祖デイリーディールサイトです。Woot は当初、毎日 1 つの製品を売り切れるまで販売していましたが、現在は 7 つのカテゴリーでその日のお買い得品とその他期間限定オファーを提供しています。私のチームは Woot でリテールカタログサービスを担当しており、これは Woot のさまざまなフロントエンドサービスとユーザーインターフェイスにお買い得品を提供します。Woot が年々成長する中で私たちが直面した問題の多くは、スケーリング限界に達した古いレガシーシステムに起因するものでした。 この記事では、Woot でご覧いただける製品カタログとお買い得品の原動力となるセルフホスト型の MongoDB データベースを Amazon DocumentDB (MongoDB 互換) にどのように移行したかについて説明していきます。また、コストを削減しながらパフォーマンス、スケーリング、および俊敏性を向上させる上で Amazon DocumentDB がどのように役立ったかについても説明します。 アプリケーションアーキテクチャ Woot のリテールカタログサービスは Amazon DocumentDB をそのプライマリデータベースとして使用しています。Amazon DocumentDB 内では、データがアイテム (Woot が販売する製品)、オファー (時間と数量によって制限される販売対象アイテム)、およびイベント (お客様に売り出されるオファーのグループ) のコレクションに分類されます。私たちのバックエンドシステムは、主に C#/.Net (レガシー .Net Framework Windows サービスとサーバーレス .Net Core マイクロサービススタックの組み合わせ) を使用します。現在、Windows IIS API が Amazon […]

Read More