プライベートのAWSアカウントを一つ設定しなおしている。Terraform管理にしようかなと思って、せっかくなのでCursorに用意してもらうことにした。
まず新しいフォルダ作って、最初の設定をさせる。
AWSのリソースを管理するterraform を作成します。 バックエンドをS3のterraformstate-hogehoge/account.tfstateにします。 バックエンドとプロパイダのAWS Profileはaws-sso-adminにします。
で provider.tf
が生成される。
terraform init
して、続いて、
default vpcにS3のVPCエンドポイントを作ります
とすると、
こういう感じに vpc.tf
を生成してくれる。
みた感じ問題ない。planとapply通った。便利。
StepFunctions作ってくれ!!!
以下の内容のStepFunctions の workflow を作ります。名前を sf-s3-list にします。 - S3 バケットの一覧を取得し、結果をJSONで出力する 関連するリソースも作成してください。 リソースの種類ごとに tf ファイルを分割してください。
こういうことを依頼すると、
mkdir -p ./asl/
して、そこに aslファイルを作成し、ワークフローの定義とIAM Roleの作成までやってくれる。
aslの中身はこんな感じだった。
{ "Comment": "List S3 buckets workflow", "StartAt": "ListBuckets", "States": { "ListBuckets": { "Type": "Task", "Resource": "arn:aws:states:::aws-sdk:s3:listBuckets", "Parameters": { }, "End": true } } }
リソースとしてS3インテグレーションを使っていて、Lambdaとかが挟まってない!
一通り終わったらこんなふうにまとめコメントが入る。
最初は apply したら asl の定義がちょっと変だよ、と怒られたのだけど、修正しとけというと適当に修正してくれた。(上のコードは修正後)
とはいえ
ちょっと複雑なワークフローを要求すると書いてみて失敗して書いてみて失敗して...となってしまう。惜しい。
できなさそうな時に適当なことを書くのは生成AI一般の特徴という感じがする。