はじめに
座学では知っている物の、実体験をもってCloudFormationのテンプレ化をしてこなかったので、既存リソースをテンプレート化する所までを、「やってみた!」系のメモ書き(第2回)です。
TerraformとTerraformerのセットアップについては、前回の記事を参照ください。
初期化の実行
実行カレントに、main.tf(スクショの実行環境では、Work直下にmain.tfを保存)を置いて、コマンドを実行する。
terraform init
公式ドキュメント
対象としたいリソースは、この辺りです。
ポリシー用意
API Gateway用の読み取り専用ポリシー
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"apigateway:Get*"
],
"Resource": "*"
}
]
}
AppSync用の読み取り専用ポリシー
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"appsync:List*",
"appsync:Get*",
"appsync:EvaluateCode",
"appsync:EvaluateMappingTemplate"
],
"Resource": "*"
}
]
}
エクスポート
API Gateway用のエクスポートコマンド
terraformer import aws --resources=api_gateway --regions=ap-northeast-1
AppSync用のエクスポートコマンド
terraformer import aws --resources=appsync --regions=ap-northeast-1
配下に
- generated - aws - api_gateway
- generated - aws - appsync
のフォルダ階層が作成されて、各種 tfファイルが出力されました。
まとめ
出力したTFファイルを確認してみたところ、API Gatewayの方は設定している大部分の情報を出力できているようです。
対して、AppSyncは、出力内容が、まだまだ足りないな、、、という感じでした。(今後のバージョンアップに期待)
AWSの相談・お困りごとありましたら、、、
AWSの活用方法や、お困りごとの相談、随時、お仕事の受付しております。