AWS Lambda がアベイラビリティーゾーンのメタデータのサポートを開始
AWS Lambda は、Lambda 実行環境の新しいメタデータエンドポイントを通じてアベイラビリティーゾーン (AZ) メタデータを提供するようになりました。この機能により、開発者は Lambda 関数が実行されている AZ の AZ ID (use1-az1 など) を特定できるため、AZ 間のレイテンシーを減らすためにダウンストリームサービスで同じ AZ エンドポイントを優先するなど、AZ 対応のルーティング決定を行う関数を構築できます。 この機能により、オペレーターは AZ 固有のフォールトインジェクションテストなどの AZ 対応のレジリエンスパターンを実装することもできます。
Lambda は、AWS リージョン内の複数の AZ で関数呼び出しを処理できる実行環境を自動的にプロビジョニングして維持します。これにより、お客様に追加の設定や管理上のオーバーヘッドが発生することなく、高可用性と耐障害性を実現できます。 開発チームがサーバーレスアプリケーションをスケールするにつれて、開発チームが構築する関数で、多くの場合、各 AZ に固有のエンドポイントを提供する Amazon ElastiCache や Amazon RDS などの他の AWS サービスと連携する必要が生じます。 これまで、Lambda は関数がどの AZ で実行されているかを判断する方法を提供していませんでした。新しいメタデータエンドポイントにより、関数は簡単な HTTP リクエストで AZ ID を取得できるようになり、カスタムソリューションを構築して保守しなくても AZ 対応ロジックを簡単に実装できるようになりました。
開始するには、 Powertools for AWS Lambda メタデータユーティリティを使用するか、Lambda が実行環境で自動的に設定する環境変数を使用してメタデータエンドポイントを直接呼び出します。この機能は、カスタムランタイムやコンテナイメージとしてパッケージ化された関数を含む、すべての Lambda ランタイムでサポートされ、関数が VPC 対応かどうかに関係なく、SnapStart やプロビジョニングされた同時実行などの Lambda 機能とシームレスに統合されます。
AZ メタデータのサポートは、Lambda が利用可能なすべての商用 AWS リージョンで追加料金なしで利用できます。 詳細については、Lambda のドキュメントをご覧ください。