💭
AWS Certified Developerに合格しました[2025.09.25]
AWS Cerified Solution Architect - Associateを取得済みです。Solution Architect - Professional取得に向けて、Associate関連の資格としてAWS Certified Developer取得ができました。
試験範囲のサービスとしては、
- Amazon API Gateway
- AWS Lambda
- AWS Dynamodb
など。サーバーレスのサービスの開発・設計がメインです。
詳細は、試験ガイドが参考になります。
学習方法
最初に試験問題セットを解きました。学習前時点で17/20正解しました。SolutionArchitect-Associateの資格内容を重複しているところがありました。
次に、
- AWS Skill Builder の無料範囲内でコンテンツを視聴、また試験問題セットを実施。
- CloudLicenseでAWS DVAの試験を解くこと
で学習しました。学習時間の目安は次の通りで、勉強期間は1ヶ月半です。
項目 | コスト | 時間 |
---|---|---|
AWS SkillBuilder | 無料 | 4時間程度 |
CloudLicense | 有料 | 20時間程度 |
合計学習時間 | - | 20-25時間程度 |
学習のポイント
学習の中で学んだことをまとめます。
開発
- Exponential Backoff
- 単純に等間隔リトライをすると過負荷状態が継続する可能性があり
- 間隔を「指数関数的」に伸ばすことで、リトライによる過負荷を緩和
AWS DynamoDB
-
プライマリーキー
- シンプルプライマリキー: パーティションキーのみで構成されます。各項目はパーティションキーで一意に識別されます。
- 複合プライマリキー: パーティションキーとソートキーの2つの属性で構成されます。
-
グローバルセカンダリインデックス
- 元のテーブルとは異なるインデックスを利用して検索できる
- 最新のビジネス書籍を全部知りたいなど、現状の書籍テーブルのインデックスとは異なるインデックスを利用
Amazon API Gateway
- AmazonAPIGatewayのステージ変数
- APIGatewayのステージ変数を用いてLambda関数を切り替える
AWS Lambda
- 同時実行数の設定: 予約された同時実行数
- 1つのLambda関数の実行環境の最大同時作成可能数
- スロットリング: これ以上実行環境を作成できない状況
- 1つのLambda関数の実行環境の最大同時作成可能数
- プロビジョニングされた同時実行数
- 事前にLambda実行環境を作成しておくこと
- レイヤー
- レイヤーは、コードの依存関係や共通ライブラリを関数本体から分離するために利用
- サイズ制限250MB
- https://docs.aws.amazon.com/lambda/latest/dg/chapter-layers.html
- EFS
特徴 | レイヤー | EFS |
---|---|---|
目的 | コードの再利用とデプロイの最適化 | 永続的なデータの読み書き |
データ形式 | ライブラリ、実行ファイル、共通コード | 永続的なファイルデータ(テキスト、画像、モデルなど) |
アクセス速度 | 関数のデプロイ時に含まれるため高速 | ネットワーク経由のためレイテンシがある |
ユースケース | 依存関係の共通化 | 大きなファイルや共有データの永続化 |
- Lambda関数のバージョンとエイリアス
- メモリの最適化 https://github.com/alexcasalboni/aws-lambda-power-tuning
- AWS Parameters and Secrets Lambda Extension
- SDK を使用せずに Lambda 関数でAWS Secrets Manager と Parameter Store パラメータを取得してキャッシュできます
- https://docs.aws.amazon.com/ja_jp/secretsmanager/latest/userguide/retrieving-secrets_lambda.html
AWS KMS
- KMSのAWS KMS keys (KMS キー)は、キーマテリアルと、そのキーマテリアルに関連付けられたメタデータ(ID、エイリアス、ポリシーなど)で構成。
- キーマテリアルとは、暗号化・復号化の実際の処理に使用される鍵の本体となるビット列
- AWS KMSが生成するキーマテリアル
- インポートされたキーマテリアル
- エンベロープ暗号化
- データを暗号化するとデータは保護されますが、暗号化キーを保護する必要があります
- エンベロープ暗号化は、データキーでプレーンテキストデータを暗号化してから、そのデータキーを別のキーで暗号化する手法です。
- https://docs.aws.amazon.com/ja_jp/kms/latest/developerguide/kms-cryptography.html#enveloping
- 公開鍵暗号によるデジタル署名
- デジタル署名は、データの完全性(改ざんされていないこと)と、送信者の身元を証明するための手法
- https://aws.amazon.com/jp/blogs/news/digital-signing-asymmetric-keys-aws-kms/
AWS SQS
- Amazon SQS の FIFO キューと Lambda の同時実行動作
- https://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/fifo-queue-lambda-behavior.html
- Lambda 関数は、同じメッセージグループに対して複数のインスタンスを同時に実行しないため、順序が維持されます。
- メッセージグループごとに 1 つのインスタンス:
- どの時点においても、特定のメッセージグループ ID のメッセージを処理しているのは 1 つの Lambda インスタンスのみ
- 複数の異なるグループの同時処理:
- Lambda は、複数のインスタンスを使用して、複数の異なるメッセージグループ ID のメッセージを同時に処理できます
- メッセージグループごとに 1 つのインスタンス:
セキュリティ
- アイデンティティvsリソース
- アイデンティティベース: ユーザーから見てどのリソースにアクセスできるか制御
- リソースベース: リソースから見てどのユーザーからアクセスできるか制御
- S3、Lambdaなどにリソースポリシーを設定可能
結果スコア
844/1000で合格しました。
NEXT
Professional資格の取得にむけて、Practioner/Associate系の資格を取得していきます。
次は、AWS Certified AI Practitionerを取得予定です。
Discussion