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
36
第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
31
第2回_AWSアーキテクチャに関する勉強会/aws_architecture_study_session_2
ren8k
0
23
LangGraph × Bedrock による複数の Agentic Workflow を利用した Supervisor 型のマルチエージェントの実現/langgraph-bedrock-supervisor-agent
ren8k
5
1k
Claude3 on Bedrock with Converse API + Tool use でチャットアプリを作成してみた
ren8k
1
2.7k
Other Decks in Science
See All in Science
Celebrate UTIG: Staff and Student Awards 2025
utig
0
340
研究って何だっけ / What is Research?
ks91
PRO
1
140
生成AIと学ぶPythonデータ分析再入門-Pythonによるクラスタリング・可視化をサクサク実施-
datascientistsociety
PRO
4
1.8k
データベース12: 正規化(2/2) - データ従属性に基づく正規化
trycycle
PRO
0
1k
Collective Predictive Coding as a Unified Theory for the Socio-Cognitive Human Minds
tanichu
0
120
LayerXにおける業務の完全自動運転化に向けたAI技術活用事例 / layerx-ai-jsai2025
shimacos
2
19k
データマイニング - グラフデータと経路
trycycle
PRO
1
240
データベース05: SQL(2/3) 結合質問
trycycle
PRO
0
840
Hakonwa-Quaternion
hiranabe
1
150
Cross-Media Technologies, Information Science and Human-Information Interaction
signer
PRO
3
31k
実力評価性能を考慮した弓道高校生全国大会の大会制度設計の提案 / (konakalab presentation at MSS 2025.03)
konakalab
2
220
AI(人工知能)の過去・現在・未来 —AIは人間を超えるのか—
tagtag
1
200
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Music & Morning Musume
bryan
46
7k
Building Applications with DynamoDB
mza
96
6.8k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
24
1.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Docker and Python
trallard
46
3.7k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
118
20k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
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