SageMaker ノートブックの VPC サブネットが未指定

組織の VPC 経由で接続するノートブックに、サブネットとセキュリティグループを指定します。

説明

SageMaker Notebook Instance に SubnetId がないと、対象 VPC のプライベートリソースやネットワーク制御を利用できません。SecurityGroupIds の指定だけではサブネットへの接続を代替できません。

想定される影響

必要な内部データソースに接続できなかったり、組織のネットワーク分離要件を満たせなかったりするおそれがあります。

対処方法

対象 VPC の SubnetId と SecurityGroupIds を指定し、ルーティングを確認してください。VPC 経路だけで通信する場合は、DirectInternetAccess も Disabled に設定してください。

例

変更前は DirectInternetAccess: Disabled に必要な SubnetId がなく、デプロイできない構成です。変更後ではサブネットを追加しています。実際の外向き通信はルーティングとセキュリティグループで制限してください。

変更前

yaml
Resources:
  NotebookInstance:
    Type: AWS::SageMaker::NotebookInstance
    Properties:
      NotebookInstanceName: !Ref NotebookInstanceName
      InstanceType: !Ref NotebookInstanceType
      RoleArn: !GetAtt ExecutionRole.Arn
      SecurityGroupIds:
        - !GetAtt VpcSecurityGroup.GroupId
      DirectInternetAccess: Disabled

変更後

yaml
Resources:
  NotebookInstance:
    Type: AWS::SageMaker::NotebookInstance
    Properties:
      NotebookInstanceName: !Ref NotebookInstanceName
      InstanceType: !Ref NotebookInstanceType
      RoleArn: !GetAtt ExecutionRole.Arn
      SecurityGroupIds:
        - !GetAtt VpcSecurityGroup.GroupId
      SubnetId: !Ref PrivateSubnet1
      DirectInternetAccess: Disabled

参考資料