Upgrade to Pro — share decks privately, control downloads, hide ads and more …

第2回_AWSアーキテクチャに関する勉強会/aws_architecture_study_se...

Renya K.
April 10, 2025

 第2回_AWSアーキテクチャに関する勉強会/aws_architecture_study_session_2

生成 AI 実用化推進プログラムに参画して得られたノウハウの共有です.

Renya K.

April 10, 2025
Tweet

More Decks by Renya K.

Other Decks in Science

Transcript

  1. © 2025 NTT DATA Japan Corporation 2 目次 • はじめに

    • 背景・目的・狙い • 構築した AWS アーキテクチャ • 前回の復習 • AWSリソース(コンテナ運用・データベース) • ECS • ECR • DynamoDB • Amazon RDS • S3
  2. © 2025 NTT DATA Japan Corporation 4 背景・目的・狙い 背景 2024

    年度の AWS 生成 AI 実用化推進プログラムに参画した.本プログラムでは,AI Agent によるソリューションを AWS 上で開発し,実際に顧客に Web アプリケーションとして無料トライアル提供した. 目的 本勉強会では,本取り組みを通して得られたAWSに関するナレッジについて共有する. 狙い 各サービスの基本知識と AWS コンソール上でのサービスの確認方法をセットで理解すること.
  3. © 2025 NTT DATA Japan Corporation 5 構築した AWS アーキテクチャ

    (1/2) Streamlit のアプリケーションを ECS でコンテナとして実行し,ネットワークの前段に ALB を配置して,AI Agent ソリューションを インターネット経由でWeb アプリケーションとして配信するためのアーキテクチャを実装した.これらを CDK で IaC 化している. AWS CDK
  4. © 2025 NTT DATA Japan Corporation 6 構築した AWS アーキテクチャ

    (2/2) (1)ネットワーク,(2) コンテナ運用・データベース,(3) 認証・セキュリティ・IaCに大別して,勉強会では解説する. 可能な限り,コンソール画面を共有しながらサービスについての理解を深めていく. (1) ネットワーク (2) コンテナ運用・データベース AWS CDK (3) 認証・セキュリティ・IaC
  5. © 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 では, 社内からのアクセスのみ許可.
  6. © 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アップデート,セキュリティパッチ適用 などのインフラ管理から解放される.
  7. © 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
  8. © 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 実行時の 引数をここで設定する イメージ
  9. © 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で外部からアクセス する必要あり
  10. © 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 で認証が必須
  11. © 2025 NTT DATA Japan Corporation 15 DynamoDB 完全マネージド型の NoSQL

    データベースサービス (Key-Value-Store) .PostgreSQL のような厳密なスキーマ定義は不要. ハイスケーラブルで低レイテンシー,可用性が高い.ストレージの容量制限が無く,運用管理も必要ない(従量課金). https://www.youtube.com/watch?v=Rr_sykz8k9c
  12. © 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でいう列
  13. © 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なので, データを「キー」と「値」のペアで 保存する
  14. © 2025 NTT DATA Japan Corporation 18 DynamoDB (発展) Primary

    Key 以外の Attributes で検索する方法として,2種類の Secondary Index を利用することができる. https://www.youtube.com/watch?v=Rr_sykz8k9c
  15. © 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
  16. © 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
  17. © 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
  18. © 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