Amazon Virtual Private Cloud を使用してジョブを保護する - Amazon Comprehend

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Virtual Private Cloud を使用してジョブを保護する

Amazon Comprehend では、さまざまなセキュリティ対策を使用して、データおよび、Amazon Comprehend の使用中にそのデータが保存されるジョブコンテナの安全性を確保することができます。ただし、ジョブコンテナは、データやモデルアーティファクトを保存する Amazon S3 バケットなどの AWS リソースにインターネット経由でアクセスします。

データへのアクセスを制御するには、仮想プライベートクラウド (VPC) を作成し、データとコンテナにインターネット経由でアクセスできないように設定することをお勧めします。の作成と設定の詳細についてはVPC、「Amazon ユーザーガイド」の「Amazon の開始VPC方法」を参照してください。 VPC を使用すると、インターネットに接続されないVPCように を設定できるため、データの保護VPCに役立ちます。VPC を使用すると、VPCフローログを使用してジョブコンテナに出入りするすべてのネットワークトラフィックをモニタリングすることもできます。詳細については、「Amazon VPCユーザーガイドVPC」の「フローログ」を参照してください。

サブネットとセキュリティグループを指定して、ジョブの作成時にVPC設定を指定します。サブネットとセキュリティグループを指定すると、Amazon Comprehend はいずれかのサブネットのセキュリティグループに関連付けられた Elastic Network Interface (ENIs) を作成します。ENIs ジョブコンテナが のリソースに接続できるようにしますVPC。の詳細についてはENIs、「Amazon VPCユーザーガイド」の「Elastic Network Interfaces」を参照してください。

注記

ジョブでは、インスタンスが共有ハードウェアVPCで実行されるデフォルトのテナンシーを持つサブネットのみを設定できます。のテナンシー属性の詳細についてはVPCs、「Amazon EC2ユーザーガイド」の「ハードウェア専有インスタンス」を参照してください。

Amazon VPC アクセス用のジョブを設定する

でサブネットとセキュリティグループを指定するにはVPC、該当する のVpcConfigリクエストパラメータを使用するかAPI、Amazon Comprehend コンソールでジョブを作成するときにこの情報を指定します。Amazon Comprehend はこの情報を使用して、ジョブコンテナENIsを作成してアタッチします。は、インターネットに接続されていない 内のネットワーク接続VPCをジョブコンテナENIsに提供します。

リクエストVpcConfigパラメータAPIsは次のとおりです。

API 呼び出しに含める VpcConfig パラメータの例を次に示します。

"VpcConfig": { "SecurityGroupIds": [ " sg-0123456789abcdef0" ], "Subnets": [ "subnet-0123456789abcdef0", "subnet-0123456789abcdef1", "subnet-0123456789abcdef2" ] }

Amazon Comprehend コンソールVPCから を設定するには、ジョブの作成時にオプションのVPC「設定」セクションから設定の詳細を選択します。

分析ジョブの作成のオプションVPCセクション

Amazon Comprehend ジョブVPC用に を設定する

Amazon Comprehend ジョブVPCの を設定するときは、次のガイドラインを使用します。の設定の詳細についてはVPC、「Amazon VPCユーザーガイド」の「 VPCsとサブネットの使用」を参照してください。

サブネットに十分な IP アドレスを確保する

VPC サブネットには、ジョブ内のインスタンスごとに少なくとも 2 つのプライベート IP アドレスが必要です。詳細については、「Amazon ユーザーガイドVPC」の「」および「 のサブネットのサイズ設定IPv4」を参照してください。 VPC

Amazon S3 VPCエンドポイントを作成する

ジョブコンテナがインターネットにアクセスできないVPCように を設定すると、アクセスを許可するVPCエンドポイントを作成しない限り、データを含む Amazon S3 バケットに接続できません。VPC エンドポイントを作成することで、トレーニングジョブと分析ジョブ中にジョブコンテナがデータにアクセスできるようになります。

VPC エンドポイントを作成するときは、次の値を設定します。

  • サービスとしてAWS サービスカテゴリを選択する

  • サービスを として指定します。 com.amazonaws.region.s3

  • VPC エンドポイントタイプとしてゲートウェイを選択する

AWS CloudFormation を使用してVPCエンドポイントを作成する場合は、 のAWS CloudFormation VPCEndpointドキュメントに従ってください。次の例は、 AWS CloudFormation テンプレートVPCEndpointの設定を示しています。

