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
32
第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
26
第2回_AWSアーキテクチャに関する勉強会/aws_architecture_study_session_2
ren8k
0
19
LangGraph × Bedrock による複数の Agentic Workflow を利用した Supervisor 型のマルチエージェントの実現/langgraph-bedrock-supervisor-agent
ren8k
5
1k
Claude3 on Bedrock with Converse API + Tool use でチャットアプリを作成してみた
ren8k
1
2.6k
Other Decks in Science
See All in Science
サイゼミ用因果推論
lw
1
7.6k
データベース03: 関係データモデル
trycycle
PRO
1
280
点群ライブラリPDALをGoogleColabにて実行する方法の紹介
kentaitakura
1
470
実力評価性能を考慮した弓道高校生全国大会の大会制度設計の提案 / (konakalab presentation at MSS 2025.03)
konakalab
2
210
データベース15: ビッグデータ時代のデータベース
trycycle
PRO
0
370
Masseyのレーティングを用いたフォーミュラレースドライバーの実績評価手法の開発 / Development of a Performance Evaluation Method for Formula Race Drivers Using Massey Ratings
konakalab
0
200
AI(人工知能)の過去・現在・未来 —AIは人間を超えるのか—
tagtag
0
110
データマイニング - コミュニティ発見
trycycle
PRO
0
160
mOrganic™ Holdings, LLC.
hyperlocalnetwork
0
120
AIに仕事を奪われる 最初の医師たちへ
ikora128
0
990
People who frequently use ChatGPT for writing tasks are accurate and robust detectors of AI-generated text
rudorudo11
0
130
統計的因果探索: 背景知識とデータにより因果仮説を探索する
sshimizu2006
4
1.1k
Featured
See All Featured
Docker and Python
trallard
46
3.6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
620
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Practical Orchestrator
shlominoach
190
11k
Six Lessons from altMBA
skipperchong
29
4k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
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