はじめに
AWS認定デベロッパーアソシエイト取得に向けた学習ログです。
学習期間
2020年7月6日~7月12日
学習ログ
ElastiCacheクラスターのキャッシュ戦略例
- 要件
- キャッシュ内のデータは常に最新にする
- 読みとられないデータを自動的に削除してクラスター内の無駄なスペースを最小限にしたい
- 実現方法
- 書き込みスルー戦略を実装
- TTLを有効にする
- Time To Live
- 有効期限
- 書き込みスルー戦略とは
- データがDBに書き込まれると常にデータを追加するか、キャッシュを更新する
- 利点
- 常にキャッシュが最新の状態になる
- キャッシュのデータが古くならない
- 欠点
- 新しいノードで、見つからないデータがある
- 遅延読み込みを実装すると最小限に抑えられる
- 必要なときのみキャッシュにデータを読み込む戦略
- リソースのムダが発生する
- 新しいノードで、見つからないデータがある
EC2のメモリとスワップの使用状況を追跡する
- 実現方法
- CloudWatchエージェントをインストールする
- EC2の内部情報(メモリやディスク情報)は、デフォルトでは取得できない
- AWSが各ユーザの内部インスタンス情報を取得できないように設計されているため
- 内部情報を取得するためにはエージェントをインストールする
API Gateway Lambda authorizerでクエリ文字列パラメータを使用する
- 要件
- Lambda、API Gateway、DynamoDBを使用
- API Gateway Lambdaオーソライザーを使用して、WEBアプリへのAPIRequestを認証
- 認証プロセスは、API呼び出し元からヘッダー及びクエリ文字列パラメータを受け入れる
- 実現方法
- リクエストパラメータベースのLambdaオーソライザーを使う
- Lambdaオーソライザーとは
- Lambda関数を使用してAPIアクセスを制御するAPI Gatewayの機能
- 用途
- OAuthやSAMLなどベアラートークン認可戦略
- Bearer(担い手)トークン
- トークンの所有のみで決定するもの
- 持参人トークン、署名なしトークンとも言う
- Bearer(担い手)トークン
- 発信者IDを特定するためにリクエストパラメータを使用する
- OAuthやSAMLなどベアラートークン認可戦略
- 種類
- トークンベース
- JSONウェブトークンや、OAuthトークンなどのベアラートークン
- リクエストパラメータベース
- ヘッダー
- クエリ文字列パラメータ
stageVariables
$context
変数
- トークンベース
- Lambdaオーソライザーの認証の流れ
Redisコマンドを実行する権限が付与される前に、パスワードを入力させたい
- 実現方法
- Redisクラスターによってい生成された
Redis AUTH
を使用して認証する
- Redisクラスターによってい生成された
- Redis AUTHとは
- AUTHコマンドによって認証されない限り、Redisはあらゆるコマンドを受け付けない
1GBを超えるSQSキューを処理したい
- 実現方法
- S3を使う
- Amazon SQS拡張クライアントライブラリを使用する
- SQS拡張クライアントライブラリとは
- Java用
- 2GBまでのサイズのメッセージを保存・処理できる
Codeシリーズを使ってCI/CDを行う際に、CodeCommitからEC2にデプロイしたい
- 実現方法
CodeDeploy Agent
をEC2にインストールする
AWS CLIでEC2のCloud Watch詳細モニタリングを有効化する
- 実現方法
aws ec2 monitor-instances --instance-ids i-1234567890