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
19
第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
26
第1回_AWSアーキテクチャに関する勉強会/aws_architecture_study_session_1
ren8k
0
32
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
データベース10: 拡張実体関連モデル
trycycle
PRO
0
1k
論文紹介 音源分離:SCNET SPARSE COMPRESSION NETWORK FOR MUSIC SOURCE SEPARATION
kenmatsu4
0
350
Transport information Geometry: Current and Future II
lwc2017
0
210
データベース08: 実体関連モデルとは?
trycycle
PRO
0
960
ド文系だった私が、 KaggleのNCAAコンペでソロ金取れるまで
wakamatsu_takumu
2
1.5k
Lean4による汎化誤差評価の形式化
milano0017
1
340
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
140
凸最適化からDC最適化まで
santana_hammer
1
310
データベース05: SQL(2/3) 結合質問
trycycle
PRO
0
820
テンソル分解による糖尿病の組織特異的遺伝子発現の統合解析を用いた関連疾患の予測
tagtag
2
280
データベース01: データベースを使わない世界
trycycle
PRO
1
830
AI(人工知能)の過去・現在・未来 —AIは人間を超えるのか—
tagtag
0
110
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
463
33k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
How to Ace a Technical Interview
jacobian
280
24k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Rails Girls Zürich Keynote
gr2m
95
14k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Visualization
eitanlees
149
16k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
620
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
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