3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IaCジェネレータを使って既存スタックをCDKで管理する

Last updated at Posted at 2024-03-29

はじめに

マネコンで試しに作ったリソースをCDKで管理しようとしたところ、最近IaCジェネレータというものリリースしていたので使ってみました。

IaCジェネレータ

IaCジェネレータはAWSのマネージコンソールから操作できます。

スクリーンショット 2024-03-29 20.06.17.png

あとは任意のリソースを選択していくだけで、既存リソースのテンプレートが作成されます。

IaCジェネレータの罠

特に何も調べずCDK用のコマンドがあったので、これをローカルで試そうと思ったんですがうまくいきませんでした。
最初は設定ファイルとかが違うのかと思ったんですが、どうやらこのコマンドはクラウドの既存リソースを参照してCDK管理下に置くものではなかったようです。

スクリーンショット 2024-03-29 20.30.56.png

cdk importとcdk migrateについて

cdk importは既存リソースをCDKのStackにインポートする機能で、
cdk migrateは既存のcloud formationテンプレートをCDKプロジェクトに変換する機能です。

つまり、IaCジェネレータで提案されたcdk migrateを行ってもcloud formationがないので想定通り動かず、やりたいことをやるにcdk importをする必要があったわけです。

IaCジェネレータを使ってCDKするには?

1. IaCジェネレータでリソースを選んだあと、テンプレートから「スタックにインポート」をしてcloud formationのスタックを作成します。

スクリーンショット 2024-03-29 20.46.05.png

2. 該当スタックを指定してcdk migrateを行う。

Stack-XXXXに作られたスタック名を指定して以下のコマンドを実行すると、ローカルに適切なCDK プロジェクトファイルが作られます。
cdk migrate --stack-name Stack-XXXX --language typescript --from-stack

あとはcdk deployすればよく、それ以降の変化をコード上で行うだけです。

まとめ

IaCジェネレータを使うことで今までは簡単にCDKに移行することはできたと思います。
IaCジェネレータで試したのは一部のリソースのみで、VPCなども絡めた多くのリソースに対して同様のことを行うのも大変そうだったので、今後試してみたいと思います。

参照

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?