コンテキスト
PJが遅延遅延
テコ入れで人投入して、そいつらに手で作ってもらうことに
が、n環境あってIaCは必須なので、コード化はする
元々の担当である🐰が頑張る
---
戦略
importで取り込み、コードを書いて、planして差分を潰していく
ただし、
リアルワールド側が作り直されてる場合、terraform 側は will be created になるので、いったん state rm で状態から消す
コード書くところ端折りたいなら、former2など「既存環境からコードつくってくれる」ツールを使うのもアリ
see
terraform importお試し
terraformで指定リソースを状態から削除する_state_rm_remove
cloud9でformer2を使う
知見1: コミュニケーション難しい問題と忍耐
そいつらが実装重視、ワンパス重視でテキトーにつくっている
一方、🐰はterraformに翻訳して書く(技術的負債を押さえるネーミング含む)必要がある
が、ネーミングの付け方下手くそで「🐰が想定してる仕組みに落とせない」問題が出てきた……
どうするか?
案1 相談して気をつけてもらう
案2 頑張って吸収する
案3 無理そうなので諦める
今回は案3
1はまあ通じない
2は俺側に時間と余裕がない、あと今回は「そんな仕組みは背伸びしてもない」
というわけで3
ただし、そうだとわかるよう該当箇所はちゃんとコメント
🐰
イライラしてはいけない
完璧主義もいけない
淡々と状況判断して、やむをえない選択肢を選んで、淡々とすればいい
コメント残しておけば後で分かる(これのおかげで完璧主義も少し和らぐだろ?)
知見2: 作り直し(must be replace)が起きることがある
まだよーわかってねんだけど、少なくとも以下で起きると思ってる🐰
cloudfront distribution の origin
cloudfront の public_key
ecs service の task definition(常に最新リビジョン使う or 指定リビジョン固定しかできない)
ecs task の container_definition
why?
内部的にAWSSDK使ってて、そっちで「この値変えた場合は作り直しにするしかない」的な制約があるのでは?🐰
CFnのドキュメントであったはず
AWS::CloudFront::PublicKey PublicKeyConfig - AWS CloudFormation
AWS::CloudFront::Distribution Origin - AWS CloudFormation
だけどどっちも no interruption だけどなー……🐰🐰
AWS CloudFormationのNo InterruptionとかReplacementとか
CFnとawssdkは違うってことか?
わからないよー
---
Links From <- tilscb
Links To -> terraform_importお試し terraformで指定リソースを状態から削除する_state_rm_remove cloud9でformer2を使う AWS_CloudFormationのNo_InterruptionとかReplacementとか