Amazon Web Services ブログ

Category: Amazon RDS

サーバーレス LAMP スタック – Part 5: CDK コンストラクトライブラリ

本投稿は AWS サーバーレス アプリケーションのシニアデベロッパーアドボケートである Benjamin Smith による寄稿です。 本シリーズの他のパートは以下のリンクからアクセスできます。また、関連するサンプルコードはこちらの GitHub リポジトリにあります。 パート1:サーバーレス LAMP スタックの紹介 パート2:リレーショナルデータベース パート3:Webサーバーの置き換え パート4:サーバーレス Laravel アプリの構築 パート6:MVC からサーバーレスマイクロサービスへ この投稿では、サーバーレス LAMP スタック用の新しい CDK コンストラクトライブラリが、開発者によるサーバーレス PHP アプリケーションの構築にどのように役立つかを学びます。 AWSクラウド開発キット(AWS CDK)は、クラウドアプリケーションリソースをコードで定義するためのオープンソースソフトウェア開発フレームワークです。開発者は、TypeScript、Python、C#、Javaなどの使い慣れたプログラミング言語でインフラストラクチャを定義できます。開発者は、インターフェイス、ジェネリクス、継承、メソッドアクセス修飾子など、言語が提供する機能を利用できます。AWS Construct ライブラリは、CDK アプリケーションで AWS リソースを定義するための API を公開するモジュールの広範なセットを提供します。 「サーバーレス LAMP スタック」ブログシリーズでは、ベストプラクティス、コード例、多くのサーバーレスコンセプトの詳細を紹介し、これらが PHP アプリケーションにどのように適用されるかを示しています。また、PHP 開発者のインスピレーションを刺激するのに役立つ、コミュニティからの貴重な貢献に焦点を当てています。 このサーバーレス LAMP スタックの各コンポーネントについては、一連のブログ記事で詳しく説明しています。 パート1:サーバーレス LAMP スタックの紹介 パート2:リレーショナルデータベース パート3:Webサーバーの置き換え パート4:サーバーレス Laravel アプリの構築 サーバーレス LAMP […]

Read More

サーバーレス 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

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

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

Read More

Amazon RDS for PostgreSQL 環境の自動バキュームを理解する

 PostgreSQL は、多くのエンタープライズデベロッパーや新興企業に推奨されるオープンソースリレーショナルデータベースになり、主要なビジネスアプリケーションやモバイルアプリケーションを強化しています。アマゾン ウェブ サービス (AWS) は、完全マネージド型のリレーショナルデータベースサービスとして、Amazon Relational Database Service (Amazon RDS) および Amazon Aurora を提供しています。Amazon RDS for PostgreSQL により、クラウドで PostgreSQL デプロイを簡単にセットアップ、操作、スケーリングできます。コマンドをいくつか使用するだけで、本稼働データベースのインスタンスを AWS で起動して実行することができます。オンラインデータベースを使用すれば、データベース管理者 は多くのメンテナンスタスクや管理タスクから解放されます。ただし、VACUUM など、データベースの使用状況に基づいて綿密なモニタリングと変更を必要とするメンテナンスタスクがあります。自動バキュームは、バキュームの操作を自動化するプロセスです。 この記事では、自動バキュームプロセスとその重要性について説明します。また、パフォーマンスを向上させるための自動バキューム設定を調整することと、オフにすることの欠点についても説明します。 PostgreSQL の MVCC PostgreSQL は多版型同時実行制御 (MVCC) を使用して、データの変更を実行するときに行を複数のバージョンで維持しています。テーブルに対する UPDATE および DELETE 操作中、データベースは古いバージョンの行を保持します。これは、他の実行中のトランザクションがデータのビューに一貫性を持たせることを要求する場合があるためです。PostgreSQL では、データベースを変更するすべてのステートメントが、xid と呼ばれるトランザクション ID を生成します。行のステータスは、xmin と xmax という 2 つの非表示列の xid を用いて追跡します。 1 つの列を持つテーブル test を考えてみましょう。行を挿入するには、次のコードを参照してください。 postgres=# CREATE […]

