[アップデート] CloudFormation StackSetsでスタックを複数リージョンに”同時デプロイ”が可能に!【時短テク】
ちゃだいん(@chazuke4649)です。
CloudFormation StackSets でスタックを複数リージョンに同時デプロイ可能になりました!
何が嬉しいの?
シンプルに全リージョンへのデプロイがめちゃ早くなります。完了待ち時間の短縮です。
やってみた
実際にやってみます。
StackSets concepts - AWS CloudFormation
以下ブログで紹介している「Detectiveを全リージョン有効化」を、同時実行する/しないで試してみます。
詳細な手順は上記ブログがあるため割愛します。 テンプレートは上記より引用してます。
AWSTemplateFormatVersion: 2010-09-09 Description: "enable Detective" Resources: DetectiveGraph: Type: AWS::Detective::Graph
Detectiveがサポートされているリージョンが17リージョンだったので、今回は17リージョンを対象とします。
1.同時実行(Parallel)
コンソール画面で進めていき、 今回のアップデートである「同時並列実行」を指定する画面を見つけました。
リージョンの同時実行について、以下2つから選べるようになっています。
- 順次:リージョンのデプロイ順序を指定し、複数の StackSets オペレーションを同時に 1 つのリージョンにデプロイします。
- 並行:指定したすべてのリージョンに複数の StackSets オペレーションを並行してデプロイします。
並行を選択し、実行しました。
デプロイが終了し、ステータスは以下の通りとなりました。
Detectiveの全リージョン有効化、同時実行だと約2分30秒で完了しました。
2.順次実行(Sequential)
それでは、従来の順次実行も試してみます。 一度今作成したスタックを削除し、再度作成します。
1つ1つのリージョンを順番に行っていく方式で、実行します。
少し待って、ステータスを確認すると以下の通りでした。
Detectiveの全リージョン有効化、順次実行だと約6分10秒で完了しました。
同時実行の方が全然早いですね!
今回はそもそも時間のかからないデプロイでしたが、これがもし例えばRDSを含む構成だったら、時短効果をしっかりと享受できそうですね...
終わりに
StackSetsで全リージョンに適用する場合は、基本同時実行を選択するで良いのではないでしょうか?早いは正義。
それではこの辺で。ちゃだいん(@chazuke4649)でした。