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
650
なんとなくわかるAWSサービス
ufoo68
April 21, 2021
Tweet
Share
More Decks by ufoo68
See All by ufoo68
初めて開発リーダーをやってみた話
ufoo68
0
81
M5Stack用の指紋認証デバイスを試す
ufoo68
0
620
結婚式のクイズアプリを自作した話
ufoo68
0
550
M5Stack Core2とAlexaでインターフォンに自動で対応してくれるIoTデバイスを作りたかった話
ufoo68
0
620
KASHIKOIHAKO
ufoo68
0
510
LIFF通話をつくろう!
ufoo68
0
1.3k
KASHIKOIHAKO計画その4
ufoo68
0
270
AWS CDKで作るLINE bot
ufoo68
0
350
解説!LINE bot開発
ufoo68
0
260
Other Decks in Technology
See All in Technology
JEDAI Meetup! Databricks AI/BI概要
databricksjapan
0
290
プロダクトエンジニア構想を立ち上げ、プロダクト志向な組織への成長を続けている話 / grow into a product-oriented organization
hiro_torii
1
300
Culture Deck
optfit
0
500
Windows の新しい管理者保護モード
murachiakira
0
180
株式会社EventHub・エンジニア採用資料
eventhub
0
4.3k
なぜ私は自分が使わないサービスを作るのか? / Why would I create a service that I would not use?
aiandrox
0
890
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
120
エンジニアが加速させるプロダクトディスカバリー 〜最速で価値ある機能を見つける方法〜 / product discovery accelerated by engineers
rince
4
490
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
2
300
深層学習と古典的画像アルゴリズムを組み合わせた類似画像検索内製化
shutotakahashi
1
270
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
2
520
EDRの検知の仕組みと検知回避について
chayakonanaika
7
2.8k
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Building Your Own Lightsaber
phodgson
104
6.2k
BBQ
matthewcrist
87
9.5k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Being A Developer After 40
akosma
89
590k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
We Have a Design System, Now What?
morganepeng
51
7.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Six Lessons from altMBA
skipperchong
27
3.6k
Statistics for Hackers
jakevdp
797
220k
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を書くよりも簡単に記述・デプロイが可能 ◦ 今回サーバーレスの開発で用いるツールはこれ