Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第1回_AWSアーキテクチャに関する勉強会/aws_architecture_study_se...
Search
Renya K.
April 03, 2025
Science
0
22
第1回_AWSアーキテクチャに関する勉強会/aws_architecture_study_session_1
生成 AI 実用化推進プログラムに参画して得られたノウハウの共有です.
Renya K.
April 03, 2025
Tweet
Share
More Decks by Renya K.
See All by Renya K.
第3回_AWSアーキテクチャに関する勉強会/aws_architecture_study_session_3
ren8k
0
21
第2回_AWSアーキテクチャに関する勉強会/aws_architecture_study_session_2
ren8k
0
13
LangGraph × Bedrock による複数の Agentic Workflow を利用した Supervisor 型のマルチエージェントの実現/langgraph-bedrock-supervisor-agent
ren8k
5
950
Claude3 on Bedrock with Converse API + Tool use でチャットアプリを作成してみた
ren8k
1
2.5k
Other Decks in Science
See All in Science
安心・効率的な医療現場の実現へ ~オンプレAI & ノーコードワークフローで進める業務改革~
siyoo
0
310
Agent開発フレームワークのOverviewとW&B Weaveとのインテグレーション
siyoo
0
320
データベース14: B+木 & ハッシュ索引
trycycle
PRO
0
430
Trend Classification of InSAR Displacement Time Series Using SAE–CNN
satai
4
550
「美は世界を救う」を心理学で実証したい~クラファンを通じた新しい研究方法
jimpe_hitsuwari
1
150
KH Coderチュートリアル(スライド版)
koichih
1
45k
データマイニング - グラフ構造の諸指標
trycycle
PRO
0
160
データベース03: 関係データモデル
trycycle
PRO
1
250
Explanatory material
yuki1986
0
390
データマイニング - ノードの中心性
trycycle
PRO
0
260
MCMCのR-hatは分散分析である
moricup
0
430
02_西村訓弘_プログラムディレクター_人口減少を機にひらく未来社会.pdf
sip3ristex
0
590
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Fireside Chat
paigeccino
39
3.6k
For a Future-Friendly Web
brad_frost
179
9.9k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
570
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Transcript
© 2025 NTT DATA Japan Corporation 第1回 AWS アーキテクチャに関する勉強会 2025/04/03
株式会社NTTデータ 鯨田 連也
© 2025 NTT DATA Japan Corporation 2 目次 • はじめに
• 背景・目的・狙い • 開発した AI Agent ソリューション • 開発後の実運用時の課題 • 構築したアーキテクチャ • AWSリソース(ネットワーク周り) • VPC • Subnet • IGW • NAT Gateway • セキュリティグループ • ALB • Route 53 • ACM
© 2025 NTT DATA Japan Corporation 3 01 はじめに
© 2025 NTT DATA Japan Corporation 4 背景・目的・狙い 背景 2024
年度の AWS 生成 AI 実用化推進プログラムに参画した.本プログラムでは,AI Agent によるソリューションを AWS 上で開発し,実際に顧客に Web アプリケーションとして無料トライアル提供した. 目的 本勉強会では,本取り組みを通して得られた AWS に関するナレッジについて共有する. 狙い 各サービスの基本知識と AWS コンソール上でのサービスの確認方法をセットで理解すること.
© 2025 NTT DATA Japan Corporation 5 開発した AI Agent
ソリューション(1/2) Web 検索,デザイン案生成,画像生成を行う複数の Agent と,それらを統括する Supervisor Agent を利用した Multi Agent ソリューションを開発した.ユーザーの要望に合わせて最適な Agent を選択・連携し,効率良く業務を支援可能.
© 2025 NTT DATA Japan Corporation 6 開発した AI Agent
ソリューション(2/2) ソリューションをアプリケーション化する際,Web UI フレームワークとして Streamlit を利用した.Streamlit を利用することで, Python で容易に Web アプリケーションを作成することが可能である.
© 2025 NTT DATA Japan Corporation 7 開発後の実運用時の課題(1/4) 開発した Streamlit
のアプリケーション(プロトタイプ)を顧客に利用してほしい場合,どのように利用してもらうのが良いか? 考慮すべき点が沢山ある. • 配信方法 • クラウド?オンプレ?(AWSなど or マシン購入) • 利用方法はインターネット経由?(ネットワークの知識) • アプリケーションはどこで実行する?(サーバーレス or コンテナ or EC2などの仮想サーバー) • HTTPS 経由でアプリケーションにアクセスするには?(ドメイン取得) • 利用者数が増えた場合,アクセス負荷に耐えられる?(可用性) • 実運用時,第三者でも運用・デプロイできる?(属人化) • アプリケーションのセキュリティ • 顧客の利用履歴はどう記録する?(データベース or CSV) • アプリケーションやネットワークセキュリティは?(ファイアウォール) • API キーなどの機密情報はどのように管理する?(シークレット管理) • 関係者以外アクセスできないようにするには?(指定のIPレンジに制限,ユーザー認証)
© 2025 NTT DATA Japan Corporation 8 開発後の実運用時の課題(2/4) 開発した Streamlit
のアプリケーション(プロトタイプ)を顧客に利用してほしい場合,どのように利用してもらうのが良いか? 考慮すべき点が沢山ある. • 配信方法 • クラウド?オンプレ?(AWSなど or マシン購入) • 利用方法はインターネット経由?(ネットワークの知識) • アプリケーションはどこで実行する?(サーバーレス or コンテナ or EC2などの仮想サーバー) • HTTPS 経由でアプリケーションにアクセスするには?(ドメイン取得) • 利用者数が増えた場合,アクセス負荷に耐えられる?(可用性) • 実運用時,第三者でも運用・デプロイできる?(属人化) • アプリケーションのセキュリティ • 顧客の利用履歴はどう記録する?(データベース or CSV) • アプリケーションやネットワークセキュリティは?(ファイアウォール) • API キーなどの機密情報はどのように管理する?(シークレット管理) • 関係者以外アクセスできないようにするには?(指定のIPレンジに制限,ユーザー認証) データサイエンティストは,これらの知見が多い訳では無い. (PoCが多く,実運用まで至るケースが多くない背景もある)
© 2025 NTT DATA Japan Corporation 9 開発後の実運用時の課題(3/4) 開発した Streamlit
のアプリケーション(プロトタイプ)を顧客に利用してほしい場合,どのように利用してもらうのが良いか? 考慮すべき点が沢山ある. • 配信方法 • クラウド?オンプレ?(AWSなど or マシン購入) • 利用方法はインターネット経由?(ネットワークの知識) • アプリケーションはどこで実行する?(サーバーレス or コンテナ or EC2などの仮想サーバー) • HTTPS 経由でアプリケーションにアクセスするには?(ドメイン取得) • 利用者数が増えた場合,アクセス負荷に耐えられる?(可用性) • 実運用時,第三者でも運用・デプロイできる?(属人化) • アプリケーションのセキュリティ • 顧客の利用履歴はどう記録する?(データベース or CSV) • アプリケーションやネットワークセキュリティは?(ファイアウォール) • API キーなどの機密情報はどのように管理する?(シークレット管理) • 関係者以外アクセスできないようにするには?(指定のIPレンジに制限,ユーザー認証) 生成 AI を API 経由で利用できるようになり, クイックにソリューションを開発できるようになってきた. ソリューションをクイックに運用し,多くの人に利用してもらい, 改善サイクルを回せるスキルが重要になってきそう.(私見)
© 2025 NTT DATA Japan Corporation 10 開発後の実運用時の課題(4/4) 開発した Streamlit
のアプリケーション(プロトタイプ)を顧客に利用してほしい場合,どのように利用してもらうのが良いか? 考慮すべき点が沢山ある. • 配信方法 • クラウド?オンプレ?(AWSなど or マシン購入) • 利用方法はインターネット経由?(ネットワークの知識) • アプリケーションはどこで実行する?(サーバーレス or コンテナ or EC2などの仮想サーバー) • HTTPS 経由でアプリケーションにアクセスするには?(ドメイン取得) • 利用者数が増えた場合,アクセス負荷に耐えられる?(可用性) • 実運用時,第三者でも運用・デプロイできる?(属人化) • アプリケーションのセキュリティ • 顧客の利用履歴はどう記録する?(データベース or CSV) • アプリケーションやネットワークセキュリティは?(ファイアウォール) • API キーなどの機密情報はどのように管理する?(シークレット管理) • 関係者以外アクセスできないようにするには?(指定のIPレンジに制限,ユーザー認証) AWS 生成AI 実用化推進プログラムでは,AWS の SA の方と議論し, これらの課題に対処した AWS アーキテクチャを検討した. 本勉強会では,その内容を共有する.
© 2025 NTT DATA Japan Corporation 11 構築した AWS アーキテクチャ
(1/2) Streamlit のアプリケーションを ECS でコンテナとして実行し,ネットワークの前段に ALB を配置して,AI Agent ソリューションを インターネット経由でWeb アプリケーションとして配信するためのアーキテクチャを実装した.これらを CDK で IaC 化している. AWS CDK
© 2025 NTT DATA Japan Corporation 12 構築した AWS アーキテクチャ
(2/2) (1)ネットワーク,(2) コンテナ運用・データベース,(3) 認証・セキュリティ・IaCに大別して,勉強会では解説する. 可能な限り,コンソール画面を共有しながらサービスについての理解を深めていく. (1) ネットワーク (2) コンテナ運用・データベース AWS CDK (3) 認証・セキュリティ・IaC
© 2025 NTT DATA Japan Corporation 13 02 AWSリソース(ネットワーク周り)
© 2025 NTT DATA Japan Corporation 14 VPC AWS 上に構築されたプライベートネットワーク空間.ほとんどの
AWS サービスは自身 or AWS が管理する VPC に属する. サブネットを定義してインターネットへの接続を設定したり,ルートテーブルでネットワークのフローを制御したりすることができる. ルートテーブルでパケットの 転送先を制御 EC2がパブリックサブネット内に デプロイされている インターネットゲートウェイ経由で, インターネット接続している https://d1.awsstatic.com/webinars/jp/pdf/services/20201021_AWS-BlackBelt-VPC.pdf
© 2025 NTT DATA Japan Corporation 15 Subnet VPC 内部の
IP アドレス範囲を分割したネットワークセグメント.インターネットに自由に接続できるパブリックサブネットと, インターネットに接続できないプライベートサブネットがある. パブリックサブネット内には, インターネットからアクセス可能 プライベートサブネット内には, インターネットから直接アクセス不可能 ↓ セキュア https://d1.awsstatic.com/webinars/jp/pdf/services/20201021_AWS-BlackBelt-VPC.pdf
© 2025 NTT DATA Japan Corporation 16 インターネットゲートウェイ (IGW) VPC
とインターネットを接続するための VPC コンポーネントであり,パブリックサブネット内のリソースが外部環境と通信できる. IGW経由で, パブリックサブネット内のリソースと インターネットの間で 双方向の通信が可能 https://d1.awsstatic.com/webinars/jp/pdf/services/20201021_AWS-BlackBelt-VPC.pdf IGW単体では, プライベートサブネット内のリソースは インターネットにアクセスできない ↓ NAT Gatewayが必要
© 2025 NTT DATA Japan Corporation 17 NAT Gateway VPC
内のプライベート IP アドレスと NAT Gateway 自身のプライベート IP アドレス間の変換を行うサービスであり, プライベートサブネット内のリソースが VPC 外のサービスや,インターネットに接続することができるようになる. デプロイするだけで6600円(/月) 程度コストが発生する. プライベートサブネット内から, NAT Gateway経由で インターネットにアクセス可能. https://d1.awsstatic.com/webinars/jp/pdf/services/20201021_AWS-BlackBelt-VPC.pdf https://dev.classmethod.jp/articles/vpc-nat-gateway-cloudwatch-dashbord/ IGWは,NAT GatewayのプライベートIPと NAT GatewayのグローバルIPアドレスを変換
© 2025 NTT DATA Japan Corporation 18 セキュリティグループ ステートフルな Firewall
であり,リソースと通信できる IP アドレスやポートを制御することができる. インバウンドルール(リソースに入っていく通信)とアウトバウンドルール(リソースから出ていく通信)を設定できる. 指定したIPアドレスレンジから, 80番ポートのアクセスを許可 http://~~~.com:80 でアクセス インバウンドトラフィック(行き)に対する応答の アウトバウンドトラフィックは,行きの通信が許可されて いる限り自動的に許可される. ↓ ステートフル https://d1.awsstatic.com/webinars/jp/pdf/services/20201021_AWS-BlackBelt-VPC.pdf https://dev.classmethod.jp/articles/vpc-nat-gateway-cloudwatch-dashbord/
© 2025 NTT DATA Japan Corporation 19 アプリケーションロードバランサー (ALB) サーバーへリクエストを分散することで,サーバーの可用性と拡張性を高めることができる負荷分散装置.
デプロイするだけで2500円(/月) 程度コストが発生する. https://d1.awsstatic.com/webinars/jp/pdf/services/20191029_AWS-Blackbelt_ELB.pdf
© 2025 NTT DATA Japan Corporation 20 アプリケーションロードバランサー (ALB) リバースプロキシとして,SSL/TLS終端処理(クライアントからHTTPSで接続)を行うことも可能.外部からアクセスする際の
プロトコルやポート(HTTPS or HTTP)を設定するリスナーと,ALB がフォワード先として指定するターゲットを設定する. https://d1.awsstatic.com/webinars/jp/pdf/services/20191029_AWS-Blackbelt_ELB.pdf
© 2025 NTT DATA Japan Corporation 21 Route 53 DNS(ドメインネームシステム)ウェブサービスで,独自のドメインの登録(購入)や
DNS ルーティングが可能. https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2023_Amazon-Route53-Intro_0530_v1.pdf
© 2025 NTT DATA Japan Corporation 22 Route 53 DNS(ドメインネームシステム)ウェブサービスで,独自のドメインの登録(購入)や
DNS ルーティングが可能. https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2023_Amazon-Route53-Intro_0530_v1.pdf
© 2025 NTT DATA Japan Corporation 23 AWS Certificate Manager
(ACM) SSL/TLS サーバー証明書のプロビジョニングや管理,自動更新を実現するサービス.ACM で発行した独自ドメインの証明書を ALB に関連付けることで,Webサービスなどを常時 SSL/TLS 化 (HTTPS 化) することができる. https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2023_AWS-Certificate-Manager_v1.pdf HTTPSで通信することで, 通信の暗号化とサイト事業者の 安全性を証明
None