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
600
なんとなくわかるAWSサービス
ufoo68
April 21, 2021
Tweet
Share
More Decks by ufoo68
See All by ufoo68
初めて開発リーダーをやってみた話
ufoo68
0
37
M5Stack用の指紋認証デバイスを試す
ufoo68
0
410
結婚式のクイズアプリを自作した話
ufoo68
0
410
M5Stack Core2とAlexaでインターフォンに自動で対応してくれるIoTデバイスを作りたかった話
ufoo68
0
520
KASHIKOIHAKO
ufoo68
0
420
LIFF通話をつくろう!
ufoo68
0
1k
KASHIKOIHAKO計画その4
ufoo68
0
240
AWS CDKで作るLINE bot
ufoo68
0
310
解説!LINE bot開発
ufoo68
0
230
Other Decks in Technology
See All in Technology
Scaling Technical Excellence at 104: Evolution in AWS and Developer Empowerment
scotthsieh825
1
160
Git 研修 Basic【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
310
DDDにおける認可の扱いとKotlinにおける実装パターン / authorization-for-ddd-and-kotlin-implement-pattern
urmot
4
390
成長期に歩みを止めないための創業期の開発文化形成
mayah
6
420
テスト・設計研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
Classmethod Odyssey 登壇資料
yamahiro
0
390
フルリモートワークはエンジニアの夢を叶えたか? #cm_odyssey
mamohacy
2
600
セキュリティ研修 Day1【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
ソフトウェアエンジニアリングの知見を活かして データ基盤をいい感じにする on Snowflake [MIERUNE BBQ #10]
mtpooh
2
150
Flutter研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
GoとアクターモデルでES+CQRSを実践! / proto_actor_es_cqrs
ytake
1
160
LLMアプリケーションの評価の実践と課題 ~PharmaXにおける今後の展望~
pharma_x_tech
2
170
Featured
See All Featured
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
105
6.8k
We Have a Design System, Now What?
morganepeng
46
7k
Art, The Web, and Tiny UX
lynnandtonic
291
20k
StorybookのUI Testing Handbookを読んだ
zakiyama
15
4.9k
Designing for humans not robots
tammielis
247
25k
Documentation Writing (for coders)
carmenintech
63
4.2k
YesSQL, Process and Tooling at Scale
rocio
166
14k
A Philosophy of Restraint
colly
200
16k
Pencils Down: Stop Designing & Start Developing
hursman
118
11k
Scaling GitHub
holman
458
140k
Making Projects Easy
brettharned
111
5.7k
Web Components: a chance to create the future
zenorocha
307
41k
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を書くよりも簡単に記述・デプロイが可能 ◦ 今回サーバーレスの開発で用いるツールはこれ