

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon Virtual Private Cloud를 사용한 작업 보호
<a name="usingVPC"></a>

Amazon Comprehend는 Amazon Comprehend에서 데이터가 저장된 작업 컨테이너를 사용하는 동안 데이터의 안전을 보장하기 위해 다양한 보안 조치를 사용합니다. 그러나 작업 컨테이너는 인터넷을 통해 데이터 및 모델 아티팩트를 저장하는 Amazon S3 버킷과 같은 AWS 리소스에 액세스합니다.

사용자 데이터에 대한 액세스를 제어하려면 *Virtual Private Cloud*(VPC)를 생성하고 구성하여 데이터와 컨테이너가 인터넷을 통해 액세스 되지 않도록 구성하는 것이 좋습니다. VPC 생성 및 구성에 대한 내용은 Amazon VPC 사용 설명서의 [Amazon VPC 시작하기](https://docs.aws.amazon.com/vpc/latest/userguide/getting-started-ipv4.html)를 참조하세요.** VPC를 사용하면 사용자 데이터가 인터넷에 연결되지 않도록 VPC를 구성할 수 있기 때문에 데이터 보호에 도움이 됩니다. 또한 VPC를 사용하면 VPC 흐름 로그를 통하여 당사 작업 컨테이너에 들어오고 나가는 모든 네트워크 트래픽을 모니터링할 수 있습니다. 자세한 내용은 *Amazon VPC 사용 설명서*의 [VPC 흐름 로그](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)를 참조하세요.

작업을 생성할 때 서브넷 및 보안 그룹을 지정하여 프라이빗 VPC 구성을 지정합니다. 서브넷 및 보안 그룹을 지정할 때 Amazon Comprehend가 서브넷 중 하나에 있는 보안 그룹과 연결된 *탄력적 네트워크 인터페이스(ENI)*를 생성합니다. ENI를 통해 작업 컨테이너는 사용자 VPC에 있는 리소스와 연결될 수 있습니다. ENI에 대한 자세한 내용은 *Amazon VPC 사용 설명서*의 [탄력적 네트워크 인터페이스](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ElasticNetworkInterfaces.html)를 참조하세요.

**참고**  
작업의 경우, 사용자는 사용자 인스턴스가 실행되는 공유 하드웨어의 기본 테넌시 VPC 만을 사용하여 서브넷을 구성할 수 있습니다. VPCs의 테넌시 속성에 대한 자세한 내용은 *Amazon EC2 사용 설명서*의 [전용 인스턴스](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)를 참조하세요.

## Amazon VPC 액세스를 위한 작업 구성
<a name="VPCaccess"></a>

사용자 VPC에서 서브넷 및 보안 그룹을 지정하려면 해당 API의 `VpcConfig` 요청 파라미터를 사용하거나 Amazon Comprehend 콘솔에서 작업을 생성할 때 이 정보를 제공합니다. Amazon Comprehend는 이 정보를 사용하여 ENI를 생성하고 이를 당사 작업 컨테이너에 연결합니다. ENI는 당사 작업 컨테이너에 인터넷과 연결되지 않은 사용자 VPC 내부에서 네트워크 연결을 제공합니다.

다음 API에는 `VpcConfig` 요청 파라미터가 포함되어 있습니다.
+ `Create*`API: ` [CreateDocumentClassifier](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_CreateDocumentClassifier.html)`, ` [CreateEntityRecognizer](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_CreateEntityRecognizer.html) ` 
+ `Start*`APIs: ` [StartDocumentClassificationJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartDocumentClassificationJob.html)`, ` [StartDominantLanguageDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartDominantLanguageDetectionJob.html)`, ` [StartEntitiesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartEntitiesDetectionJob.html)`, ` [StartKeyPhrasesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartKeyPhrasesDetectionJob.html)`, ` [StartSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartSentimentDetectionJob.html)`, ` [StartTargetedSentimentDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartTargetedSentimentDetectionJob.html)`, ` [StartTopicsDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartTopicsDetectionJob.html)` 

다음은 사용자 API 직접 호출에 포함할 VpcConfig 파라미터의 예입니다.

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

Amazon Comprehend 콘솔에서 VPC를 구성하려면 작업 생성 시 선택적 **VPC 설정**섹션에서 구성 세부 정보를 선택합니다.

![\[분석 작업 생성 시 선택적 VPC 섹션\]](http://docs.aws.amazon.com/ko_kr/comprehend/latest/dg/images/vpc-image-10.png)


## Amazon Comprehend 작업을 위한 사용자 VPC 구성
<a name="configureVPC"></a>

사용자 Amazon Comprehend 용 VPC를 구성할 때 다음 지침을 따릅니다. VPC 설정에 관한 자세한 내용은 *Amazon VPC 사용 설명서*의 [VPCs 및 서브넷 작업](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html)을 참조하세요.

**서브넷에 충분한 IP 주소를 확보해야 합니다**

사용자 VPC 서브넷에는 각 작업 인스턴스 별로 최소 2개 이상의 프라이빗 IP 주소가 있어야 합니다. 자세한 내용은 *Amazon VPC 사용 설명서*의 [VPC 및 서브넷 IPv4 크기 조정](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#vpc-sizing-ipv4)을 참조하세요.

**Amazon S3 VPC 엔드포인트 생성**

작업 컨테이너가 인터넷에 액세스하지 않도록 사용자 VPC를 구성하면 사용자가 액세스를 허용하는 VPC 엔드포인트를 생성하지 않는 VPC는 사용자 데이터가 들어 있는 Amazon S3 버킷에 연결할 수 없습니다. VPC 엔드포인트를 생성하면 훈련 및 분석 작업 중에 작업 컨테이너가 데이터에 액세스할 수 있습니다.

VPC 엔드포인트를 생성할 때 다음 값을 구성합니다.
+ 서비스 범주를 **AWS 서비스로** 선택
+ 서비스를 로 지정 `com.amazonaws.region.s3`
+ **게이트웨이**를 VPC 엔드포인트 유형으로 선택 

 CloudFormation 를 사용하여 VPC 엔드포인트를 생성하는 경우 [CloudFormation VPCEndpoint](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html) 설명서를 따릅니다. 다음 예제는 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
```

사용자 VPC의 S3 버킷 액세스 요청 만을 허용하는 사용자 정의 정책의 생성을 권장합니다. 자세한 내용은 *Amazon VPC 사용 설명서*의 [Amazon S3용 엔드포인트 정책](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html)을 참조하세요.

다음 정책은 S3 버킷 액세스를 허용합니다. 작업에 필요한 리소스에만 액세스할 수 있도록 이 정책을 편집하십시오.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-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 URL(예:`http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket` )이 결정됩니다. 기본 DNS 설정을 사용하지 않는다면 엔드포인트 라우팅 테이블을 구성하여 사용자 작업의 데이터 위치를 지정하는 데 사용한 URL이 결정되도록 합니다. VPC 엔드포인트 라추팅 테이블에 관한 내용은 *Amazon VPC 사용 설명서*의 [게이트웨이 VPC 엔드포인트 라우팅](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-gateway.html#vpc-endpoints-routing)을 참조하세요.

기본 엔드포인트 정책은 사용자가 당사 작업 컨테이너에 있는 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`에게 필요한 액세스를 제공합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-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 사용 설명서*의 [보안 그룹 규칙](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#SecurityGroupRules)을 참조하세요.

**VPC 외부 리소스에 연결**

인터넷 액세스가 되지 않도록 사용자 VPC를 구성하면 해당 VPC를 사용하는 작업은 사용자 VPC 외부의 리소스에 액세스할 수 없습니다. 사용자 작업에 VPC 외부 리소스 액세스가 필요하면 다음 옵션 중 하나를 사용하여 액세스를 제공합니다.
+ 작업에 인터페이스 VPC 엔드포인트를 지원하는 AWS 서비스에 대한 액세스 권한이 필요한 경우 해당 서비스에 연결할 엔드포인트를 생성합니다. 인터페이스 엔드포인트를 지원하는 서비스 목록은 Amazon VPC 사용 설명서의 [VPC 엔드포인트](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)를 참조하세요.** 인터페이스 VPC 엔드포인트 생성에 대한 자세한 내용은 *Amazon* [VPC 사용 설명서의 인터페이스 VPC 엔드포인트(AWS PrivateLink)를 참조하세요](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html).
+ 작업에서 인터페이스 VPC 엔드포인트를 지원하지 않는 AWS 서비스 또는 외부 리소스에 액세스해야 하는 경우 NAT 게이트웨이를 AWS생성하고 아웃바운드 연결을 허용하도록 보안 그룹을 구성합니다. VPC용 NAT 게이트웨이에 대한 자세한 내용은 *Amazon VPC 사용 설명서*의 [시나리오 2: 퍼블릭 서브넷과 프라이빗 서브넷 VPC(NAT)](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html)를 참조하세요.