Open1

プロンプト入力したらAWSリソースまでデプロイしてくれるシステム

ひやんが / hiyangerひやんが / hiyanger

下記の派生として作成
https://zenn.dev/hiyanger/scraps/feed5feddfc01a

構成

S3(静的ウェブサイト)→ API Gateway → Lambda → Bedrock → GitHub → HCP Terraform

構築 / 開発

静的ウェブサイトホスティング(S3)

htmlで入力システムの作成
パブリック有効化して、バケポリでIPだけ許可

API Gateway

入力システムからLambdaへ受けわたし
ひっかかったエラーは下記で対処

  • CORSエラー→CORS有効化
  • bodyの受け渡し→Lambdaプロキシ統合を設定、データのキー名差異(html側でprompt、lambda側でinputになっていたのでpromptに変更)

※OPTIONSの統合レスポンス

※Webまわりうといので備忘メモ

  • REST API

REST API(Representational State Transfer API)は、インターネット上のシステムがデータをやり取りするための仕組み(API)の一つです。主にHTTPプロトコルを使って通信します。たとえば、Webアプリケーションやモバイルアプリがバックエンドとやり取りするときに使われます。

  • POST

リソースの作成: POSTメソッドは、サーバー上で新しいリソースを作成します。
リクエストボディの送信: クライアントはデータをリクエストボディに含めてサーバーに送信します。
サーバーのレスポンス: サーバーはリソースが作成された場所(URI)や作成結果をレスポンスとして返します。

  • OPTIONS

REST APIにおける OPTIONS メソッドは、リソースがサポートするHTTPメソッドや通信オプションをクライアントに通知するために使用されます。これは特に CORS(Cross-Origin Resource Sharing) の事前確認リクエスト(Preflight Request)としてよく利用されますが、それ以外にもAPI自体のメタ情報を提供するために使われることがあります。

  • CORS

異なるドメイン間でのリソース共有を制御する仕組みです。通常、Webブラウザはセキュリティ上の理由から、異なるドメイン間のリクエストを制限します。この制限を緩和するためにCORSが利用されます。

Lambda書き換え

入力をS3のアップロードからAPI Gatewayに変更。bodyのエラーに関しては上述の通り。

動作

入力(S3ホスティング)

GitHub

HCP Terraform(デプロイ)

ソースコード(仮おき)

https://github.com/hiyanger/prompt-to-terraform-cicd/tree/master