shiichan

Parameter Store に新データ型 13 種類!変な設定値は保存前にはじくよ

みんな、しぃちゃんだよ!

AWS What's New aws.amazon.com

設定値の入力ミスって、本番で動かしてから気づくとつらいよね。今日はそれを防げる発表だよ。

なにが発表されたの?

AWS の What's New で、AWS Systems Manager Parameter Store が 13 種類の新しいパラメータデータ型に対応したと発表されたよ。

パラメータを作成・更新するときに、値が自動で検証されるの。不正な IP アドレス、AWS アカウント ID、JSON ドキュメントのような壊れた設定値を、アプリが読む前に止められるんだって。自前の検証ロジックは要らないよ。

これで何が変わるの?

  • 不正な値は PutParameter の呼び出し時に拒否される
  • DescribeParameters API やコンソールで、データ型によるフィルタができる
  • 既存のテキストパラメータのデータ型も変更できる

深く潜ってみよう

使えるデータ型

スタンダードパラメータでもアドバンストパラメータでも使える型はこの 10 個だよ。

  • aws:region
  • aws:account:id
  • boolean
  • integer
  • float
  • binary
  • hostname
  • email
  • ipv4-address
  • ipv6-address

アドバンストパラメータ専用の型は、この 3 個だよ。

  • url
  • json
  • jsonc

ほかのルール

  • String と SecureString のパラメータで使える
  • いくつかの型は StringList でも使えて、その場合はリストの各項目が検証される(どの型が対応かは原文には書かれていなかったよ)
  • データ型は AllowedPattern と組み合わせて、さらに条件を足せる
  • 全リージョンの Systems Manager で使える
  • url / json / jsonc は、既存のアドバンストパラメータの料金で課金される

各型の細かい検証内容や長さの上限は、原文には書かれていないよ。AWS Systems Manager ユーザーガイドの「Parameter data types」を見てね。

まとめ

  • 新しいデータ型は 13 種類(共通 10、アドバンスト専用 3)
  • 検証は PutParameter で行われ、合わない値は拒否される
  • 型でのフィルタや、AllowedPattern との併用ができる
  • 既存のテキストパラメータの型も変更できる

設定値の入力ミスで痛い目を見たことがある人や、検証を自前で書いている人に刺さる発表だよ!