🖇️

CloudFormationで入力が面倒なS3URLを自動入力してくれるリンクの作り方

2022/07/26に公開

とあるワークショップ[1]を実施しているとき、以下のような画面がありました。

1

このLaunch Stackボタンを押すと…

2

CloudFormationのマネジメントコンソールで、S3URLが入力された状態で飛ばしてくれます。

書籍などでハンズオンを実施しているとき、筆者が用意したS3に配置してあるテンプレートを指定することがよくあるのですが、手入力が結構煩わしいです。

たとえば個人でハンズオンの勉強会をするときなんかも、先ほどのようなボタンがあれば入力ミスやコピーミスを防ぐことが出来ます。

スライドにリンクを置いてあげれば良いわけですね。
そこで、先ほどのボタンを再現できるか調べてみることにしました。

リンクを調べる

先ほどのボタンのリンクは以下のようになっています。

https://console.aws.amazon.com/cloudformation/home?#/stacks/new
?stackName=DataEngLab
&templateURL=https://awspsa-redshift-lab.s3.amazonaws.com/cfn-templates-redshift-lab/redshift-dataeng-python3.yml

URL: https://console.aws.amazon.com/cloudformation/home?#/stacks/new
パラメータ:
stackName=DataEngLab
templateURL=https://awspsa-redshift-lab.s3.amazonaws.com/cfn-templates-redshift-lab/redshift-dataeng-python3.yml

URLは ?#/stacks/new まで付けることで、スタックの新規作成ページまで飛ぶことができます。

パラメータは一見して分かりますね。かなり単純にリンクを作ることが出来そう。

スライドにリンクを貼ってみる

マークダウンでスライドを書けるMarp[2]というサービスを普段使いしているので、そちらで試してみます。

マークダウン的には以下の記載になります。
(URLのバケット名に使用できない記号を使用して、絶対に存在しないものを入れています。)

# [Launch!!!](https://console.aws.amazon.com/cloudformation/home?#/stacks/new?stackName=VPCHandson&templateURL=https://c304b4ae-2502-3c04-8525-handson-vpc@@.s3.amazonaws.com/cfn-templates-handson-vpc/handson-vpc.yml)

こんな感じのスライドが出来上がりまして。
スライド

「Launch!!!」をクリックします。
成功した結果

ちゃんと入力されてます!!

リンクこちらにも貼ってみるので、AWSアカウントにログイン後試してみてください。
https://console.aws.amazon.com/cloudformation/home?#/stacks/new?stackName=VPCHandson&templateURL=https://c304b4ae-2502-3c04-8525-handson-vpc@@.s3.amazonaws.com/cfn-templates-handson-vpc/handson-vpc.yml

感想

自家製のハンズオンで、CloudFormationのテンプレートを配布するときにちょっと便利な方法でした。

まあ、正直使う機会はあまり無いでしょう。
ワークショップで少し感動したので、記事にしてみました。

脚注
  1. https://redshift-analytics.workshop.aws/launch/cfn.html ↩︎

  2. https://marp.app/ ↩︎

Discussion