

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

# Amazon MWAA에서 VPC 보안
<a name="vpc-security"></a>

이 페이지에서는 Amazon Managed Workflows for Apache Airflow 환경을 보호하는 데 사용되는 Amazon VPC 구성 요소와 이러한 구성 요소에 필요한 구성을 설명합니다.

**Contents**
+ [용어](#networking-security-defs)
+ [보안 개요](#vpc-security-about)
+ [네트워크 액세스 제어 목록(ACL)](#vpc-security-acl)
  + [(권장) 예제 ACL](#vpc-security-acl-example)
+ [VPC 보안 그룹](#vpc-security-sg)
  + [(권장) 모든 액세스 자체 참조 보안 그룹의 예제](#vpc-security-sg-example)
  + [(선택 사항) 포트 5432에 대한 인바운드 액세스를 제한하는 보안 그룹의 예제](#vpc-security-sg-example-port5432)
  + [(선택 사항) 포트 443에 대한 인바운드 액세스를 제한하는 보안 그룹의 예제](#vpc-security-sg-example-port443)
+ [VPC 엔드포인트 정책(프라이빗 라우팅만 해당)](#vpc-external-vpce-policies)
  + [(권장) 모든 액세스를 허용하는 VPC 엔드포인트 정책 예제](#vpc-external-vpce-policies-all)
  + [(권장) 버킷 액세스를 허용하는 Amazon S3 게이트웨이 엔드포인트 정책의 예제](#vpc-external-vpce-policies-s3)

## 용어
<a name="networking-security-defs"></a>

**퍼블릭 라우팅**  
인터넷에 액세스할 수 있는 Amazon VPC 네트워크.

**프라이빗 라우팅**  
인터넷에 액세스할 수 없는 Amazon VPC 네트워크.

## 보안 개요
<a name="vpc-security-about"></a>

보안 그룹과 액세스 제어 목록(ACL)은 지정한 규칙을 사용하여 Amazon VPC의 서브넷 및 인스턴스 전반에서 네트워크 트래픽을 제어하는 방법을 제공합니다.
+ 액세스 제어 목록(ACL)으로 서브넷을 오가는 네트워크 트래픽을 제어할 수 있습니다. ACL은 하나만 필요하며 여러 환경에서 동일한 ACL을 사용할 수 있습니다.
+ Amazon VPC 보안 그룹은 인스턴스로 들어오고 나가는 네트워크 트래픽을 제어할 수 있습니다. 환경당 1\~5개의 보안 그룹을 사용할 수 있습니다.
+ 인스턴스로 들어오고 나가는 네트워크 트래픽은 VPC 엔드포인트 정책으로 제어할 수도 있습니다. 조직에서 Amazon VPC 내의 인터넷 액세스를 허용하지 않고 Amazon VPC 네트워크를 *프라이빗 라우팅*과 함께 사용하는 경우, [AWS VPC 엔드포인트 및 Apache Airflow VPC 엔드포인트](vpc-vpe-create-access.md#vpc-vpe-create-view-endpoints-examples)에 대한 VPC 엔드포인트 정책이 필요합니다.

## 네트워크 액세스 제어 목록(ACL)
<a name="vpc-security-acl"></a>

[네트워크 액세스 제어 목록(ACL)](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html)은 인바운드 트래픽과 아웃바운드 트래픽을 *서브넷* 수준에서 (허용 또는 거부 규칙에 따라) 관리할 수 있습니다. ACL은 상태 비저장식이므로 인바운드 규칙과 아웃바운드 규칙을 별도로 명시적으로 지정해야 합니다. VPC 네트워크의 인스턴스에서 들어오거나 나가는 네트워크 트래픽의 유형을 지정하는 데 사용됩니다.

모든 Amazon VPC에는 인바운드와 아웃바운드 트래픽을 모두 허용하는 기본 ACL이 있습니다. 기본 ACL 규칙을 편집하거나 사용자 지정 ACL을 생성하여 서브넷에 연결할 수 있습니다. 서브넷에는 한 번에 하나의 ACL만 연결할 수 있지만 하나의 ACL을 여러 서브넷에 연결할 수 있습니다.

### (권장) 예제 ACL
<a name="vpc-security-acl-example"></a>

다음 예제는 *퍼블릭 라우팅* 또는 *프라이빗 라우팅*을 사용하는 Amazon VPC용 Amazon VPC에 사용할 수 있는 *인바운드* 및 *아웃바운드* ACL 규칙을 보여줍니다.


| 규칙 번호 | Type | 프로토콜 | 포트 범위 | 소스 | 허용/거부 | 
| --- | --- | --- | --- | --- | --- | 
| 100 | 모든 IPv4 트래픽 | 모두 | 모두 | 0.0.0.0/0 | 허용 | 
| \* | 모든 IPv4 트래픽 | 모두 | 모두 | 0.0.0.0/0 | 거부 | 

## VPC 보안 그룹
<a name="vpc-security-sg"></a>

[VPC보안 그룹](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)은 *인스턴스* 레벨에서 네트워크 트래픽을 제어하는 가상 방화벽 역할을 합니다. 보안 그룹은 스테이트풀(stateful) 그룹입니다. 즉, 인바운드 연결이 허용되면 응답할 수 있습니다. VPC 네트워크의 인스턴스에서 들어오는 네트워크 트래픽의 유형을 지정하는 데 사용됩니다.

모든 Amazon VPC에는 기본 보안 그룹이 있습니다. 기본적으로 인바운드 규칙이 없습니다. 모든 아웃바운드 트래픽을 허용하는 아웃바운드 규칙이 있습니다. 기본 보안 그룹 규칙을 편집하거나 사용자 지정 보안 그룹을 생성하여 Amazon VPC에 연결할 수 있습니다. Amazon MWAA에서는 트래픽을 NAT 게이트웨이로 전달하도록 인바운드 및 아웃바운드 규칙을 구성해야 합니다.

### (권장) 모든 액세스 자체 참조 보안 그룹의 예제
<a name="vpc-security-sg-example"></a>

다음 예제는 *퍼블릭 라우팅* 또는 *프라이빗 라우팅*을 사용하는 Amazon VPC의 Amazon VPC에 대한 모든 트래픽을 허용하는 *인바운드* 보안 그룹 규칙을 보여줍니다. 이 예제의 보안 그룹은 그 자체에 대한 자체 참조 규칙입니다.


| Type | 프로토콜 | 소스 유형 | 소스 | 
| --- | --- | --- | --- | 
| 모든 트래픽 | 모두 | 모두 | sg-0909e8e81919/ my-mwaa-vpc-security-group | 

다음 예제는 *아웃바운드* 보안 그룹 규칙을 보여줍니다.


| Type | 프로토콜 | 소스 유형 | 소스 | 
| --- | --- | --- | --- | 
| 모든 트래픽 | 모두 | 모두 | 0.0.0.0/0 | 

### (선택 사항) 포트 5432에 대한 인바운드 액세스를 제한하는 보안 그룹의 예제
<a name="vpc-security-sg-example-port5432"></a>

다음 예제는 사용자 환경의 Amazon Aurora PostgreSQL 메타데이터 데이터베이스(Amazon MWAA 소유)의 포트 5432에서 모든 HTTPS 트래픽을 허용하는 *인바운드* 보안 그룹 규칙을 보여줍니다.

**참고**  
이 규칙을 사용하여 트래픽을 제한하려면 포트 443에서 TCP 트래픽을 허용하는 다른 규칙을 추가해야 합니다.


| Type | 프로토콜 | 포트 범위 | 소스 유형 | 소스 | 
| --- | --- | --- | --- | --- | 
| 사용자 지정 TCP | TCP | 5432 | 사용자 지정 | sg-0909e8e81919/ my-mwaa-vpc-security-group | 

### (선택 사항) 포트 443에 대한 인바운드 액세스를 제한하는 보안 그룹의 예제
<a name="vpc-security-sg-example-port443"></a>

다음 예제는 Apache Airflow 웹 서버의 포트 443에서 모든 TCP 트래픽을 허용하는 *인바운드* 보안 그룹 규칙을 보여줍니다.


| Type | 프로토콜 | 포트 범위 | 소스 유형 | 소스 | 
| --- | --- | --- | --- | --- | 
| HTTPS | TCP | 443 | 사용자 지정 | sg-0909e8e81919/ my-mwaa-vpc-security-group | 

## VPC 엔드포인트 정책(프라이빗 라우팅만 해당)
<a name="vpc-external-vpce-policies"></a>

[VPC 엔드포인트(AWS PrivateLink)](https://docs.aws.amazon.com/mwaa/latest/userguide/vpc-create.html#vpc-create-required) 정책은 프라이빗 서브넷에서 AWS 서비스에 대한 액세스를 제어합니다. VPC 엔드포인트 정책은 VPC 게이트웨이 또는 인터페이스 엔드포인트에 연결할 수 있는 IAM 리소스 정책입니다. 이 섹션에서는 각 VPC 엔드포인트의 VPC 엔드포인트 정책에 필요한 권한을 설명합니다.

생성한 각 VPC 엔드포인트에 대해 모든 AWS 서비스에 대한 전체 액세스를 허용하는 VPC 인터페이스 엔드포인트 정책을 사용하고 AWS 권한에 대해서만 실행 역할을 사용하는 것이 좋습니다.

### (권장) 모든 액세스를 허용하는 VPC 엔드포인트 정책 예제
<a name="vpc-external-vpce-policies-all"></a>

다음 예제는 *프라이빗 라우팅*을 사용하는 Amazon VPC에 대한 VPC 인터페이스 엔드포인트 정책을 보여줍니다.

```
{
  "Statement": [
    {
      "Action": "*",
      "Effect": "Allow",
      "Resource": "*",
      "Principal": "*"
    }
  ]
}
```

### (권장) 버킷 액세스를 허용하는 Amazon S3 게이트웨이 엔드포인트 정책의 예제
<a name="vpc-external-vpce-policies-s3"></a>

다음 예제는 *프라이빗 라우팅*을 사용하는 Amazon VPC의 Amazon ECR 작업에 필요한 Amazon S3 버킷에 액세스 권한을 부여하는 VPC 게이트웨이 엔드포인트 정책을 보여줍니다. 이는 DAG와 지원 파일이 저장되는 버킷 외에도 Amazon ECR 이미지를 검색하는 데 필요합니다.

```
{
  "Statement": [
    {
      "Sid": "Access-to-specific-bucket-only",
      "Principal": "*",
      "Action": [
        "s3:GetObject"
      ],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::prod-{{us-east-1}}-starport-layer-bucket/*"]
    }
  ]
}
```