MLAMLワークフローのデプロイとオーケストレーション
ML基盤チームが本番・ステージング・開発の3環境でSageMakerエンドポイント・IAMロール・VPC・S3バケットを管理している。環境ごとの設定差異が手作業によるミスの原因となっており、PythonまたはTypeScriptでインフラをコード化してGitで管理したい。型チェックとIDEサポートによる開発効率向上も要件。最も適切なアプローチはどれか。
AAWS CDKをPythonで記述してSageMakerリソースをStackとして定義し、Contextで3環境の差分を管理する
✓ 正解
AWS CDKはPython/TypeScriptでインフラを定義でき、IDEの型チェックと補完が使えてエンジニアリング効率が高い。
BAWS CloudFormationテンプレートをYAMLで記述し、Parametersセクションで3環境の設定差分を吸収してCLIでデプロイする
AWS CloudFormationはYAML/JSON形式のため型チェックやIDEによるコード補完が限定的で、PythonやTypeScriptでの記述要件を満たさない。
CSageMaker Pipelines SDKでパイプラインをPythonコードとして定義し、環境変数でエンドポイント接続先を切り替える
SageMaker Pipelines SDKはMLパイプラインの定義ツールであり、IAMロールやVPCなどインフラリソースの管理には使用しない。
DTerraformを使用してSageMakerリソースをHCLで定義し、tfvarsファイルで3環境の変数をそれぞれ管理する
TerraformはHCL言語を使用するためPython/TypeScriptでの記述要件を満たさず、AWSネイティブのIaCツールでもない。
解説
AWS CDKはPython・TypeScriptなどのプログラミング言語でインフラを定義でき、IDEの型チェック・補完・ユニットテストが活用できる。Contextパラメータで環境差分を吸収しGitで一元管理できる。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでMLAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →