紙一重の積み重ね

アラフォーのエンジニアがなれる最高の自分を目指して、学んだことをこつこつ情報発信するブログです。

【AWS学習】育児の合間に認定デベロッパーアソシエイト学習④

f:id:yokoyantech:20200621160338p:plain

はじめに

AWS認定デベロッパーアソシエイト取得に向けた学習ログです。

学習期間

2020年7月6日~7月12日

学習ログ

ElastiCacheクラスターのキャッシュ戦略例

  • 要件
    • キャッシュ内のデータは常に最新にする
    • 読みとられないデータを自動的に削除してクラスター内の無駄なスペースを最小限にしたい
  • 実現方法
    • 書き込みスルー戦略を実装
    • TTLを有効にする
      • Time To Live
      • 有効期限
  • 書き込みスルー戦略とは
    • データがDBに書き込まれると常にデータを追加するか、キャッシュを更新する
    • 利点
      • 常にキャッシュが最新の状態になる
      • キャッシュのデータが古くならない
    • 欠点
      • 新しいノードで、見つからないデータがある
        • 遅延読み込みを実装すると最小限に抑えられる
        • 必要なときのみキャッシュにデータを読み込む戦略
      • リソースのムダが発生する

docs.aws.amazon.com

EC2のメモリとスワップの使用状況を追跡する

  • 実現方法
    • CloudWatchエージェントをインストールする
    • EC2の内部情報(メモリやディスク情報)は、デフォルトでは取得できない
      • AWSが各ユーザの内部インスタンス情報を取得できないように設計されているため
      • 内部情報を取得するためにはエージェントをインストールする

docs.aws.amazon.com

API Gateway Lambda authorizerでクエリ文字列パラメータを使用する

  • 要件
    • Lambda、API Gateway、DynamoDBを使用
    • API Gateway Lambdaオーソライザーを使用して、WEBアプリへのAPIRequestを認証
    • 認証プロセスは、API呼び出し元からヘッダー及びクエリ文字列パラメータを受け入れる
  • 実現方法
    • リクエストパラメータベースのLambdaオーソライザーを使う
  • Lambdaオーソライザーとは
    • Lambda関数を使用してAPIアクセスを制御するAPI Gatewayの機能
    • 用途
      • OAuthやSAMLなどベアラートークン認可戦略
        • Bearer(担い手)トークン
          • トークンの所有のみで決定するもの
          • 持参人トークン、署名なしトークンとも言う
      • 発信者IDを特定するためにリクエストパラメータを使用する
    • 種類
      • トークンベース
        • JSONウェブトークンや、OAuthトークンなどのベアラートークン
      • リクエストパラメータベース
        • ヘッダー
        • クエリ文字列パラメータ
        • stageVariables
        • $context変数

docs.aws.amazon.com

  • Lambdaオーソライザーの認証の流れ

docs.aws.amazon.com

Redisコマンドを実行する権限が付与される前に、パスワードを入力させたい

  • 実現方法
    • Redisクラスターによってい生成されたRedis AUTHを使用して認証する
  • Redis AUTHとは
    • AUTHコマンドによって認証されない限り、Redisはあらゆるコマンドを受け付けない

docs.aws.amazon.com

1GBを超えるSQSキューを処理したい

  • 実現方法
    • S3を使う
    • Amazon SQS拡張クライアントライブラリを使用する
  • SQS拡張クライアントライブラリとは
    • Java用
    • 2GBまでのサイズのメッセージを保存・処理できる

docs.aws.amazon.com

Codeシリーズを使ってCI/CDを行う際に、CodeCommitからEC2にデプロイしたい

  • 実現方法
    • CodeDeploy AgentをEC2にインストールする

AWS CLIでEC2のCloud Watch詳細モニタリングを有効化する

  • 実現方法
    • aws ec2 monitor-instances --instance-ids i-1234567890