無限ノック › SAP 練習問題一覧 › 問題
SAPワークロードの移行とモダン化の加速

物流会社がオンプレミスWindows Server 2016で稼働する.NET Framework 4.7製Webアプリケーション(30のサービスコンポーネントがCOM+(Windowsのコンポーネントトランザクション基盤)とMSMQ(Microsoft Message Queuing:Windowsのメッセージキューサービス)で密結合)のAWSへの移行を計画しています。要件は以下のとおりです。 (1) ストラングラーフィグパターン(既存モノリスを稼働させながら機能を段階的に新サービスへ移行するアーキテクチャパターン)で18ヶ月かけてコンポーネントを段階的にコンテナ化 (2) コンテナ化中も既存モノリスを継続稼働 (3) 旧モノリスと新コンテナ間のトラフィックを段階的に%単位で切り替え (4) コードの大幅な書き直しは不可 (5) Windowsコンテナのサポートが必要 これらの要件を最も満たすアプローチはどれですか?

A
AWS App2ContainerでWindowsの.NETアプリを自動コンテナ化してAmazon ECS(Windows Fargate)にデプロイし、ALBの加重ターゲットグループで旧モノリスと新コンテナ間のトラフィックを段階的に切り替え、Amazon ECS Service Connectでコンポーネント間のサービスディスカバリと通信を管理する
✓ 正解
App2ContainerはWindowsの.NETアプリを自動的にコンテナ化するツールでコード変更が不要。ECS Windows FargateはWindowsコンテナをサポートし、ALBの加重ターゲットグループはトラフィック割合を%単位で制御できるためストラングラーフィグパターンに最適。ECS Service Connectでサービス間通信も管理でき全要件を満たす(App MeshはEOL・新規受付停止済み)。
B
AWS Application Migration Service(MGN)で全Windowsサーバーをまずec2にリフト&シフトし、AWS Elastic Beanstalk .NETプラットフォームにコンポーネントを段階移行、Elastic BeanstalkのBlue/Greenデプロイで各コンポーネントの切り替えを実施する
MGNはサーバー単位のリフト&シフトツールであり、コンポーネント単位の段階的コンテナ化には対応していない。Elastic BeanstalkはアプリケーションレベルのBlue/Greenデプロイを提供するが、モノリスと新コンテナ間のトラフィックを%単位で分割制御するストラングラーフィグ実装には不向き。
C
.NET Framework 4.7コードをすべて.NET 8にリプラットフォームしてLinuxコンテナ化し、Amazon EKS on Fargateにデプロイ、Istioサービスメッシュでコンポーネント間通信を管理、ArgoCDでGitOpsデプロイメントパイプラインを構築する
.NET 8へのリプラットフォームはCOM+等のWindows固有APIを使用した既存コードの全面書き直しが必要なため、コード変更不可の要件に反する。EKS + Istioは高度な構成として有効だが、前提となるコード移行コストがこのシナリオでは障壁となり不適切。
D
各コンポーネントをAWS Lambda(.NETランタイム)にリファクタリングし、Amazon API GatewayのCanaryリリース機能でトラフィックを段階的に移行、MSMQ代替としてAmazon SQSを導入してコンポーネント間の非同期通信を実装する
Lambdaの15分実行時間制限はCOM+ベースの長時間同期トランザクションを処理できない可能性が高い。各コンポーネントのLambda関数化はアーキテクチャの根本的な変更を伴う実質的なリファクタリングであり、コードの大幅な書き直しを避けるという要件に反する。

解説

AWS App2ContainerはWindowsの.NETアプリケーションを自動分析してDockerfileとECS/EKS用デプロイアーティファクトを生成するツール。コードの書き直しなしにコンテナ化できるため「大幅な書き直し不可」要件を満たす。Amazon ECS Windows FargateはWindowsコンテナをフルマネージドで実行でき、モノリスと並行稼働が可能。ALBの加重ターゲットグループにより旧モノリスと新コンテナへのトラフィック比率を%単位で段階制御でき、ストラングラーフィグパターンの実装に最適。Amazon ECS Service ConnectによりECSネイティブにコンポーネント間の通信とサービスディスカバリを管理できる(AWS App MeshはEOL:2026年9月30日廃止・新規顧客受付は2024年9月24日停止済み)。 選択肢BのMGNはサーバー単位のリフト&シフトツールであり、30コンポーネントをストラングラーフィグパターンで段階的にコンテナ化する用途には対応していない。Elastic BeanstalkもコンポーネントレベルでのBlue/Greenトラフィック分割制御は提供しない。 選択肢Cの.NET 8へのリプラットフォームはCOM+等のWindows固有APIを利用している既存コードの全面書き直しを必要とするため、コード変更不可の要件に根本的に反する。 選択肢DのLambdaは最大実行時間15分の制限があり、COM+ベースの長時間同期トランザクションには不適切。各コンポーネントのLambda化は実質的なリファクタリングを必要とし、コード書き直し不可の要件に反する。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでSAPを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← SAP の問題一覧に戻る