【解説】AWS DVAの対策方法・重要サービスまとめ【DVA-C02】
AWS DVA(DVA-C02)対策として学んだことをアウトプットしていきます。2週間の学習期間でAWS DVA(DVA-C02)に合格できましたが、実際の試験に出題された内容とは一切関係ありませんので注意してください。
第1分野: AWS のサービスによる開発(32%)
データのアクセスパターンが不定期である場合や、アクセス頻度が低いが急激にアクセス頻度が変化するような場合に最適なS3ストレージクラス
S3 Intelligent-Tiering
オブジェクトが削除または上書きされることを、一定期間または無期限に防止できるS3の機能
S3 オブジェクトロック
S3 オブジェクトロックのリテンションモードの1つで、特別なアクセス許可を持たない限り、ユーザーがオブジェクトのバージョンの上書きや削除、ロック設定を変更できないモード
ガバナンスモード
S3 オブジェクトロックのリテンションモードの1つで、AWSアカウントのroot ユーザーを含めたすべてのユーザーが、保護されたオブジェクトのバージョンを上書きまたは削除することはできないモード
コンプライアンスモード
S3 Glacier Flexible Retrieval ストレージクラス、または、S3 Intelligent-Tiering Archiveアクセス階層に保存されているデータにすばやくアクセスできる、S3アーカイブの取り出しオプション
Expedited(迅速)
Amazon S3バケットにアクセスするクライアントのアクセスログを記録するための機能
S3 サーバーアクセスログ
S3で、大量のオブジェクトを一括で変更、削除、または移動するための機能
S3 Batch Operations(S3 Batch Operations job)
インターネットの任意のユーザーや他の組織外のAWSアカウントにアクセス許可されているS3バケットがあれば特定し、警告表示する機能
Access Analyzer for S3
高速でリアルタイムのデータ処理が必要なアプリケーションで利用されるDynamoDBの高速キャッシュサービス
DynamoDB Accelerator(DAX)
DynamoDBのテーブルに保存されたアイテムに対して、必要な属性のみを取得できる機能
プロジェクション式
DynamoDBのデータ取得で利用されるAPIの1つで、単一のアイテムを取得できるAPI
GetItem
DynamoDBのデータ取得で利用されるAPIの1つで、条件に一致する複数のアイテムを検索できるAPI
Query
DynamoDBのデータ取得で利用されるAPIの1つで、テーブル内のアイテムを一括で検索できるAPI
Scan
主にリアルタイムデータ処理、トリガー、ロギング、セキュリティ監査などの用途で、DynamoDBテーブル内で発生した変更をリアルタイムで取得できるサービス
DynamoDB stream、または、DynamoDB用Kinesis Data Streams
DynamoDBデータベースで使用されるインデックスの一つで、主キー以外の属性(パーティションキーとソートキー)を使用してデータを検索できる機能
グローバルセカンダリインデックス(Global Secondary Index, GSI)
通信エラーが発生した場合、すぐに再試行を行うと、エラーがさらに増加する可能性があるため、一定の時間をおいて再試行を行うアルゴリズム
エクスポネンシャルバックオフ
AWSが提供するアプリケーション開発フレームワークの1つで、AWS Lambda、API Gateway、DynamoDBなどのサーバーレスサービスを使用してアプリケーションを開発するためのフレームワーク
AWS Serverless Application Model (SAM)
AWS SAM テンプレートにおいて、Lambda 関数の新しいバージョンをデプロイし、新しいバージョンをポイントするエイリアスを自動的に作成することで段階的にデプロイできるプロパティ
AutoPublishAlias
Amazon Kinesis Data Streamsのシャードとは
ストリーム内のデータを分割して処理するために使用されるストリーム内の一意に識別されたデータレコードのシーケンス
Amazon Kinesis Data Streamsのストリームとは
シャードのセット
Amazon KinesisでAWS Lambdaをコンシューマーとして使用するときに、レイテンシーを最小限に抑え、読み取りスループットを最大化できる機能
データストリームコンシューマー
CloudWatchで利用できるLambda 関数のメトリクスで、関数コードが呼び出された回数(成功した呼び出しや関数エラーが発生した呼び出しを含む)を表すメトリクス
Invocations
CloudWatchで利用できるLambda 関数のメトリクスで、スロットリングされた呼び出しリクエストの数を表すメトリクス
Throttles
CloudWatchで利用できるLambda 関数のメトリクスで、ストリームがレコードを受信してから、イベントソースマッピングがイベントを関数に送信するまでの時間を表すメトリクス
IteratorAge
CloudWatchで利用できるLambda 関数のメトリクスで、イベントを処理している関数インスタンスの数を表すメトリクス
ConcurrentExecutions
Amazon S3を使用した大量のAmazon SQSメッセージの管理に役立つライブラリ
Amazon SQS Java用拡張クライアントライブラリ
アプリケーションの動作に関する詳細な情報を収集、視覚化し、デバッグ、分析、および性能チューニングをサポートするフルマネージドサービス
AWS X-Ray
AWS X-Rayでアプリケーションを経由するリクエストのパスを追跡できるもの
トレース ID
AWS X-Rayでリソース名、リクエストの詳細、行った作業の詳細が含まれているもの
セグメント
AWS SAM テンプレートにおいて、新しいバージョンが期待どおりに動作していることを確認するまで、カスタマートラフィックを新しいバージョンに段階的に移行できるプロパティ
Deployment Preference Type
AWS SAM テンプレートのDeployment Preference Typeで、トラフィックを2回の増分で移行するタイプ
Canary(カナリア)
「Canary10Percent10Minutes」であれば、カスタマートラフィックの 10% が直ちに新しいバージョンに移行され、10 分後にすべてのトラフィックが新しいバージョンに移行される。
AWS SAM テンプレートのDeployment Preference Typeで、トラフィックを毎回同じ間隔(分)の等しい増分で移行するタイプ
Linear(リニア)
「Linear10PercentEvery10Minutes」であれば、10分ごとにトラフィックを10%ずつ新しいバージョンに移行するため、100分後にすべてのトラフィックが新しいバージョンに移行される。
アプリケーションがSQSキューのメッセージを処理して削除するまでの最大所要時間設定
可視性タイムアウト(Visibility Timeout)
コンシューマーがメッセージを受信したとき、そのメッセージは一定時間キューから非表示になり、コンシューマーが処理を完了するまで他のコンシューマーからは見えなくなります。
SQSキュー内の指定されたメッセージの可視性タイムアウトを新しい値に変更できるAPIアクション
ChangeMessageVisibility
参考
複数のAWSリージョンにまたがる分散型アプリケーションの可視化とトラブルシューティングを支援し、アプリケーションによって生成されたトレースデータをビジュアルに表現したAWS X-Rayの機能
X-Ray サービスマップ
Amazon EC2、AWS Fargate、AWS Lambda、オンプレミスインスタンスなど、さまざまなコンピューティングサービスへのアプリケーションのデプロイを自動化するサービス
AWS CodeDeploy
AWS CodeDeployによって使用される、デプロイメントプロセスを定義するためのアプリケーション仕様ファイル
AppSpec ファイル
EC2インスタンスにアタッチされているすべて、または、一部のEBS ボリュームのポイントインタイムスナップショットを作成できるEBSの機能
EBS マルチボリューム スナップショット
EC2のキャパシティ予約の所有者が、リザーブドキャパシティを他のAWS アカウントやAWS 組織内に共有できる機能
キャパシティ予約の共有
EC2リザーブドインスタンスを将来の日時で購入する場合の設定方法
キューに入れる
ブロックの初回アクセス時における I/O オペレーションのレイテンシーがなく、EBSスナップショットから高速でリストアできる機能
EBS 高速スナップショット復元 (FSR)
SSHキーを管理せず、Secure Shell (SSH) を使用してEC2インスタンスに接続できるEC2の機能
EC2 Instance Connect
Lambda関数用でデータを一時的に保持できるファイルシステム
エフェメラルストレージ
ブラウザのみでコードを記述、実行、デバッグできるクラウドベースの統合開発環境 (IDE)
AWS Cloud9
フルマネージド型のアーティファクトリポジトリサービスであり、あらゆる規模の組織がソフトウェア開発プロセスで使用されるソフトウェアパッケージを安全に保存、公開、および共有することを容易にするAWSサービス
AWS CodeArtifact
コードの品質を向上し、アプリケーションの最もコストがかかっているコード行を特定するのに役立つAWSサービス
Amazon CodeGuru
パフォーマンス、観測性、回復力を向上させるために、アプリケーションの弱点を洗い出せるAWSサービス
AWS Fault Injection Simulator
サーバーレスの GraphQL および Pub/Sub API を作成し、単一のエンドポイントを通じて安全にデータの照会、更新、公開を行うことで、アプリケーションの開発を簡素化できるAWSサービス
AWS AppSync
第2分野: セキュリティ(26%)
AWS Encryption SDKの一部で、暗号化や復号化に使用されるデータキーを一定期間メモリにキャッシュすることで、パフォーマンス向上やコスト削減に役立つ機能
データキーキャッシュ
第3分野: デプロイ(24%)
RESTful APIやWebSocket APIを簡単に作成、公開、管理できるマネージド型のAPIゲートウェイサービス
API Gateway
API Gatewayで本番環境に影響を与えることなく、新しいバージョンのAPIを少数のユーザーに対して公開する方法
Canaryリリース(カナリアリリース)
CORS(Cross-Origin Resource Sharing)でクロスドメインアクセスを実現する際に利用され、異なるオリジンからのリクエストに対してアクセスを許可するHTTPレスポンスヘッダ
Access-Control-Allow-Originレスポンスヘッダー
コンテナのデプロイ、スケーリング、ロードバランシングなどを自動化し、Dockerコンテナをスケールするための機能をもつフルマネージドなコンテナオーケストレーションサービス
Amazon Elastic Container Service (ECS)
AWS X-Rayを使用してAWS Lambda 関数をトレースする設定
LambdaでAWS X-Rayの「アクティブトレース」を有効化する
AWS Systems Managerの機能であり、アプリケーション設定、検証、デプロイ、モニタリングまで網羅して迅速にデプロイできるサービス
AWS AppConfig
Elastic Beanstalkで複数の異なるアプリケーションバージョンを同時に実行し、トラフィックを分割する機能
Traffic-splitting deployments(トラフィック分割デプロイ)
Elastic Beanstalkでアプリケーションデプロイメントの前に実行され、アプリケーション環境に対するカスタム設定をおこなえるオプションの設定ファイル
.ebextensions
Elastic Beanstalkによって作成されたアプリケーションバージョンがクォータに到達することを回避する機能
アプリケーションバージョンライフサイクル
DynamoDBで複数のAWSリージョン間でデータをレプリケーションし、グローバルスケールでのアプリケーションの利用をサポートするための機能
DynamoDB グローバルテーブル
ストリーミングデータを簡単かつ堅牢に収集、変換、配信するためのマネージドサービス
Amazon Kinesis Data Firehose
第4分野: トラブルシューティングと最適化(18%)
API Gateway のデプロイステージでは、アルファ、ベータ、本番稼働など、各 API 用の複数のリリースステージを管理できます。〇〇を使用することで、異なるバックエンドのエンドポイントとやり取りするよう API デプロイステージを設定できます。
ステージ変数
CodePipelineのステージで 1 つ以上の失敗したアクションがあると、どのような挙動をするか
パイプラインは実行を停止する
ビジネスプロセスやアプリケーションのワークフローを作成、実行、視覚化するためのフルマネージドサービス
AWS Step Functions
アプリケーションコードのコーディング、ビルド、テスト、デプロイに使用する開発および継続的な配信ツールチェーン全体を簡単に設定できるサービス
AWS CodeStar
Dockerコンテナイメージを保存、管理、デプロイできるプライベートレジストリーサービス
Amazon ECR (Elastic Container Registry)
Webアプリケーションの認証・認可において、サードパーティーの認証プロバイダーを使用する手法
ウェブ ID フェデレーション
Lambda関数がVPC内のリソースにアクセスするために必要なVPCの情報を2つ
サブネットIDとセキュリティグループID
Redis と互換性があり、超高速なパフォーマンス(すべてのデータがメモリ内に保存されるため、マイクロ秒の読み取りと 1 桁ミリ秒の書き込みのレイテンシー、そして高いスループット)を実現でき、耐久性のあるインメモリデータベースサービス
Amazon MemoryDB for Redis
AWS CodeStar の依存関係のバージョンを設定するベストプラクティス
常に特定のバージョンを指すように依存関係を設定する(バージョンピンニング)
機械学習を活用し、アプリケーションコードのボトルネックになっている部分の特定をサポートし、最適化のための推奨事項を提供してくれるデベロッパー用ツール
CodeGuru Profiler
空のレスポンスの数を削減することで、Amazon SQSの使用コストを削減するのに役立つ機能
SQS ロングポーリング
AWS DVAに役立つ情報まとめ
AWS DVAの合格体験記
AWS DVAの合格体験記を別記事でまとめています。

AWS DVAにおすすめの参考書・問題集
AWS DVAにおすすめの参考書・問題集を別記事でまとめているのでぜひ参考にしてください。

AWS DVAの難易度と勉強期間
AWS DVA(DVA-C02)の30個の合格体験記から難易度、勉強期間、勉強時間を調べてみたので、ぜひ参考にしてください。
