1
0

More than 1 year has passed since last update.

Cloudformationのパラメータの表示順を制御する

Posted at

はじめに

テンプレート作成の時には、パラメータを用途毎にまとめて書いているのにも関わらず、コンソールからスタック作成する時には、表示される順序がバラバラになっていてもやもやしている方必見です。

解決策

Metadataの「AWS::CloudFormation::Interface」を使用することで解決できます。

使い方

使い方は簡単です。
metadataセクションを宣言し、ParameterGroupsプロパティにリストでグループ毎に宣言するのみになります。
AWS公式ドキュメント:https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-interface.html

詳しく説明していきます。
  • 何も設定していない場合
AWSTemplateFormatVersion: "2010-09-09"

Parameters:
#りソース名などに使用する環境パラメータ
  SystemName:
    Type: String
  Environment:
    Type: String

#EC2に使用するパラメータ
  EC2ImageId:
    Description: Specifies the AMI ID for your instances.
    Type: String
    Default: ami-XXXXXXXX
  KeyPairName:
    Description: Name of key pair to use
    Type: AWS::EC2::KeyPair::KeyName

スクリーンショット 2023-06-28 20.23.39.png

このようにテンプレート上ではグループ毎に記述しているにも関わらず、コンソール上ではバラバラになってしまいます。
できるのであれば記述通りに表示されて欲しいものです。

  • Metadataを宣言した場合
AWSTemplateFormatVersion: "2010-09-09"

Parameters:
#りソース名などに使用する環境パラメータ
  SystemName:
    Type: String
  Environment:
    Type: String

#EC2に使用するパラメータ
  EC2ImageId:
    Description: Specifies the AMI ID for your instances.
    Type: String
    Default: ami-XXXXXXXX
  KeyPairName:
    Description: Name of key pair to use
    Type: AWS::EC2::KeyPair::KeyName

Metadata:
  AWS::CloudFormation::Interface:
    ParameterGroups:
      - Label:
          default: "Environment Configuration"
        Parameters:
          - SystemName
          - Environment
      - Label:
          default: "EC2 Configuration"
        Parameters:
          - EC2ImageId
          - KeyPairName

スクリーンショット 2023-06-28 20.24.19.png

ちゃんとMetadataに記述した通りに表示されました!
Labelを指定することで、パラメータのグループ名をつけることも可能です。

最後に

パラメータの順序を制御することでスタック作成時に見やすくなり、
ヒューマンエラーを予防することにもつながるので、コンソールからスタックを作成する場合は是非使っていきたい機能だと感じました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0