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
第2回_AWSアーキテクチャに関する勉強会/aws_architecture_study_se...
Search
Renya K.
April 10, 2025
Science
0
1
第2回_AWSアーキテクチャに関する勉強会/aws_architecture_study_session_2
生成 AI 実用化推進プログラムに参画して得られたノウハウの共有です.
Renya K.
April 10, 2025
Tweet
Share
More Decks by Renya K.
See All by Renya K.
第3回_AWSアーキテクチャに関する勉強会/aws_architecture_study_session_3
ren8k
0
1
第1回_AWSアーキテクチャに関する勉強会/aws_architecture_study_session_1
ren8k
0
2
LangGraph × Bedrock による複数の Agentic Workflow を利用した Supervisor 型のマルチエージェントの実現/langgraph-bedrock-supervisor-agent
ren8k
4
700
Claude3 on Bedrock with Converse API + Tool use でチャットアプリを作成してみた
ren8k
1
2.3k
Other Decks in Science
See All in Science
The Incredible Machine: Developer Productivity and the Impact of AI
tomzimmermann
0
640
Pericarditis Comic
camkdraws
0
1.5k
SpatialBiologyWestCoastUS2024
lcolladotor
0
110
Healthcare Innovation through Business Entrepreneurship
clintwinters
0
210
butterfly_effect/butterfly_effect_in-house
florets1
1
160
システム数理と応用分野の未来を切り拓くロードマップ・エンターテインメント(スポーツ)への応用 / Applied mathematics for sports entertainment
konakalab
1
270
Online Feedback Optimization
floriandoerfler
0
1.1k
WCS-LA-2024
lcolladotor
0
210
AI(人工知能)の過去・現在・未来 —AIは人間を超えるのか—
tagtag
0
100
局所保存性・相似変換対称性を満たす機械学習モデルによる数値流体力学
yellowshippo
1
210
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
170
第61回コンピュータビジョン勉強会「BioCLIP: A Vision Foundation Model for the Tree of Life」
x_ttyszk
1
1.7k
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.7k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
9
760
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.4k
Fireside Chat
paigeccino
37
3.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
How to Think Like a Performance Engineer
csswizardry
23
1.5k
Transcript
© 2025 NTT DATA Japan Corporation 第2回 AWS アーキテクチャに関する勉強会 2025/04/10
株式会社NTTデータ 鯨田 連也
© 2025 NTT DATA Japan Corporation 2 目次 • はじめに
• 背景・目的・狙い • 構築した AWS アーキテクチャ • 前回の復習 • AWSリソース(コンテナ運用・データベース) • ECS • ECR • DynamoDB • Amazon RDS • S3
© 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 構築した AWS アーキテクチャ
(1/2) Streamlit のアプリケーションを ECS でコンテナとして実行し,ネットワークの前段に ALB を配置して,AI Agent ソリューションを インターネット経由でWeb アプリケーションとして配信するためのアーキテクチャを実装した.これらを CDK で IaC 化している. AWS CDK
© 2025 NTT DATA Japan Corporation 6 構築した AWS アーキテクチャ
(2/2) (1)ネットワーク,(2) コンテナ運用・データベース,(3) 認証・セキュリティ・IaCに大別して,勉強会では解説する. 可能な限り,コンソール画面を共有しながらサービスについての理解を深めていく. (1) ネットワーク (2) コンテナ運用・データベース AWS CDK (3) 認証・セキュリティ・IaC
© 2025 NTT DATA Japan Corporation 7 前回の復習 (ネットワーク) ECS
へのインバウンドトラフィック経路は,IGW -> ALB (SG で許可されている場合) -> ECS となる. アウトバウンドトラフィック経路は,ECS -> NAT -> IGW (プライベート IP とグローバル IP が変換) となる. ALB に ACM 証明書をアタッチすることで,Web アプリケーションを SSL/TLS 化 (HTTPS 化) できる. Amazon RDS ACM NAT gateway https://aws.amazon.com/jp/builders-flash/202409/web-app-architecture-design-pattern/ 同一 VPC におけるサブネット間は (SG の設定次第で) 自由に通信可能. プライベートサブネット内から, NAT Gateway 経由で インターネットにアクセス可能. ECS の SG の Inbound rule では, ALB からの通信のみ許可. ALB の SG の Inbound rule では, 社内からのアクセスのみ許可.
© 2025 NTT DATA Japan Corporation 8 02 AWSリソース(コンテナ運用・ データベース)
© 2025 NTT DATA Japan Corporation 9 ECS コンテナのオーケストレーションサービスで,コンテナのデプロイやスケジューリング,スケーリングが可能. コンテナの実行環境として,EC2
や Fargate を選択可能. https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2024_Amazon_ECS_Introduction_0831_v1.pdf
© 2025 NTT DATA Japan Corporation 10 ECS Fargate ではコンテナをサーバーレスで実行し,EC2
ではコンテナを仮想サーバー上で実行する. Fargate はユーザーが管理するレイヤーが少なく,オートスケーリングなども便利だが,その分料金は高い. https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2024_Amazon_ECS_Introduction_0831_v1.pdf OSアップデート,セキュリティパッチ適用 などのインフラ管理から解放される.
© 2025 NTT DATA Japan Corporation 11 ECS クラスターの中で Fargate
が実行される.Fargate ではタスク(1つ以上のコンテナ)が実行されている. タスク(コンテナ)の実行要件はユーザーが指定する必要がある.(タスク定義) https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2024_Amazon_ECS_Introduction_0831_v1.pdf
© 2025 NTT DATA Japan Corporation 12 ECS ECS には,タスク定義,タスク,サービス,クラスターという概念がある.タスク定義に基づき,タスク(コンテナ)は実行される.
サービスは,1つ以上のタスクを管理する単位.クラスターでは,1つ以上のサービスが実行される. https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2024_Amazon_ECS_Introduction_0831_v1.pdf docker run 実行時の 引数をここで設定する イメージ
© 2025 NTT DATA Japan Corporation 13 ECS Fargate のネットワークは
awsvpc モードである.本モードでは,ポートフォワーディング(ポートマッピング)で利用する host と container のポート番号は同一である必要がある. https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2024_Amazon_ECS_Introduction_0831_v1.pdf Streamlit の場合, 8501で外部からアクセス する必要あり
© 2025 NTT DATA Japan Corporation 14 ECR コンテナイメージレジストリのマネージドサービスで,Docker CLI
などで Docker イメージを保存することができる. プライベートレジストリ (pull・push に IAM ベースの認証が必須) とパブリックレジストリ (認証無しでも pull が可能) がある. https://pages.awscloud.com/rs/112-TZM-766/images/202112_AWS_BlackBelt_CON241_ECR.pdf AWS CLI で認証が必須
© 2025 NTT DATA Japan Corporation 15 DynamoDB 完全マネージド型の NoSQL
データベースサービス (Key-Value-Store) .PostgreSQL のような厳密なスキーマ定義は不要. ハイスケーラブルで低レイテンシー,可用性が高い.ストレージの容量制限が無く,運用管理も必要ない(従量課金). https://www.youtube.com/watch?v=Rr_sykz8k9c
© 2025 NTT DATA Japan Corporation 16 DynamoDB DynamoDB は
Primary Key (Partition Key,または Sort Key との組合せ) でデータを識別し,アクセスする. Item は Attributes によって構成され,型(String型,Json型等) はアイテム間で不揃いで問題ない. https://www.youtube.com/watch?v=Rr_sykz8k9c RDSでいう列
© 2025 NTT DATA Japan Corporation 17 DynamoDB DynamoDB では,2種類の
Primary Key をサポートする(各レコードで一意である必要がある). 以下のキーで,データの取得やソート,絞り込みが可能. • Partition Key • Partition Key & Sort Key https://www.youtube.com/watch?v=Rr_sykz8k9c Key-Value-Storeなので, データを「キー」と「値」のペアで 保存する
© 2025 NTT DATA Japan Corporation 18 DynamoDB (発展) Primary
Key 以外の Attributes で検索する方法として,2種類の Secondary Index を利用することができる. https://www.youtube.com/watch?v=Rr_sykz8k9c
© 2025 NTT DATA Japan Corporation 19 Amazon RDS 構築・運用・拡張が容易な,フルマネージドなリレーショナルデータベース.⼈気のある6つのデータベースエンジンを選択可能.
PostgreSQL を利用する場合,Aurora (with PostgreSQL) か RDS for PostgreSQL のどちらかを利用する. https://pages.awscloud.com/rs/112-TZM-766/images/03_MySQL_PostgreSQL%20%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%20RDS_Aurora%20%E3%81%AE%E9%81%B8%E6%8A%9E%E3%83%9B%E3%82%9A%E3%82%A4%E3%83%B3%E3%83%88.pdf
© 2025 NTT DATA Japan Corporation 20 Amazon RDS フルマネージドなので運用負荷は低い.ただし,常時インスタンスを稼働するので,それなりにコストは発生する.
https://pages.awscloud.com/rs/112-TZM-766/images/03_MySQL_PostgreSQL%20%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%20RDS_Aurora%20%E3%81%AE%E9%81%B8%E6%8A%9E%E3%83%9B%E3%82%9A%E3%82%A4%E3%83%B3%E3%83%88.pdf
© 2025 NTT DATA Japan Corporation 21 Amazon RDS コスト効率は
RDS for PostgreSQL が良い.Multi-AZなどの冗長構成の場合,レイテンシーは Aurora の方が低い. 使い勝手はどちらもほぼ変わらないので,迷ったらまずは RDS で問題ない(私見). Aurora PostgreSQL を選ぶ理由 • 可用性・パフォーマンス・運用性を重視したい • クローンなど Aurora 独自の機能を利用し、快適に運用・開発をしたい • ストレージをオートスケーリングしたい • 1日のピーク時間が短ければ(1~2hのみなど) Aurora Serverless v2 の方がコストが安い場合がある • Aurora Serverless v2 はオートスケーリング可能. RDS for PostgreSQL を選ぶ理由 • インスタンスタイプ・サイズの選択肢が多い • Aurora で使えない機能を使いたい • 最新のバージョンおよびそれに付随する機能を使いたい https://pages.awscloud.com/rs/112-TZM-766/images/03_MySQL_PostgreSQL%20%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%20RDS_Aurora%20%E3%81%AE%E9%81%B8%E6%8A%9E%E3%83%9B%E3%82%9A%E3%82%A4%E3%83%B3%E3%83%88.pdf
© 2025 NTT DATA Japan Corporation 22 S3 高いパフォーマンスと可用性、そして低コストが特徴なオブジェクトストレージ.データ分析基盤のデータレイクとして最適. •
耐久性 • 99.999999999%(イレブンナイン) • 最低 3 つのアベイラビリティゾーン(AZ)で冗長化 • スケーラビリティ • 無制限のデータ保存 • ただし、1 オブジェクトは最大 5 TB • 低コスト • セキュリティ • アクセス制御とログ監査 • データの保護 • 誤削除から守る機能 • アクセシビリティ • HTTP/HTTPS でアップロード/ダウンロード/変更/削除といった操作が可能 • 様々な AWS サービスとの連携 https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2023_Amazon-S3-Usecases_0131_v1.pdf
None