2019.07.02
Web Applications
Backends
ユーザー管理とアイデンティティ
エッジ
メッセージング/ストリーミング
コンピュート
データ
システム監視とデプロイ
セキュリティの柱
考慮事項例
考え方例
Cognito User Pools Authorizer
AWS IAM Authorization
Lambda Authorizer
考慮事項例
考え方例
考慮事項例
考え方例
AWS WAFルールに基づいた保護
考え方例
AWS Secrets Manager
基盤(FOUDATION)
移行(MIGRATION)
仮想サーバ管理ツールと同じ役割分担では運用が非効率
共通運用チームの管理するアカウント
請求
セキュリティ&監査
共有サービス
アプリケーション
テンプレート検証
cfn-lint
cfn-nag
意図的にコントロール、ガバナンスを効かせる仕組みづくりが必要
キャパシティプランニング
異常検知
RANDOM_CUT_FOREST
ノイズキャンセリング
Resiliency
Error Ingestion
Authenticate
自動化と抽象化によって課題から解放
サーバーレスアーキテクチャは最小の努力で最大のアジリティを提供
コンピュートの選択はトランスフォーメーションの核心
AWS Cloud Development Kit(CDK)
CI/CDを自動化しているチームはコードをより速く、自信を持って書いている
AWS Developer Tools for CI/CD
分散されたアプリケーションをどのように可視化すべきか?
API Gatewayは以下の機能を簡単に実現できる
AWS Cloud Map
コンテナのサイドカー
Polyglotパーシステンス
SPAのCI/CDにはAWS Amplify Consoleを活用可能
コンテナへのデプロイはCodePipelineを活用可能
AWS Lambdaへのカナリアデプロイ
re:Cap 2日目で、昨日よりも上手にメモできるようになった気がする。
サーバーレスのセッションでは、Cognito User PoolsでJWT Tokenを発行して、それをAPI Gatewayで検証する方法と、Cognito Identity PoolsでIAMのCredentialsを発行して、それを使ってIAMポリシーでの認可を行う方法を改めて整理することができた。
このあたりが明確になっていなかったから、昔「AWS AppSyncの認証モードをCognito User Poolsにしたときに未認証でアクセスできなくて困っています」なんて質問をしてしまっていたのだと思う。
サーバーレスのセキュリティに関してはまだ全然検討できていなくて、AppSyncのエンドポイントに不正なリクエストが大量に来たらどうするかなど考えてもいなかった。
API Gatewayの場合はAWS WAFを連携してスロットリングやブロックができるとのことだったので、AppSyncではどのようにやるのか、そもそも必要なのかを今後調査して適宜取り入れていきたい。
モダンアプリケーション/マイクロサービスのあたりの話では、昨日のDay1でのサービスメッシュの話にも共通する内容だったので理解しやすかった。
各サービスはシンプルに保って、その間の通信を担当するサービスを組み合わせよう、という考え方がより深まった気がする。
サーバーレスでのバックエンド開発においては、各マネージドサービス間の通信をAWS X-Rayで可視化することでボトルネックを見つけられるようになるとのことなので、そこからモニタリングとパフォーマンスチューニングを始めてみようと思う。