模擬問題集DOP-C02練習問題 13

DOP-C02 練習問題 13

AWS DevOps Engineer – Professional・構成管理と Infrastructure as Code (IaC)・無料公開(全 200 問中 15 問を無料公開中)

問題
ある DevOps エンジニアは、マイクロサービスベースのアプリケーションの Infrastructure as Code (IaC) を管理するために AWS Cloud Development Kit (AWS CDK) を使用する計画を立てています。この DevOps エンジニアは、一般的なインフラストラクチャパターンの再利用可能なコンポーネントを作成し、異なるマイクロサービス間で同じコスト配分タグを適用しなければなりません。 これらの要件を満たすソリューションはどれですか?

選択肢と解説

  • 1
    一般的なインフラストラクチャパターンを含むカスタム CDK コンストラクトライブラリを作成する。CDK アプリを作成する。TagManager クラスを使用してアプリ全体にコスト配分タグを追加する。カスタム CDK コンストラクトライブラリを使用して、すべてのマイクロサービスを含む高レベルのコンストラクトを記述する。マイクロサービスを、環境固有の設定を持つ単一の CDK スタックとしてデプロイする。
  • 一般的なインフラストラクチャパターンを含むカスタム CDK コンストラクトライブラリを作成する。CDK アプリを作成する。Tags クラスを使用してアプリ全体にコスト配分タグを追加する。カスタム CDK コンストラクトライブラリを使用して、マイクロサービスごとに高レベルのコンストラクトを記述する。マイクロサービスを、環境固有の設定を持つ個別の CDK スタックとしてデプロイする。
  • 3
    一般的なインフラストラクチャコンポーネントを含む AWS Service Catalog 製品を作成する。CDK アプリを作成する。TagManager クラスを使用してアプリ全体にコスト配分タグを追加する。Service Catalog 製品を使用して、すべてのマイクロサービスを含む高レベルのコンストラクトを記述する。マイクロサービスを単一の CDK スタックとしてデプロイする。
  • 4
    一般的なインフラストラクチャコンポーネントを含む AWS Service Catalog 製品を作成する。CDK アプリを作成する。Tags クラスを使用してアプリ全体にコスト配分タグを追加する。Service Catalog 製品を使用して、マイクロサービスごとに高レベルのコンストラクトを記述する。マイクロサービスを個別の CDK スタックとしてデプロイする。

解説

【正解】B

【0からの解説】
この問題は AWS CDK で「再利用可能なコンポーネント」と「共通のコスト配分タグ」を両立する正しい設計を問うものです。

ポイントは2つあります。
1つ目は「再利用可能なコンポーネントの作り方」です。CDK では、複数のリソースをまとめた再利用可能な部品を「コンストラクト (Construct)」と呼びます。自分で作った共通パターン(VPC、サブネット、ロギング設定など)を部品化するには、カスタム CDK コンストラクトライブラリを作成するのが正攻法です。AWS Service Catalog は IT サービスのカタログ化・配布のためのサービスであり、CDK コンストラクトを書くための部品ではないため、ここでは不適切です。

2つ目は「コスト配分タグの付け方」です。CDK では `Tags` クラス(`Tags.of(scope).add(key, value)`)を使うと、対象スコープ配下のすべてのリソースに再帰的にタグを伝播できます。これがアプリ全体やスタック全体に統一タグを適用する公式の方法です。一方 `TagManager` は CDK 内部で各コンストラクトのタグを保持・集約するための低レベルクラスであり、利用者がアプリ全体にタグを付ける用途で直接使うものではありません。

さらにマイクロサービスは、ベストプラクティスとして「マイクロサービスごとに高レベルのコンストラクトを定義し、個別の CDK スタックとしてデプロイ」します。こうすると各サービスを独立してデプロイ・更新・ロールバックでき、障害の影響範囲を分離できます。

したがって、カスタムコンストラクトライブラリ+`Tags` クラス+サービスごとの個別スタック、という B が正解です。

【誤りの選択肢】
A:再利用可能コンポーネントの作り方(カスタムライブラリ)は正しいですが、`TagManager` クラスはタグ付けの公式手段ではなく `Tags` クラスを使うべきです。また全マイクロサービスを単一スタックにまとめるとデプロイの分離ができず、マイクロサービスの利点を損ないます。
C:再利用可能コンポーネントに Service Catalog 製品を使う点が誤りです(CDK コンストラクトの部品にはなりません)。`TagManager` 使用と単一スタックも不適切です。
D:`Tags` クラスと個別スタックは正しいですが、共通インフラパターンの再利用に Service Catalog 製品を使う点が誤りです。CDK で再利用部品を作るならカスタムコンストラクトライブラリが正解です。

【参考】
AWS CDK - Tags
AWS CDK - Constructs
← 練習問題 12練習問題 14
DOP-C02 の模擬問題集は全 200

本番形式の練習テスト 4 回を、試験モード/演習モードで受験できます。 全問に解説付き、ドメイン別の弱点分析にも対応。模試プラン(月額 ¥980)からご利用いただけます。

DOP-C02 の模試を受ける料金プランを見る

DOP-C02 の無料公開問題

問題 1問題 2問題 3問題 4問題 5問題 6問題 7問題 8問題 9問題 10問題 11問題 12問題 13問題 14問題 15