APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

AWS デベロッパー アソシエイト(DVA)のよく問われるサービス・頻出パターンをまとめてみた

◆記事概要

AWS Certified Developer - Associate(AWS DVA)に合格したので、理解するのに苦労したサービス、 選択肢への対応を軽くまとめてみました。
この記事はAWS DVA試験を解くに当たって分かりづらいサービスやよく出る出題パターンをまとめたものです。
サービスについて詳しく説明はしておりません。AWS公式のURLを載せてありますので、参照してください。

◆筆者情報・取得資格

AWSは実務未経験、オンプレミスのインフラ経験が2年あります。
AWSの資格はAWS SAA→AWS SAP→AWS DVAの順に取得しました。

★初見で理解できない単語、拡張子の質問

  • 署名付きAPIリクエストの作成
    以下の二通りの方法がある。

    1. Authorization HTTPヘッダーに署名を追加
      → 署名付きリクエストを使用する場合、署名はAuthorizationという名のHTTPヘッダーに追加される。

    2. X-Amz-Signatureクエリ文字列パラメータに署名を追加
      → X-Amz-Signatureという名のクエリ文字列パラメータに署名を追加することでプリサインされたURLなど特定のケースでリクエストに署名を添付できる。

  • S3の暗号化:x-amz-server-side-encryptionヘッダー
    → HTTPヘッダーでx-amz-server-side-encryption : AES-256 とすることで、Amazon S3のサーバーサイドでAES-256という暗号化規格を使って暗号化することを示している。

  • HTTPヘッダー「Cache-Control: max-age=0」
    → APIキャッシュを無効にする。

  • アプリケーションが使用できるようになる前にコマンドを実行できるElastic Beanstalkの機能
    → 「.ebextensions」というフォルダに設定ファイル(.config)を配置する。 docs.aws.amazon.com

  • Amazon ECSで環境変数を設定するパラメータ
    → タスク定義の「environment」パラメータで環境変数を設定出来る。
    →「EntryPoint」パラメータはコンテナが開始されるときに実行されるコマンドをオーバーライドするためのもの。

  • ReceiveMessage APIのMaxNumberOfMessagesパラメータ
    → Amazon SQSを使用したアプリケーションが一度に受信できるメッセージの最大数を指定できる。

  • buildspec.ymlとは
    → CodeBuildのビルドプロジェクトのビルド手順を定義するファイル。

  • appspec.ymlとは
    → AWS CodeDeployのデプロイメント手順を定義するファイル。
    デプロイのためのアプリケーションファイルの場所や、アプリケーションのデプロイ手順が含まれている。

★よく出る問題

  • 1回のAPI呼び出しでDynamoDBから複数項目を取得する。
    → BatchGetItem(1つ以上の項目を取得)が正解。
    他の選択肢として、GetItemは一つの項目を取得する。
    Queryは、特定のキー属性に基づいて項目を取得するため、項目自体を指定して取得できない。
    Scanは、複数項目取得できるが、全項目スキャンするためDBへの負荷が高い。

  • Lambda@Edge関数の作成について
    → Lambda@Edgeは、us-east-1リージョンでのみ作成することができる。その他リージョンでLambda@Edgeを作成しようとしてエラーになっている問題が出る。

  • セッション情報の保存を問われる問題
    → ElastiCacheの選択肢を選ぶ。S3、DBその他は適していない。

★良く問われるサービス

●Amazon Cognito

IDプール・ユーザープールどちらを使用するか問われる問題がよく出る。
Amazon Cognito(ウェブ/モバイルアプリのユーザー管理)| AWS

  • Amazon Cognito IDプール
    → IDプールでは認可 (アクセスコントロール) が出来る。ユーザーに一意のIDを作成して、他のAWSサービスへのアクセスを許可出来る。
    Amazon Cognito アイデンティティプール - Amazon Cognito

  • Amazon Cognit ユーザープール
    → ユーザープールでは認証(アイデンティティの検証)が出来る。アプリユーザーはユーザープールを通じたサインインや、サードパーティーのアイデンティティプロバイダー(IdP)を介した連携が出来る。
    Amazon Cognito user pools - Amazon Cognito

●DynamoDBのセカンダリインデックス

多くの場合、グローバルセカンダリインデックスはローカルセカンダリインデックスよりも便利である。
ローカルセカンダリインデックスを選ぶ問題は今のところ見たことがない。ほとんどの問題はグローバルセカンダリインデックスが正解だった。
DynamoDB のセカンダリインデックスの一般的なガイドライン - Amazon DynamoDB

  • DynamoDBのローカルセカンダリインデックス
    → パーティションキーはベーステーブルと同じだが、ソートキーが異なるインデックス。
    ローカルセカンダリインデックスのすべてのパーティションの範囲が同じパーティションキーバリューを持つベーステーブルのパーティションに限定されるため、 任意の1つのパーティションキーバリューに対してインデックスが作成された項目の合計サイズが、10GBを超えることはない。
    ローカルセカンダリインデックスでは、読み込みアクティビティおよび書き込みアクティビティのプロビジョニングされたスループット設定が、インデックス作成中のテーブルと共有される。

  • DynamoDBのグローバルセカンダリインデックス
    → パーティションキーおよびソートキーを持つインデックス。
    グローバルセカンダリインデックスにはサイズの制限はなく、読み込みアクティビティと書き込みアクティビティ用にプロビジョニングされた独自のスループット設定がテーブルのものとは異なる。

●AWS X-Ray

→ リクエストがアプリケーションを通過する際の完全なビューを提供し、ペイロード、関数、トレース、サービス、APIなどのビジュアルデータをノーコードおよびローコードモーションでフィルタリングする。
AWS X-Ray(分散アプリケーションの分析とデバッグ)| AWS

  • X-Rayデーモン
    → UDPポート2000でトラフィックをリッスンし、生のセグメントデータを収集し、それをAWS X-Ray APIに中継するソフトウェアアプリケーション。
    AWS X-Ray デーモン - AWS X-Ray

  • X-Ray SDK
    → トレースデータを生成して X-Ray デーモンに送信するためのクラスとメソッドを提供するアプリケーション用のライブラリセット。
    Java, .NET, Node.js, Python, Ruby, Goなどの言語に対応している。
    AWS X-Ray 用の SDK Java - AWS X-Ray

●Amazon Macie

→ 機密データの検出と保護に焦点を当てたデータセキュリティとデータプライバシーのフルマネージドサービス。
Amazon Macie とは - Amazon Macie

●Amazon GuardDuty

→ AWSアカウントとワークロード、Amazon S3に保存されたデータの脅威検出に焦点を当てたサービス。
Amazon とは何ですか GuardDuty? - Amazon GuardDuty

★ログ系サービスの違い

◆まとめ・最後に

AWS DVAの受験の参考になればうれしいです。
SAA、SAPとは違い、複雑な内容は問われません。問題集をひたすら解いて、解説を熟読すれば、未経験でも理解できる内容でした。
次はAWS SysOps Associateに挑戦してみたいと思います。