投稿日: Mar 22, 2023

本日、AWS CloudFormation では、「AWS:: LanguageExtensions」と呼ばれる言語変換が利用できるリージョンをアジアパシフィック (ハイデラバード)、アジアパシフィック (メルボルン)、欧州 (スペイン)、欧州 (チューリッヒ)、中東 (UAE) に拡大しました。テンプレートで宣言すると、この言語変換によって AWS CloudFormation のテンプレート言語の拡張が可能になります。言語拡張機能の変換により、CloudFormation JSON/YAML のベーステンプレート言語の機能が拡張されます。

今回のリリースによって、長さ (Fn::Length) と JSON 文字列変換 (Fn::ToJsonString) の組み込み関数、および更新ポリシーや削除ポリシーにおける組み込み関数と擬似パラメータ参照のサポートを新たに 5 つのリージョンで利用できるようになりました。テンプレートで組み込み関数を使用して、実行時まで使用できないプロパティにプロパティ値を割り当てます。例えば、組み込み関数 [Fn::ToJsonString] を使用して、オブジェクトまたは配列を、対応する JSON 文字列に変換できます。詳細なユースケースについては、言語拡張機能の変換に関する AWS ブログ記事をご覧ください。

さらに、言語拡張機能の変換では、Fn:: FindInMap のデフォルトパラメータ値と追加の組み込み関数がサポートされます。これらの機能を使用すれば、CloudFormation テンプレートのサイズが最小限に抑えられ、読みやすさが向上します。例えば、Fn:: Select や Fn:: Split などの組み込み関数を組み合わせて、特定のパラメータから文字列を動的に抽出して返すことができます。この返された文字列値を Fn:: FindInMap 内で使用して、目的の Mappings セクションにマッピングできます。複数の条件を宣言する代わりに、より少ない行数のコードでマッピングロジックへの入力を自動化できます。Fn:: FindInMap 拡張の他の例については、ユーザーガイドをご覧ください。

言語拡張機能の変換の詳細については、CloudFormation のドキュメントをご覧ください。