terraform備忘録
今更ながらterraformを始めたので備忘録
cdkを少しかじっていたので、cdkとの対比みたいな感じで書いていく
まずは入門サイトでいろいろ調べてinstallとかsampleとか
terraformとは?、と誰に聞いても「明示的」くらいしか返ってこなかったが触ってみて理解
cdkは作りたいものに対し不足するリソースや設定を勝手に作ってくれる
cloudwatch、実行role、lambda...
がterraformはそれがない、良くも悪くもない
cdkでecsクラスタを作った時はvpcが必要で、よくわからんけどベストプラクティスみたいな書き方にしたがった
そしたらnat-gatewayがもれなくついてきて結構請求された
いうて知らん人間(当時の自分含む)から見たら確かにデフォルトありだよな
なんか外部と通信できないんですけど!ってことになる
一方terraformはそんな親切はないのでなんか外部と通信できなくなると思う
awsの構成を把握してる人向け的な
お試しで作りたいときはcdkで、運用に向けて詰めるときにterraform
みたいな感じで使い分けると便利そう
でapi-gatewayにしても似た感じで、cdkで作ったものに寄せていく
書いてて明示的って言いたくなるのもなんとなく感じた
引っかかったのが3点
・PowerUserでもiam作成権限とかないのでちょくちょく引っかかる
請求系にちょっかい出せないけどiam操作できるterraform向け権限ないかな
・aws_api_gateway_integrationのintegration_http_methodは内部用らしい
type = AWS_PROXYの場合はPOST固定とのこと
ガバガバapiなのでここもANYにしてたらコンソールのテストで内部が403だった
・コンソールからデプロイ忘れずに
terraformでもコマンドあるかもしれないが
名前はv1とかでいいっしょ