-
タグ
タグ
- セキュリティ
- 人材開発・教育
- システム開発
- アプリ開発
- モバイルアプリ
- DX
- AI
- サイバー攻撃
- サイバー犯罪
- 標的型攻撃
- 脆弱性
- 働き方改革
- 企業市民活動
- 攻撃者グループ
- JSOC
- JSOC INSIGHT
- サイバー救急センター
- サイバー救急センターレポート
- LAC Security Insight
- セキュリティ診断レポート
- サイバー・グリッド・ジャパン
- CYBER GRID JOURNAL
- CYBER GRID VIEW
- ラックセキュリティアカデミー
- すごうで
- ランサムウェア
- ゼロトラスト
- ASM
- EDR
- SASE
- デジタルアイデンティティ
- インシデントレスポンス
- 情シス向け
- 対談
- CIS Controls
- Tech Crawling
- クラウド
- クラウドインテグレーション
- データベース
- アジャイル開発
- DevSecOps
- OWASP
- CTF
- FalconNest
- セキュリティ診断
- IoT
- EC
- サプライチェーンリスク
- スレットインテリジェンス
- テレワーク
- リモートデスクトップ
- アーキテクト
- プラス・セキュリティ人材
- 障がい者採用
- 官民学・業界連携
- カスタマーストーリー
- 白浜シンポジウム
- CODE BLUE
- 情報モラル
- クラブ活動
- 初心者向け
- 趣味
- カルチャー
- 子育て、生活
- 広報・マーケティング
- コーポレート
- ライター紹介
- IR
AIエンジニアリンググループの久冨です。
前回の記事では、Amazon Bedrockサービスの概要とその利用方法について紹介しました。基本的な機能や特徴、セットアップ手順を押さえていただけたかと思います。
今回のテーマは、Amazon Bedrockを活用したWebアプリケーションのセキュアな構成です。生成AIを安全にアプリケーションへ統合するためには、単にモデルを利用するだけでなく、セキュアな環境を構築することが極めて重要です。
この記事では、AWS上に構築した生成AIチャットアプリケーションの構成を基に、具体的な構成例を用いて、安全なシステムの構築方法を詳しく解説します。AWS環境での生成AIの活用を検討されている方や、セキュリティを重視したシステム構築を学びたい方の参考になれば幸いです。
セキュアなシステム構成にするには
今回の構成を考えるにあたって、セキュアなシステムにするための主なポイントを紹介します。
セキュリティの基本ポイント
プライベートサブネットに構築
基本ですが、データベースをプライベートサブネット内に構築します。また、バックエンドアプリとデータベースの通信もプライベート通信で行われるようにします。
IAMロールの使用
アプリケーションから各AWSサービスとのアクセス権限は、アクセスキーではなくIAMロールで付与するようにします。これにより、アクセスキーの管理や漏えいのリスクを回避します。
AWS PrivateLinkの使用
前回の記事でも紹介しましたが、アプリケーションからAmazon Bedrockなど各AWSサービスとの通信をPrivateLink経由で行うようにします。通信がインターネット経由ではなくなるため、データ漏えいのリスクを抑えられます。
AWS WAFの使用
社内ネットワークからのみアクセスできるようにIP制限を行い、社員のみ利用できるようにします。
AWS Secrets Managerの使用
環境変数をAWS Secrets Managerで暗号化し保存することで、データ漏えいのリスクを抑えられます。
システム構成の詳細
今回作成したチャットアプリの構成は以下になります。
主なサービスについて紹介していきます。
AWS App Runner
アプリケーションをコンテナで動かしています。Amazon ECRにあるコンテナイメージから取得して動作します。フロントエンド用とバックエンド用で2つのApp Runnerを設定しています。
App RunnerにVPC Connectorの設定を行うことで、アウトバウンド通信をプライベートサブネット内から行うことが可能で、これによりデータベース等との通信をプライベートで行います。
また、WAFを設定し社内IPからのみアクセス許可しています。
Amazon Aurora PostgreSQL
チャット履歴などを保管するためのデータベースです。プライベートサブネットにデプロイしています。
AWS PrivateLink(VPC Endpoints)
主にアプリケーションから呼び出すAmazon BedrockやRAG用のKendra、ファイル保管用のS3に対して設定し、プライベート通信できるようにしています。
EC2
管理用のマシンとして構築して、インバウンド通信は社内ネットワークからのSSHのみ許可しています。管理者はSSH経由で接続し、ECRにコンテナイメージのアップロード等を行います。
開発時の注意ポイント
今回のようなAmazon Bedrockを活用したWebアプリケーションを開発する際、3つのポイントに注意する必要があります。
- NAT Gatewayの利用
- App Runnerの環境変数設定
- Amazon BedrockのPrivateLink設定
NAT Gatewayの利用
App RunnerでVPC Connectorを使用する場合、インターネット通信を行うには、NAT Gatewayを経由する設定が必要です。
App Runnerの環境変数設定
App Runnerの環境変数にはSecrets Managerの参照を指定することが可能です。以下のように参照用の書き方で指定する必要があります。
arn:aws:secretsmanager:{リージョン名}:{アカウントID}:secret:{シークレット名}:{シークレットキー}::
Amazon BedrockのPrivateLink設定
Amazon Bedrock関連のPrivateLinkはbedrockやbedrock-runtime等がありますが、モデルの実行はbedrock-runtimeなので、こちらを使用する必要があります。
また、別リージョンのAWSサービスのPrivateLinkを作成する場合、VPCピアリングなどの追加設定が必要です。特にAmazon Bedrockはリージョンによって使えるAIモデルが違うので、別リージョンのモデルを使用する場合はこの設定が不可欠です。
なお、当初はこの設定を行う予定でしたが、2024年8月に東京リージョンでClaude 3.5 Sonnetが利用可能になったため、今回の構成ではクロスリージョン設定は不要となりました。
実際の動作と画面紹介
こちらの構成で動かしたチャットアプリの実際の画面を紹介します。
このように「Amazon Bedrockとは何ですか?」という質問に対して、回答を返してくれています。
さいごに
今回の記事では、AWS上で構築した生成AIチャットアプリケーションの構成を紹介しました。既存のAWSサービスとAmazon Bedrockサービスを用いることで、AWS上にセキュアな生成AIアプリケーションを構築できます。
また、ラックでは社内向けにセキュアな生成AIチャットアプリの開発・導入支援を行っています。社内情報の漏えいなどの懸念がある場合でも安心して利用いただけるよう、万全のセキュリティ対策を提供しています。社内で生成AIチャットの導入を検討されている方は、ぜひお気軽にご相談ください。
プロフィール
久冨 峻介
Azure OpenAIを主軸とした生成AIアプリケーションの開発を行っています。また、クラウドサービス全般に関心を持ち、資格取得を通じて技術を磨いています。生成AIやクラウドサービスに関する情報発信を行っていきます。
タグ
- セキュリティ
- 人材開発・教育
- システム開発
- アプリ開発
- モバイルアプリ
- DX
- AI
- サイバー攻撃
- サイバー犯罪
- 標的型攻撃
- 脆弱性
- 働き方改革
- 企業市民活動
- 攻撃者グループ
- JSOC
- もっと見る +
- JSOC INSIGHT
- サイバー救急センター
- サイバー救急センターレポート
- LAC Security Insight
- セキュリティ診断レポート
- サイバー・グリッド・ジャパン
- CYBER GRID JOURNAL
- CYBER GRID VIEW
- ラックセキュリティアカデミー
- すごうで
- ランサムウェア
- ゼロトラスト
- ASM
- EDR
- SASE
- デジタルアイデンティティ
- インシデントレスポンス
- 情シス向け
- 対談
- CIS Controls
- Tech Crawling
- クラウド
- クラウドインテグレーション
- データベース
- アジャイル開発
- DevSecOps
- OWASP
- CTF
- FalconNest
- セキュリティ診断
- IoT
- EC
- サプライチェーンリスク
- スレットインテリジェンス
- テレワーク
- リモートデスクトップ
- アーキテクト
- プラス・セキュリティ人材
- 障がい者採用
- 官民学・業界連携
- カスタマーストーリー
- 白浜シンポジウム
- CODE BLUE
- 情報モラル
- クラブ活動
- 初心者向け
- 趣味
- カルチャー
- 子育て、生活
- 広報・マーケティング
- コーポレート
- ライター紹介
- IR