Upgrade to Pro — share decks privately, control downloads, hide ads and more …

目指せアーキテクチャマスター!#3

Avatar for Ayaka Ayaka
April 21, 2026

 目指せアーキテクチャマスター!#3

Avatar for Ayaka

Ayaka

April 21, 2026

More Decks by Ayaka

Other Decks in Technology

Transcript

  1. Japan Aws Jr.Champions って? AWS Partner Network (APN )参加企業に所属し、 社会人歴1

    ~3 年目でAWS を積極的に学び、自発的なアクションによって 周囲に影響を与えている若手エンジニアを選出する日本独⾃の認定プログラム 2025 Japan AWS Jr. Champions クライテリアと応募方法のお知らせ より引用
  2. SOLUTION#1 不具合1 CloudFront のOAC が正しく設定されておらず、S3 バケットへの アクセスが拒否されていた OACってなに? CloudFront からS3

    へのアクセス制御の仕組みです。 CloudFront 経由のリクエストだけS3 に届けることで、S3 バケットを非公開のまま安全 に公開できます。 CloudFront 側・S3 側の両方に設定されていないと403 エラーになります。 CloudFront :Origin にOAC をアタッチ S3 :バケットポリシーで CloudFront サービスプリンシパルからのGetObject を許可
  3. 不具合1 / 解決編 ③オリジンアクセスが「Public」になって いることを確認し、 「Origin access control settings (recommended)」に変更する

    ④すぐ下の「Create new OAC」をクリック 名前の.s3~以降は削除して「Create」をク リック
  4. BUG#2 不具合2 AI からの返答がない ヒント Error の内容は? 開発者ツール(F12 )の Console

    にはどのように 表示されている? エラーログはCloudWatch で確認できるかも?
  5. SOLUTION#2 不具合2 API Gateway でドメインを許可していなかったため、 ブラウザがCORS エラーを出してしまった CORSってなに? 異なるオリジン(ドメイン)間でのリソース共有をブラウザレベルで制御する仕組みで す。例えばフロントエンドがAPI

    を呼ぶとき、サーバー側が「このオリジンからのリク エストは許可する」と明示する必要があります。 フロントエンド(chat.example.com )⇔ API (api.example.com )
  6. BUG#3 不具合3 AI からの返答がない ver.2 ヒント Error の内容は? 開発者ツール(F12 )の

    Console にはどのように表 示されている? エラーログはCloudWatch で確認できるかも?
  7. SOLUTION#3 不具合3 Lambda がBedrock のモデルを呼び出す権限を持っていなかった 権限の設定 Lambda がAWS の他サービスを操作するための権限を付けてあげる必要があります。 Lambda

    └─ IAM ロール(許可証) └─ ポリシー(できること一覧) ├─ s3:PutObject (S3 に書き込める) ├─ dynamodb:GetItem (DB を読める) └─ logs:CreateLogGroup (ログを書ける)
  8. SOLUTION#4 不具合4 API のレスポンス転送モードをバッファード→ストリームに変更 なんでバッファードだとだめなの? Bedrock のInvokeModelWithResponseStream はストリーミング専用のAPI です。 バッファードモードのAPI

    Gateway はレスポンスを全部受け取ってからクライアントに 返す動作をします。ストリーミングレスポンスは終端が明確でないため、API Gateway が待ち続けてタイムアウトしたり、うまく処理できなかったりします。 ストリームモードに変えることで来たデータをそのまま流す動作になり、Bedrock のレ スポンスをそのままクライアントまで届けられるようになったのが理由です。