Amazonサーバーレス関連覚書
はじめに
Amazonのサーバーレスに関する資料のまとめ。
検索で到達しにくい資料がけっこうある。[1]
新しい機能が増えて、昔あった問題が解決されていることがあるため。書かれた時期を確認して新しいものを読みましょう。
各リンクの内容は自身で内容をよく確認して自己責任で適応してください。
公式の最新情報は「AWS の最新情報 – クラウドイノベーション & ニュース(RSS Feed)」で確認できる。
オフィシャル
学習
-
サーバーレスの勉強方法を聞いてみた。- builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
- 最後に各種資料へのリンクもある。
- サーバーレスの開発方法を聞いてみた - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
- サーバーレスを始めよう
- アマゾン ウェブ サービス (AWS) の実践的チュートリアル
- ハンズオン資料 | AWS クラウドサービス活用資料集
- サービス別資料 | AWS クラウドサービス活用資料集
サーバレス関連
設計
第2回から第4回
- サーバーレスにおけるべき等性の実装 (メッセージ編) ~サーバーレスが気になる開発者に捧ぐ「べき等性」ことはじめ 第 2 回~ - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
- サーバーレスにおけるべき等性の実装 (データストア編) ~サーバーレスが気になる開発者に捧ぐ「べき等性」ことはじめ 第 3 回~~ - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
- サーバーレスにおけるべき等性の実装 (バッチ処理と分散トランザクション編) ~サーバーレスが気になる開発者に捧ぐ「べき等性」ことはじめ 第 4 回~ - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
- 形で考えるサーバーレス設計
- AWS Lambda、Amazon API Gateway、Amazon S3、Amazon DynamoDB、および Amazon Cognito を使用してサーバーレスウェブアプリケーションを構築する方法 | AWS
- サーバーレス イベント駆動アーキテクチャ
セキュリティ
- AWS アカウントのセキュリティを改善するための 10 個の項目 | Amazon Web Services ブログ
- AWS スペシャリストが教える、すぐにするべきセキュリティ対策 - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
- Security Overview of AWS Lambda_JP.pdf
デプロイ
- AWS CloudFormation とは - AWS CloudFormation
- AWS Serverless Application Model (AWS SAM) とは - AWS Serverless Application Model
-
AWS Serverless Application Model (AWS SAM)
- SAMはCloudFormationの文法と共存できる。この資料はできることを把握しやすい。
- AWS CloudFormation と AWS SAM を使用したサーバーレスアプリケーションの開発とデプロイ | Amazon Web Services ブログ
- AWS SAM Accelerateによるサーバーレス開発の加速 | Amazon Web Services ブログ
Lambda
第2回から第6回
コンテナ利用者に捧げる AWS Lambda の新しい開発方式 ! ~ 第 2 回 コンテナ Lambda を開発、まずは RIC と RIE を使ってみよう ! - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
コンテナ Lambda をカスタマイズして、自分好みの PHP イメージを作ろう ! ~コンテナ利用者に捧げる AWS Lambda の新しい開発方式 ! ~ 第 3 回 - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
コンテナ Lambda を AWS SAM でデプロイしよう ! ~コンテナ利用者に捧げる AWS Lambda の新しい開発方式 ! ~ 第 4 回 - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
コンテナ Lambda の CI/CD パイプラインの考え方 ~コンテナ利用者に捧げる AWS Lambda の新しい開発方式 ! ~ 第 5 回~ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
コンテナ Lambda の CI/CD パイプラインを SAM Pipeline で作ろう ! ~コンテナ利用者に捧げる AWS Lambda の新しい開発方式 ! ~ 第 6 回 - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
- AWS Lambdaによる進化的アーキテクチャの構築 | Amazon Web Services ブログ
- お役立ち Twitter Bot を作りながら学ぶ AWS ドリル ~第 1 回 おはよう Bot 編 - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
- エラー制御の勘所とモニタリング 20210909_serverless_session2★
- Operating Lambda: パフォーマンスの最適化 | Amazon Web Services ブログ
Step Functions
- AWSサーバーレスバッチ処理アーキテクチャの構築 | Amazon Web Services ブログ
- AWS Step Functions 入門ハンズオンを公開しました!&今年公開したコンテンツ総まとめ – AWS Hands-on for Beginners Update | Amazon Web Services ブログ
- AWS Step Functions を使用してサーバーレスアプリケーションでエラーに対処する方法 | AWS
- 分散システムにおけるSagaパターンのAWS Step Functions による実装 #AWSDevDay - Speaker Deck
DB
- DynamoDB を使用した設計とアーキテクチャの設計に関するベストプラクティス - Amazon DynamoDB
- 20190905_イチから理解するサーバーレスアプリ開発-サーバーレスアプリケーション向きのDB 設計ベストプラクティス
- DynamoDB の設計について考えてみる。 - Qiita
テスト
- Serverlessをテストしよう / Serverless Testing - Speaker Deck
- 2021年版、サーバーレスのテスト手法を考える / Serverless Testing 2021 - Speaker Deck
ユーザーズ
学習
-
株式会社リクルート エンジニアコース新人研修の内容を公開します!(2021年度版)
- いろいろな資料がある。
- クラウドエンジニア(AWS)ロードマップ2021 - Qiita
- API Gateway + Lambda + DynamoDB サーバレスWebAPI開発まとめ - Qiita
設計
セキュリティー
- IAMとは? - Qiita
- (初心者向け) AWSのアカウントを守るために最低限やっておきたいことまとめ ( IAMメイン ) - Qiita
- AWSアカウントを作ったときこれだけはやっとけって言うIAMの設定
- AWSアカウントを作ったら最初にやるべきこと 〜2021年版〜 #devio2021 | DevelopersIO
- [2021年版]AWSセキュリティ対策全部盛り[初級から上級まで] というタイトルでDevelopersIO 2021 Decadeに登壇しました #devio2021 | DevelopersIO
- AWSアカウント作成時にやるべきこと - NRIネットコムBlog
- AWSマルチアカウント管理で気になること
- "ざっくり"話す"AWS IAM"の特権昇格の考え方と対策 - Speaker Deck
- [アップデート] 「最小権限の実装」が容易に!過去の CloudTrail イベントに基づいて IAM ポリシーを生成できるようになりました | DevelopersIO
- AWSのCLI作業はどこで行う? 安全に管理するパターンとメリデメ集 | DevelopersIO
- クラウドセキュリティ監査ツール「Scout Suite」を使って、ゆるゆる設定のAWS環境をチェックしてみた - Qiita
- [AWS利用者必読] アクセスキー漏洩による不正利用について | DevelopersIO
- サーバーレスのセキュリティリスク - AWS Lambdaにおける脆弱性攻撃と対策 - Flatt Security Blog
デプロイ
その2から番外編
CloudFormationをゼロから勉強する。(その2:デザイナーからのテンプレート作成) - Qiita
CloudFormationをゼロから勉強する。(その3:パラメータの入出力) - Qiita
CloudFormationをゼロから勉強する。(その4:コマンドからの操作) - Qiita
CloudFormationをゼロから勉強する。(その5:マッピングと条件式) - Qiita
CloudFormationをゼロから勉強する。(その6:Transformによるインクルード) - Qiita
CloudFormationをゼロから勉強する。(その7:変更セットとドリフト検出) - Qiita
CloudFormationをゼロから勉強する。(その8:スタックのネスト) - Qiita
CloudFormationをゼロから勉強する。(番外編:AWS Perspective) - Qiita
- AWS SAMでHTTP APIを実装する。CORSも設定する。REST APIと微妙に違う! - Fusic Tech Blog
- AWS SAMのCORSを設定する(REST APIバージョン) - Qiita
- AWS SAM/CloudFormationのテンプレートでDynamoDBテーブル名をLambdaの環境変数に設定するには? - 銀の弾丸
- Serverless Frameworkを使ってLambda + API GatewayのプロジェクトをProduction / Developmentに分けて開発する - ぴよまるの雑多な技術所
Lambda
- Github Actions(IAMロール認証)を使ったLambdaへのデプロイ - Qiita
- 郵便番号APIのようなシンプルなREST APIをlambdaで作る時にマスターデータを何で持つべきか計測してみた
- AWS Lambda+SNSでSMSを送付してみた! ~社内で大不評の【誰得?】シリーズ~ - Qiita
- Lambdaのライフサイクルついて学ぶ
- AWS ECR + Lambdaを使ってみる
- S3 静的ウェブサイトにサーバーレスなお問い合わせフォームを実装してみた(Amazon SES + AWS Lambda + API Gateway) | DevelopersIO
- 今から始めるLambda①「概要・関数の作成」
②から⑦
- Lambdaで巨大なファイルを処理する方法 - SO Technologies 開発者ブログ
- Lamda×DynamoDB×LINEボット
- AWS LambdaでAPI開発するときのパターン集 - Qiita
- AWS Lambdaを使ってサーバレスアプリを作成(CRUDのR) - Qiita
- AWS Lambdaの裏側をなるだけ詳しく解説してみる - Sweet Escape
- Lambdaの名前を変えただけなのに - Qiita
- Lambdaの実行環境について(コールドスタートとウォームスタート)
.NET
- AWSで.NET 5を利用する | Amazon Web Services ブログ
- C# and AWS Lambdas, Part 6 – .NET 5 inside a Container inside a Lambda | no dogma blog
- [レポート] AWSで高性能の.NETサーバーレスアーキテクチャを構築する #XNT401 #reinvent | DevelopersIO
- .NET5 コンテナ + OpenCvSharpで作る画像処理Lambda
API Gateway
ECS
- 7年続いたサービスをEC2構成からECS構成へ乗り換えた話 - KAYAC engineers' blog
- ECS Execを用いてコンテナにログインする - Qiita
- AWS: ECSのCPUユニット(CPU Units)について - Qiita
DB
DynamoDB
- DynamoDBのロギング戦略について、あるいはDynamoDB PTIRのユースケースについて - Qiita
-
aaronshaf/dynamodb-admin: GUI for DynamoDB Local or dynalite
- ローカル向けのDynamoDBのGUIツール
Aurora Serverless
NoSQL
テスト
LocalStack
- WSL2上のUbuntu 20.04でLocalStackを使ってみる
- LocalStack上にAPI Gateway、Lambda、DynamoDB環境を構築してみる
- LocalStack上にServerlessでAPI Gateway、Lambda、DynamoDBを構築してみる
- LocalStack上にAWS SAMでAPI Gateway、Lambda、DynamoDBを構築してみる
- GitHub ActionsでLocalStackを動かしてみた|Dentsu Digital Tech Blog|note
- LocalStackに保存するデータを永続化する - CLOVER🍀
その他
GitHub
- AWS S3+GitHub Actions+IP制限でwebサイトをホスティングする - Qiita
- Github Actions(IAMロール認証)を使ったLambdaへのデプロイ - Qiita
- GitHub Actions の OpenID Connect サポートについて
- GitHub ActionsのOIDCを使ってAWS公式のActionsを動かす方法
- GitHub ActionでDockerコンテナをビルドしてAmazon ECRに保存する | DevelopersIO
- GitHub Actions + AWS CodeBuildでPRごとの検証環境を作ってみた
- GitHub ActionsにAWSクレデンシャル情報を渡さずにTerraformでCI/CDをやってみた
書籍
-
[ad]AWSではじめるインフラ構築入門 安全で堅牢な本番環境のつくり方
- サーバレス本ではないがWebでの操作に関して参考になった。
-
- [ad]基礎から学ぶ サーバーレス開発
- サーバレスに関してまとまって書かれてる。参考になる。
-
[ad]AWSではじめる クラウド開発入門
- ↑AWSによるクラウド入門の書籍版
- [ad]Amazon.co.jp: 動かして学ぶ!Pythonサーバレスアプリ開発入門
- [ad]AWS Lambda実践ガイド 第2版 (impress top gear)
個人出版
- [ad]AWS Lambda DynamoDB API GatewayでTwitterボット作成: サーバレスアーキテクチャを学ぼう
- [ad]サーバーレスを学ぼう AWS Lambda DynamoDB API GatewayでLINEボット作成: LINE messaging API対応
- React + TwitterAPI + Lambda でwebアプリを作ってみる
- クリーンアーキテクチャとサーバレスで実装するWebAPI
-
クラウド破産を回避するInfrastructure as Code実践ガイド
- サーバレスではない。セキュリティー関連の内容。
技術の泉シリーズ
- [ad]PHPでもサーバーレス!AWS Lambda Custom Runtime入門
- [ad]ほぼPythonだけでサーバーレスアプリをつくろう
- [ad]GoとSAMで学ぶAWS Lambda
- [ad]Amazon Web Servicesサーバーレスレシピ
- [ad]実践Terraform AWSにおけるシステム設計とベストプラクティス
- [ad]AWS/サーバレスでつくる!安心安全PDF
- [ad]Amazon Web Services コスト最適化入門
-
キーワードが悪いのかもしれないが ↩︎
Discussion