【解説】AWS DVAの対策方法・重要サービスまとめ【DVA-C02】

目次

【解説】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の合格体験記を別記事でまとめています。

あわせて読みたい
【合格体験記】2週間でAWS DVA(DVA-C02)に一発合格! 【【合格体験記】2週間でAWS DVA(DVA-C02)に一発合格!】 2023/05/16にAWS DVA(DVA-C02)に合格できました!今後AWS DVA(DVA-C02)を受験予定の方の参考になれば幸...

AWS DVAにおすすめの参考書・問題集

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

あわせて読みたい
【2023年版】AWS DVAのおすすめ参考書・問題集!【DVA-C02】 【【2023年版】AWS DVAのおすすめ参考書・問題集!【DVA-C02】】 AWS DVA(AWS Certified Developer - Associate)におすすめの参考書、問題集を紹介します。 自身もAWS...

AWS DVAの難易度と勉強期間

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

あわせて読みたい
【必見】AWS DVAの難易度と必要な勉強時間【DVA-C02】 【【必見】AWS DVAの難易度と必要な勉強時間【DVA-C02】】 AWS DVA(DVA-C02)の30個の合格体験記から難易度、勉強期間、勉強時間を調べてみました。 調査した概要は以...

この記事が気に入ったら
フォローしてね!

目次