CloudFormationのStackSetsを使って複数アカウント・複数リージョンにデプロイする

こんにちは、櫻井です。

 

この記事はCloudFormation(以下CFn)を使ってIaCを始めてみたい、マルチアカウントへのデプロイを効率化したい、手作業でのデプロイによるトラブルの回避をしたい。などを考えている方向けの記事です。

 

CFnのStackSetsを使ったデプロイをするための準備として、管理者アカウント(CFnのStackSetsを実行する側)の設定とターゲットアカウント(デプロイしたいアカウント)の設定があるので、順を追って説明していきます。

 

今回触れること、触れないこと

 

触れること

  • StackSetsを使うための準備
  • StackSetsを実行する方法

 

触れないこと

  • StackSetsでデプロイするオブジェクトの詳細(後日紹介予定です)
  • StackSetsの概念

詳しいStackSetsの概念について知りたい方は、公式ドキュメントを参考にしてみてください。

 

 

StackSetsを使うための準備

 

マルチアカウント・マルチリージョンにデプロイするためには、信頼関係、実行権限などのロールを作る必要があるので、まずはそこから作成していきます

 

ロールを作成するためのCFnテンプレートを作成する(管理者側)

 

CFnを使って、管理者アカウントがターゲットアカウントに対してデプロイするために必要な信頼関係、実行権限を持つロールを作成していきます。

 

お好みのエディタを使って以下のテンプレートを作成してください。

 

※今回はYAMLで記述していますが、JSONで記述することも可能です。

 

作成したテンプレートからロールを作成する(管理者側)

 

テンプレートの作成が出来たら、マネジメントコンソールからスタックを作成していきます。

今回説明をしていない点についてはデフォルトで作成しています。

 

 

  • CFn → スタックを選択し、「新しいリソースを使用」を選択する

 

 

 

  • テンプレートの準備完了を選択し、先程作成したテンプレートを選択する

 

 

 

数十秒ほど待ち、更新をして以下のようになっていればOK

 

 

これでターゲットアカウントに対しての信頼関係と、実行権限を持つロールを管理者アカウントに作成することが出来たと思うので、確認してみます。

 

  • 作成したスタックの名前を選択します。

 

 

 

  • リソースタブに移動し、物理IDを選択してください。

 

 

 

  • CFnのテンプレートから作成したロールが確認できればOK

 

 

 

 

StackSetsのデプロイを受け入れるためのロールを作成する(ターゲット側)

ターゲットアカウントでの作業になるので、管理者アカウントからサインアウトし、ターゲットアカウントでサインインしておいてください。

 

以下のテンプレートを先程と同様の手順で作成してください。

 

先ほどと同様の結果が得られていればOKです。

 

これでStackSetsを使うための準備が整ったので、次は実際にマルチアカウント・マルチリージョンへのデプロイをしていきます。

 

 

StackSetsを実行する

 

再度管理者アカウントでの作業になるので、ターゲットアカウントからサインアウトし、管理者アカウントでサインインしておいてください。

 

こちらも先程と同様に、触れていない点についてはデフォルトで作成しています。

 

 

  • CFn → StackSetsを選択し作成を選択

 

 

 

  • 先程作成したロールを選択する

 

 

 

  • 配布したいテンプレートを選択する

 

 

  • 配布したいアカウントのIDを入力する

 

 

 

  • リージョンを選択する

 

 

 

  • 設定項目を確認して作成する

 

 

 

  • 作成が確認できたら、ターゲットアカウントにログインし、作成がされていることを確認する。

 

 

無事マルチアカウント・マルチリージョンに対してデプロイする事ができました。

 

まとめ

 

今回はCloudFormationを使った複数アカウント、複数リージョンに対するデプロイ方法についての紹介をさせていただきました。

 

インフラをコード化しておくことでのメリットは非常に多いので、ぜひCloudFormationを使ってみてください。

 

 

一緒に働く仲間を募集中!

ギークフィードではAWSエンジニアを募集しています。

興味がある方はこちらからエントリーをしてぜひ一緒に働きましょう!

AWS・開発エンジニア募集

この記事が気に入ったら
いいね ! しよう

Twitter で
The following two tabs change content below.
櫻井
櫻井
2022年3月にギークフィードに入社。 エンジニア完全未経験からSAP・SAAを三週間で取得することが出来ました。そのためAWSに関することを中心に記事を作成する予定です。 自分が初心者だからこそわかる、エンジニア未経験の方や、エンジニアを始めたばかりの方の躓きポイントをうまく説明できるように頑張ります。

【採用情報】一緒に働く仲間を募集しています

採用情報
ページトップへ