VpcEndpoint: Type: AWS::EC2::VPCEndpoint Properties: PolicyDocument: Version: '2012-10-17' Statement: - Action: - s3:GetObject - s3:PutObject - s3:ListBucket - s3:GetBucketLocation - s3:DeleteObject - s3:ListMultipartUploadParts - s3:AbortMultipartUpload Effect: Allow Resource: - "*" Principal: "*" RouteTableIds: - Ref: RouteTable ServiceName: Fn::Join: - '' - - com.amazonaws. - Ref: AWS::Region - ".s3" VpcId: Ref: VPC

また、 からのリクエストのみに S3 バケットVPCへのアクセスを許可するカスタムポリシーを作成することをお勧めします。詳細については、Amazon S3 のエンドポイント」を参照してください。 VPC

次のポリシーでは、S3 バケットへのアクセスを許可します。このポリシーを編集して、ジョブに必要なリソースのみへのアクセスを許可します。

{ "Version": "2008-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket", "s3:GetBucketLocation", "s3:DeleteObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": "*" } ] }

エンドポイントルートテーブルのDNSデフォルト設定を使用して、標準の Amazon S3 URLs ( などhttp://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket) が解決されるようにします。DNS デフォルト設定を使用しない場合は、エンドポイントルートテーブルを設定して、ジョブ内のデータの場所を指定URLsするために使用する が解決することを確認します。VPC エンドポイントルートテーブルの詳細については、「Amazon VPCユーザーガイド」の「ゲートウェイエンドポイントのルーティング」を参照してください。

デフォルトエンドポイントポリシーでは、ユーザーは、Amazon Linux と Amazon Linux 2 のリポジトリのパッケージをジョブコンテナにインストールできます。ユーザーがそのリポジトリからパッケージをインストールしないようにする場合は、Amazon Linux と Amazon Linux 2 のリポジトリへのアクセスを明示的に拒否するカスタムエンドポイントポリシーを作成します。Comprehend 自体にはそのようなパッケージは必要なく、機能的な影響はありません。これらのリポジトリへのアクセスを拒否するポリシーの例を次に示します。

{ "Statement": [ { "Sid": "AmazonLinuxAMIRepositoryAccess", "Principal": "*", "Action": [ "s3:GetObject" ], "Effect": "Deny", "Resource": [ "arn:aws:s3:::packages.*.amazonaws.com/*", "arn:aws:s3:::repo.*.amazonaws.com/*" ] } ] } { "Statement": [ { "Sid": "AmazonLinux2AMIRepositoryAccess", "Principal": "*", "Action": [ "s3:GetObject" ], "Effect": "Deny", "Resource": [ "arn:aws:s3:::amazonlinux.*.amazonaws.com/*" ] } ] }

DataAccessRole に対するアクセス許可

分析ジョブVPCで を使用する場合、 Create*および Start*オペレーションDataAccessRoleに使用される には、入力ドキュメントと出力バケットにアクセスする VPC へのアクセス許可も必要です。

次のポリシーは、Create* および Start* オペレーションに使用される DataAccessRole に、必要とされるアクセス権を提供します。

{ "Version": "2008-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ], "Resource": "*" } ] }

VPC セキュリティグループを設定する

分散型ジョブでは、同じジョブにあるさまざまなコンテナ間の通信を許可する必要があります。そのためには、同じセキュリティグループのメンバー間のインバウンド接続を許可するセキュリティグループのルールを設定します。詳細については、「Amazon ユーザーガイド」の「セキュリティグループルール」を参照してください。 VPC

の外部のリソースに接続する VPC

インターネットにアクセスできないVPCように を設定した場合、 を使用するジョブは、 の外部にあるリソースにアクセスVPCできませんVPC。ジョブが 外のリソースにアクセスする必要がある場合はVPC、次のいずれかのオプションを使用してアクセスを提供します。

  • ジョブがインターフェイスVPCエンドポイントをサポートする AWS サービスにアクセスする必要がある場合は、そのサービスに接続するエンドポイントを作成します。インターフェイスエンドポイントをサポートするサービスのリストについては、「Amazon VPC ユーザーガイドVPC」の「エンドポイント」を参照してください。インターフェイスVPCエンドポイントの作成の詳細については、「Amazon VPCユーザーガイド」の「インターフェイスVPCエンドポイント (AWS PrivateLink)」を参照してください。

  • ジョブがインターフェイスVPCエンドポイントをサポートしていない AWS サービスまたは 外のリソースにアクセスする必要がある場合は AWS、NATゲートウェイを作成し、アウトバウンド接続を許可するようにセキュリティグループを設定します。のNATゲートウェイの設定の詳細についてはVPC、Amazon VPCユーザーガイド「シナリオ 2: パブリックサブネットとプライベートサブネット (NAT) VPCを使用する」を参照してください。