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
550
なんとなくわかるAWSサービス
ufoo68
April 21, 2021
Tweet
Share
More Decks by ufoo68
See All by ufoo68
初めて開発リーダーをやってみた話
ufoo68
0
21
M5Stack用の指紋認証デバイスを試す
ufoo68
0
310
結婚式のクイズアプリを自作した話
ufoo68
0
330
M5Stack Core2とAlexaでインターフォンに自動で対応してくれるIoTデバイスを作りたかった話
ufoo68
0
460
KASHIKOIHAKO
ufoo68
0
390
LIFF通話をつくろう!
ufoo68
0
930
KASHIKOIHAKO計画その4
ufoo68
0
220
AWS CDKで作るLINE bot
ufoo68
0
300
解説!LINE bot開発
ufoo68
0
210
Other Decks in Technology
See All in Technology
本気でプロダクトに向き合うCTOになるために必要な事 (技育祭2024春)
mosa_siru
33
11k
Skaffoldを用いたGKEアプリケーションの CD(Continuous Development)
kojake_300
1
120
EKSの認証認可の仕組みとEKS APIを用いた認可制御について
daitak
0
260
【OpenAI本出版記念】npakaによるOpenAI最新技術情報と技術情報キャッチアップ術
npaka
8
1.4k
パフォーマンスを改善するには仕様変更が1番はやい
yamamotohiroya
12
4.6k
マルチテナントの実現におけるDB設計とRLS / Utilizing RSL in multi-tenancy
soudai
20
5k
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
1.8k
理想の組織も自分たちで作ろう! ―LayerXの「全員採用」を支える文化 / How to create our own ideal team
ar_tama
6
2.2k
第131回 雲勉【オンライン】AWSを9年触ってきて経験した落とし穴、ハマったポイント
iret
6
480
Simplifying Data Analysis & Visualization with Developer Tools & AI
nitya
1
220
イベント駆動コンテンツ (a.k.a Webアプリケーションの効率を再定義するBEAR.Sundayの分散キャッシングフレームワーク)
koriym
4
1.7k
Automate your changelogs! Release Drafter
onenashev
PRO
2
410
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1353
200k
Into the Great Unknown - MozCon
thekraken
10
810
Reflections from 52 weeks, 52 projects
jeffersonlam
343
19k
Designing on Purpose - Digital PM Summit 2013
jponch
109
6.4k
What's new in Ruby 2.0
geeforr
335
31k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
0
3.2k
Code Reviewing Like a Champion
maltzj
512
39k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
Mobile First: as difficult as doing things right
swwweet
215
8.5k
A designer walks into a library…
pauljervisheath
199
23k
How GitHub (no longer) Works
holman
301
140k
GraphQLの誤解/rethinking-graphql
sonatard
48
9.1k
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を書くよりも簡単に記述・デプロイが可能 ◦ 今回サーバーレスの開発で用いるツールはこれ