あきのの勉強ノート

書くところに困ったネタの集まり

AWS Developer Associate 勉強メモ その7

前回の続きです。

akkino-d-en.hatenablog.com

 

ついに残すところ1/4となりました。

このままラストスパートをかけていきたいと思います。

今回はDynamoDB, API Gateway, SAM, Cognitoです。

 

www.udemy.com

セクション20

  • DynamoDB
  • DynamoDB WCU & RCU
  • DynamoDB Basic APIs
  • DynamoDB Indexes (GSI + LSI)
  • DynamoDB Optimistic Concurrency
  • DynamoDB DAX
  • DynamoDB Streams
  • DynamoDB TTL
  • DynamoDB CLI
  • DynamoDB Transactions
  • DynamoDB Session State
  • DynamoDB Partitioning Strategies
  • DynamoDB Conditional Writes, Concurrent Writes & Atomic Writes

セクション21

セクション22

  • AWS SAM
  • SAM CLI
  • SAM API Gateway
  • SAM DynamoDB
  • SAM - CloudFormation Designer and Application Repository
  • SAM Policy Templates
  • SAM with CodeDeploy

セクション23

  • AWS Cognito
  • Cognito User Pools
  • Cognito Identity Pools
  • Cognito Sync

知らなかったこと・忘れてたこと

API Gatewayのエラーコード早見表

  • 4xx はクライアントのエラーを意味する
    ・400: Bad Request
    ・403: Access Denied, WAF filtered
    ・429: Quota exceeded, Throttle
  • 5xxはサーバーエラーを意味する
    ・502: Bad Gateway Exception
    通常は互換性のない出力が Lambda プロキシ統合バックエンドから返された場合や、高負荷による順番外の呼び出しの場合に発生する。
    ・503: Service Unavailable Exception
    ・504: Integration Failure
    エンドポイントリクエストのタイムアウト例外。API ゲートウェイのリクエストが最大 29 秒後にタイムアウトする

docs.aws.amazon.com

API Gateway HTTP API vs REST API

HTTP API

  • REST APIよりも低レイテンシかつコスト効率の良く、AWS Lambda関数やHTTPエンドポイントにリクエストを送信することが可能
  • OIDC および OAuth 2.0 認証とCORS、自動デプロイをサポート
  • Usage PlanやAPIキーはない

REST API

  • Native OpenID Connect / OAuth 2.0を除くすべての機能を利用可能

f:id:ddd-endow:20200810190443p:plain

docs.aws.amazon.com

SAM Summary

  • SAMはCloudFormation上に構築される
  • SAMはTransform および Resources セクションを必要とする
  • 知っておきたいコマンド
    ・-- sam build: 依存関係の取得とローカルのデプロイアーティファクトの作成
    ・-- sam package:パッケージ化してAmazon S3にアップロードし、CFテンプレートを生成
    ・-- sam deploy: CloudFormationへのデプロイ
  • SAMポリシーテンプレートで簡単にIAMポリシーを定義可能
  • SAMはCodeDeployと統合されており、Lambdaエイリアスへのデプロイが可能

docs.aws.amazon.com

Cognito User Pools vs Identity Pools

Cognito User Pools

  • ウェブおよびモバイルアプリケーションのユーザーのデータベース
  • Public Social, OIDC, SAML を通じてログインをフェデレートすることができる
  • 認証用のホストUIをカスタマイズ可能(ロゴを含む)
  • 認証フロー中にAWS Lambdaを使ったトリガーを使用可能

Cognito Identity Pools

  • ユーザーのAWSクレデンシャルを取得し、AWSへのアクセスが可能
  • ユーザーはパブリック・ソーシャル、OIDC、SAML、Cognitoのユーザープールを介してログイン可能
  • 認証されていないユーザー(ゲスト)も利用可能
  • ユーザーはIAMロールとポリシーにマッピングされ、ポリシー変数を活用することができる

CUP + CIP = ユーザー/パスワードの管理 + AWSサービスへのアクセス

aws.amazon.com

まとめ

今回は勉強していて楽しいセクションばかりでした(SAM除く)。

SAMはなんとなくでしか理解できなく、ハンズオンを見てもあまり何をやっているかわからなかったのであとでまとめて勉強し直します。

今回はServerless推しな章ばかりでしたが、残すところもあと少しなので引き続き頑張っていこうと思います。