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
なんとなくわかるAWSサービス
Search
ufoo68
April 21, 2021
Technology
0
670
なんとなくわかるAWSサービス
ufoo68
April 21, 2021
Tweet
Share
More Decks by ufoo68
See All by ufoo68
OpenAIでクッキー型を作る
ufoo68
0
16
初めて開発リーダーをやってみた話
ufoo68
0
100
M5Stack用の指紋認証デバイスを試す
ufoo68
0
740
結婚式のクイズアプリを自作した話
ufoo68
0
620
M5Stack Core2とAlexaでインターフォンに自動で対応してくれるIoTデバイスを作りたかった話
ufoo68
0
670
KASHIKOIHAKO
ufoo68
0
560
LIFF通話をつくろう!
ufoo68
0
1.4k
KASHIKOIHAKO計画その4
ufoo68
0
290
AWS CDKで作るLINE bot
ufoo68
0
380
Other Decks in Technology
See All in Technology
Android Studio の 新しいAI機能を試してみよう / Try out the new AI features in Android Studio
yanzm
0
280
実践アプリケーション設計 ①データモデルとドメインモデル
recruitengineers
PRO
4
540
人を動かすことについて考える
ichimichi
2
340
つくって納得、つかって実感! 大規模言語モデルことはじめ
recruitengineers
PRO
25
7k
Evolution on AI Agent and Beyond - AGI への道のりと、シンギュラリティの3つのシナリオ
masayamoriofficial
0
200
AIドリブンのソフトウェア開発 - うまいやり方とまずいやり方
okdt
PRO
9
660
実践アプリケーション設計 ③ドメイン駆動設計
recruitengineers
PRO
8
1k
Claude Code x Androidアプリ 開発
kgmyshin
1
600
Devinを使ったモバイルアプリ開発 / Mobile app development with Devin
yanzm
0
190
「守る」から「進化させる」セキュリティへ ~AWS re:Inforce 2025参加報告~ / AWS re:Inforce 2025 Participation Report
yuj1osm
1
140
Goss: Faiss向けの新しい本番環境対応 Goバインディング #coefl_go_jp
bengo4com
0
1.4k
株式会社ARAV 採用案内
maqui
0
360
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.6k
Become a Pro
speakerdeck
PRO
29
5.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Gamification - CAS2011
davidbonilla
81
5.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Balancing Empowerment & Direction
lara
2
590
Agile that works and the tools we love
rasmusluckow
329
21k
Designing Experiences People Love
moore
142
24k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
4 Signs Your Business is Dying
shpigford
184
22k
We Have a Design System, Now What?
morganepeng
53
7.8k
Transcript
なんとなくわかる AWSサービス @ミニアプリNight
自己紹介 • 本名 ◦ 松永勇太 • SNSでの名前 ◦ ufoo68(@ufoo_yuta) •
好きなアニメ ◦ バジリスク
本資料が目指すところ 本発表では、AWSサービスの理解ではなく、今回触るAWSサービスがどんなものかな んとなく雰囲気を知ってもらうことを目的としています 説明はかなりざっくりとしておりますので、あしからず この時間では各AWSサービスの名前と立ち位置だけを知ってもらって、あとは各自が調 べてみる形がいいかと思います
きょうの登場人物 Cloudfront S3 API Gateway Lambda DynamoDB LINE Server Stack
CloudFormation AWS Systems Manager LIFFライブラリ経 由 /api/* /* デプロイ Serverless Framework
CloudFront • content delivery network(CDN)に用いられるサービス ◦ エッジロケーションでレイテンシを削減する ◦ キャッシュ機能で必要なときだけオリジンと通信する •
今回はパスの振り分け機能を使用 ◦ /apiを含んでいるパスは APIへ、それ以外はUIへ振り分ける。等ができる • ウェブアプリとかを実装するなら使っておいて損はないサービス ◦ SPAの場合だと、「404エラーのときでもindex.htmlを読むようにする」等といったことが実装できる
S3 • フルネームはSimple Storage Service ◦ スケーラビリティ、データ可用性、セキュリティ、およびパフォーマンスを提供するオブジェクトスト レージサービス ◦ 99.999999999%
(9 x 11) の耐久性を実現 • ストレージサービスとしても十分に使えるサービスであるが、今回はウェブサイトの ホスティング機能を使用 ◦ ちなみにS3だけを用いてウェブアプリを公開することも可能(非推奨)
API Gateway • 早い話がAPIを作るなら必須なサービス ◦ APIの作成、公開、保守、モニタリング、保護を簡単に行うことができる ◦ REST APIおよびWebSocket APIが作成できる
• 今回はLambda(次で説明)と組み合わせてREST APIを作成している ◦ ちなみにS3とか他のAWSサービスとの直接連携もできる
Lambda • AWSが提供するFaaS(Function as a Service) ◦ サーバーのプロビジョニングや管理、ワークロード対応のクラスタースケーリングロジックの作成、イ ベント統合の維持、ランタイムの管理が不要 ◦
アプリケーションのコードを書くだけでサーバーを実装することができる • 本当にいろんなことができる ◦ 今回のようなAPI Gatewayと組み合わせたAPIサーバーを実装する ◦ あるイベント(例:S3にデータが書き込まれた時 )をトリガーにしてコードを実行 ◦ 定期的(例:1分おき)にコードを実行
DynamoDB • AWSが提供するNoSQLデータベースサービス ◦ データの格納と取得に特化している (所謂key-valueストア) ◦ jsonデータの保存もできる ◦ マルチリージョン、マルチアクティブで耐久性がある
• とりあえずLambdaでデータベースを使いたい時によく使うサービス ◦ データの貯蔵にはお金がかかるので実用する場合は注意
Systems Manager パラメータストア • 設定データ管理と機密管理のための安全な階層型ストレージ ◦ パスワード、データベース文字列、 Amazon マシンイメージ (AMI)
ID、ライセンスコードなどのデー タをパラメータ値として保存できる ◦ コードで用いる機密情報をハードコーディングせずに管理するために使うサービス • 今回はLIFFのIDとチャンネルIDの保存に使用
CloudFormation • AWSが提供するIaC(Infrastructure as Code)サービス ◦ テンプレートファイルで AWSの構成を管理できる ◦ プロビジョニング(AWSを実際に構成する作業
)を自動化できる • 今回は用いるAWSサービス達はCloudFormationを用いてStackというまとまりで 管理されている
Serverless framework • サーバーレスなアーキテクチャを簡単に構成できるフレームワーク • AWS意外にも様々なクラウドサービスに対応している(らしい) • CloudFormationのテンプレートエンジンとしても使うことができる ◦ サーバーレスなアプリケーションを素の
CloudFormationを書くよりも簡単に記述・デプロイが可能 ◦ 今回サーバーレスの開発で用いるツールはこれ