CloudFormationで入力が面倒なS3URLを自動入力してくれるリンクの作り方
とあるワークショップ[1]を実施しているとき、以下のような画面がありました。
このLaunch Stackボタンを押すと…
↓
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のテンプレートを配布するときにちょっと便利な方法でした。
まあ、正直使う機会はあまり無いでしょう。
ワークショップで少し感動したので、記事にしてみました。
Discussion