Read More

Amazon RDS Proxy を使用したアプリケーションの可用性の向上

Amazon RDS Proxy の利点の 1 つは、データベースのフェイルオーバー後のアプリケーションにかかる復旧時間を改善できることです。RDS Proxy は MySQL と PostgreSQL エンジンの両方をサポートしていますが、この記事では、MySQL テストワークロードを使用して、RDS Proxy がフェイルオーバー後のクライアントリカバリ時間を Amazon Aurora MySQL で最大 79%、Amazon RDS for MySQL で最大 32% 削減する方法を示します。この記事では、RDS Proxy がクライアントをリーダー/ライターの移行問題から隔離し、次善のクライアント設定を克服する方法についても説明しています。アクティブ接続監視による計画的フェイルオーバーと計画外フェイルオーバー、およびフェイルオーバーを通じてアイドル接続を維持することによるクライアント接続プールの RDS Proxy の利点について説明します。最後に、この記事では、おすすめのクライアント構成をいくつか紹介します。 背景 RDS Proxy は、Amazon RDS for MySQL/PostgreSQL および Aurora MySQL/PostgreSQL データベースに向かって進むことができます。これにより、データベースへのアプリケーションへのアクセスを管理でき、接続プーリング、多重化、適切なフェイルオーバーを提供します。データベース接続の制限を超えてスケーリングし、接続のバーストとアプリケーションからのリクエストを管理できます。この記事では、RDS Proxy フェイルオーバーのメリットに焦点を当てています。 フェイルオーバーは、プライマリデータベースインスタンスにアクセスできなくなり、別のインスタンスが新しいプライマリとして引き継がれるときに発生します。これにより、クライアント接続が中断されます。ローリングアップグレードなどの管理アクションによって引き起こされた場合は計画的フェイルオーバー、障害が原因で発生した場合は計画外フェイルオーバーになります。どちらの場合も、クライアントの中断を最小限に抑えるためにダウンタイムを取り除くする必要があります。 Amazon RDS には複数の高可用性オプションがあり、RDS Proxy は各オプションにフェイルオーバー復旧の利点を提供します。Amazon RDS マルチ AZ オプションは、同期レプリケーションを備えたプライマリ構成およびスタンバイ構成です。Aurora は、最大 […]

Read More

Amazon RDS for Oracle バージョン 12.2.0.1と11.2.0.4のサポート終了のお知らせ

本投稿は、こちらのフォーラムに投稿された Amazon RDS for Oracle をご利用中のお客様向けアナウンスメントの参考和訳です。 本投稿では、Amazon RDS for Oracle Database 12.2.0.1と11.2.0.4と廃止計画とタイムラインを取り上げています。 Oracle Database 12.2.0.1 廃止計画とタイムライン 2020年4月15日、Oracle 社はサポートを契約しているお客様に対してOracle Database 12.2.0.1のLimited Error Correction (限定的なエラー修正) を2022年3月31日まで追加料金なしで提供すると発表しました[1]。Oracle Database 12.2.0.1のこの新しいサポート・タイムラインに基づき、Amazon RDS for Oracle では、全エディションのlicense-included(LI) とBring-your-own-license(BYOL) でこのバージョンを2022年3月31日までサポートする予定です。Oracle Database 12.2.0.1のLimited Error Correction の期間中、Amazon RDS for Oracle は、Oracle の四半期ごとのリリース・アップデート(RU)に基づいた新しいリリースを提供する予定です。 Extended Support のバージョンでは、BYOL のお客様は、Oracle Support から購入したサポート契約を締結するか、サポート対象バージョンにアップグレードする必要がありますのでご注意ください。BYOL のお客様のライセンスおよびサポート要件の詳細については、Amazon RDS for Oracle のよくある質問 [3]を参照してください。 Oracle […]

Read More