エイリアス難易度 標準無料
複数のクライアントアプリケーションが本番用Lambda関数のARNを直接呼び出している。新しいバージョンをリリースするたびに、全クライアントの設定を新しいバージョン番号のARNへ書き換えるのは運用上非現実的である。クライアント側の設定を変更せずに、参照先のバージョンだけを切り替えられるようにする設計を選べ。(単一選択)
- A
prodという名前のエイリアスを作成して現行バージョンを指すよう設定し、クライアントはエイリアスのARNを呼び出すようにする。新バージョンのリリース時はエイリアスの参照先バージョンだけを更新する - B新しいバージョンを発行するたびに、そのバージョン番号を含むARNを全クライアントへ周知し、各クライアントのアプリケーション設定を手動で更新してもらう
- C
$LATESTのARNを全クライアントに使わせ、常に最新のコードが呼ばれるようにする - D関数ごとにAPI Gatewayのカスタムドメインを新規に作成し直し、ドメインを切り替えることでバージョンを更新する
正解・解説・誤答理由・ひっかけを見る▼ open
✓ 正解:AAI作成・独立検証済
解説
エイリアス(alias)は、特定のバージョン(または複数バージョンへの加重)を指す名前付きの安定したポインタであり、 それ自体が固有のARNを持つ。
- クライアントはエイリアスのARN(例:
...function:MyFunction:prod)を呼び出すように設定しておく。 - 新しいバージョンをリリースする際は、エイリアスが指すバージョン番号を更新するだけでよく、クライアント側の設定・呼び出し先ARNは一切変更不要。
- これにより、バージョンのリリース/切り戻しをエイリアスの参照先変更だけで完結させられ、クライアントとバージョン管理を疎結合にできる。
- Bクライアント側の設定変更を伴う運用であり、「クライアント側の設定を変更せずに切り替える」という要件に反する。エイリアスが解決したい課題そのもの。
- C
$LATESTは開発中の変更を即座に反映する可変ポインタであり、意図しない未検証コードが本番に流れるリスクがある。段階的なリリース制御ができない。 - DAPI Gatewayのドメイン管理はLambda関数のバージョン切り替えとは別レイヤーの話であり、要件を満たす直接的な解決策ではない。
ひっかけ: 「バージョンのARNを都度クライアントに周知して更新してもらう(B)」は要件が求める運用改善の否定であり本末転倒。
エイリアスの目的はまさに「クライアントに影響を与えずにバックエンドの参照先を切り替えること」である点を押さえる。
AIが作成し、独立した検証を経た解説です(有資格者による監修は経ていません)