ホーム ›
対応資格一覧 ›
AWS Certified Developer – Associate 出題範囲 Domain 2: Security Domain 1: Development with AWS Services Domain 3: Deployment Domain 4: Troubleshooting and Optimization 例題に挑戦 スキルサートのAIが生成した演習問題のサンプルです。アプリでは毎週新しい問題が追加されます。
例題1 サーバーレスアプリケーションにおいて、AWS Lambda関数の実行時間が徐々に長くなっており、どの処理に時間がかかっているか、またはどの外部サービスへの呼び出しがボトルネックになっているかを特定する必要があります。最も適切な方法はどれですか?
AWS X-Ray を有効にする Lambdaのメモリ割り当てを最大にする CloudWatch 異常検知アラームを作成する CloudWatch Logsの標準ログを確認する デッドレターキュー (DLQ) を設定する 解答と解説を見る 正解: AWS X-Ray を有効にする
正解は『AWS X-Ray を有効にする』です。AWS X-Rayを使用すると、リクエストがアプリケーションを通過する際の詳細なトレースデータを収集できます。Lambda関数において、どの関数、どのダウンストリームサービスへの呼び出し、またはコード内のどのサブセグメントが遅延の原因となっているかを視覚的に特定するのに最適です。CloudWatch Logsの標準的な出力だけでは、個別の処理ステップごとの所要時間を正確に把握してボトルネックを絞り込むのは困難なため、パフォーマンスのトラブルシューティングにはX-Rayが推奨されます。
例題2 Amazon API Gateway の後段にある Lambda 関数で実行時エラーが発生していますが、API Gateway の応答には詳細なエラー情報が含まれておらず、原因の特定が困難です。API Gateway 側でのデバッグを容易にするために、まず設定すべき項目はどれですか?
Lambda 関数のタイムアウト設定をデフォルトの3秒に戻す 統合リクエストのパススルー動作を「未定義」に変更する API Gateway のスロットリング制限を緩和する API Gateway のエンドポイントタイプをエッジ最適化に変更する CloudWatch ログを有効化し、実行ログの記録を設定する 解答と解説を見る 正解: CloudWatch ログを有効化し、実行ログの記録を設定する
正解は『CloudWatch ログを有効化し、実行ログの記録を設定する』です。Amazon API Gatewayにおいて、バックエンド統合(Lambdaなど)で問題が発生している場合、CloudWatch実行ログを有効にすることで、リクエストやレスポンスのペイロード、エラー内容、統合リクエストのステータスなどの詳細なデバッグ情報を確認できるようになります。デフォルトではこれらの詳細な実行ログは記録されないため、エラーの原因がAPI Gatewayの設定ミスなのかLambda側の実行エラーなのかを判断するために、ログの有効化が不可欠なステップとなります。
重要用語
疎結合 (Loose Coupling) コンポーネント間の依存関係を最小限に抑える設計手法です。AWSではSQSやSNSを利用してメッセージを仲介させることで、一方の障害や負荷が他方に直接影響しないようにします。これにより、システムの拡張性や保守性が向上し、一部の機能を変更・更新する際のリスクを軽減できます。リファクタリングにおいては、密結合なモノリス環境を分解し、柔軟なシステムを構築する際に不可欠な概念です。
マイクロサービス (Microservices) 巨大な単一のアプリケーションを、特定のビジネス機能を持つ複数の小さなサービスに分割するアーキテクチャです。各サービスは独立して開発、デプロイ、スケールが可能になります。AWSではECSやLambda、API Gatewayを組み合わせて構築されます。リファクタリングにより、開発スピードの向上や障害の局所化が可能になり、各機能に最適な技術スタックを選択できるメリットがあります。
サーバーレス (Serverless) サーバーのプロビジョニングや管理を意識せずにコードを実行できるモデルです。AWS LambdaやFargateが代表例です。リファクタリングにおいて、常時稼働のEC2からイベント駆動型のLambdaに移行することで、コストの最適化と運用負荷の軽減が図れます。トラフィックに応じて自動的にスケーリングされるため、開発者はインフラ管理ではなくアプリケーションのロジックに集中できるようになります。
ブルー/グリーンデプロイ (Blue/Green Deployment) 旧環境(ブルー)と新環境(グリーン)を並行して実行し、トラフィックを切り替えることでダウンタイムを最小化する手法です。Route 53やELB、CodeDeployを使用して実現します。新環境に問題があった場合、即座に旧環境にトラフィックを戻す(ロールバック)ことができるため、リファクタリング後のアプリケーションを安全かつ確実に本番環境へ移行するための重要な戦略となります。
カナリアリリース (Canary Release) 新しいバージョンのソフトウェアを、まずは少数のユーザーにのみ公開し、問題がないことを確認しながら段階的に全体へ展開する手法です。Lambdaのエイリアスと重み付け設定を利用してトラフィックを制御します。全てを一気に切り替えるブルー/グリーンよりもリスクを細かく管理でき、本番環境での実トラフィックに基づいたテストが可能なため、大規模なコード修正やリファクタリングの際に非常に有効です。
Infrastructure as Code (IaC) AWS CloudFormationやAWS SAMを用いて、インフラ構成をテンプレートファイルで定義・管理することです。手動操作を排除し、環境構築を自動化・再現可能にします。リファクタリングの過程でテスト環境やステージング環境を本番と同一の構成で迅速に作成できるため、設定ミスを防止できます。また、構成の履歴管理が可能になり、チーム開発におけるインフラ変更の信頼性が向上します。
キャッシュ戦略 (Caching Strategy) パフォーマンス向上のため、頻繁にアクセスされるデータをAmazon ElastiCacheやCloudFrontに一時保存する手法です。リファクタリング時に、データベースへの直接的なクエリを減らし、応答速度を劇的に改善するために導入されます。書き込み時にキャッシュを更新するWrite-throughや、読み取り時にキャッシュを確認するLazy Loadingなどのパターンを適切に選択することが試験でも重要です。
データベースのデカップリング (Database Decoupling) モノリス環境で共有されていた単一のデータベースを、サービスごとの専用データベースへ分割することです。例えば、リレーショナルデータはRDSへ、セッション情報やメタデータはDynamoDBへ移行します。これにより、データストアレベルでのスケーラビリティの確保と障害隔離が可能になります。特定のサービスに最適なデータベース型を選択する「ポリグロット・パーシステンス」の実現に繋がります。 AWS Certified Developer – Associateの対策はアプリで AIが毎週生成する新作問題・ランクマッチ・週次ランキング・AI診断で「続けられる」資格学習を。無料で始められます。