

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

# NFS 클라이언트용 EFS 파일 시스템에 대한 네트워크 액세스 제어
<a name="NFS-access-control-efs"></a>

네트워크 계층 보안 및 EFS 파일 시스템 정책을 사용하여 NFS 클라이언트의 Amazon EFS 파일 시스템에 대한 액세스를 제어할 수 있습니다. VPC 보안 그룹 규칙 및 네트워크 ACL 등 Amazon EC2에서 사용할 수 있는 네트워크 계층 보안 메커니즘을 사용할 수 있습니다. 또한 AWS IAM을 사용하여 EFS 파일 시스템 정책 및 자격 증명 기반 정책을 통해 NFS 액세스를 제어할 수 있습니다.

**Topics**
+ [VPC 보안 그룹 사용](network-access.md)
+ [Amazon EFS에서 인터페이스 VPC 엔드포인트 작업](efs-vpc-endpoints.md)

# VPC 보안 그룹 사용
<a name="network-access"></a>

Amazon EFS를 사용하는 경우, EC2 인스턴스의 VPC 보안 그룹 및 파일 시스템과 연결된 EFS 탑재 대상의 보안 그룹을 지정합니다. 보안 그룹은 방화벽 역할을 하고, 추가한 규칙은 트래픽 흐름을 정의합니다. [시작하기](getting-started.md) 연습에서 EFS 인스턴스를 시작할 때 보안 그룹 한 개를 생성했습니다. 그런 다음 다른 보안 그룹을 EFS 탑재 대상에 연결했습니다(기본 VPC에 대한 기본 보안 그룹). 이 방법은 시작하기 연습에는 적합합니다. 그러나 프로덕션 시스템의 경우, Amazon EFS에서 사용하려면 최소한의 권한을 가진 보안 그룹을 설정해야 합니다.

EFS 파일 시스템에 대한 인바운드 및 아웃바운드 액세스를 승인할 수 있습니다. 이렇게 하려면 EFS 인스턴스가 NFS(네트워크 파일 시스템) 포트를 사용하고 탑재 대상을 통해 EFS 파일 시스템을 연결할 수 있는 규칙을 추가합니다.
+ 파일 시스템을 탑재한 각 EC2 인스턴스에는 **NFS 포트 2049**에서 탑재 대상에 대한 아웃바운드 액세스를 허용하는 보안 그룹이 있어야 합니다.
+ EFS 탑재 대상에는 파일 시스템을 탑재하려는 각 EC2 인스턴스에서 NFS 포트 2049에 대한 인바운드 액세스를 허용하는 규칙이 있는 보안 그룹이 있어야 합니다.

다음 테이블에는 필요한 특정 보안 그룹 규칙이 나와 있습니다.


| 보안 그룹 | 규칙 유형 | 프로토콜 | 포트 | 소스/대상 | 
| --- | --- | --- | --- | --- | 
| EC2 인스턴스 | 아웃바운드 | TCP | 2049 | 탑재 대상 보안 그룹 | 
| 탑재 대상 | 인바운드 | TCP | 2049 | EC2 인스턴스 보안 그룹 | 

## Amazon EFS 작업용 소스 포트
<a name="source-ports"></a>

Amazon EFS는 다양한 NFS 클라이언트를 지원하기 위해 모든 소스 포트로부터의 연결을 허용합니다. 권한이 있는 사용자만 Amazon EFS에 액세스할 수 있게 만들려면 다음 클라이언트 방화벽 규칙을 사용하는 것이 좋습니다. SSH를 사용하여 파일 시스템에 연결하고 다음 명령을 실행합니다.

```
iptables -I OUTPUT 1 -m owner --uid-owner 1-4294967294 -m tcp -p tcp --dport 2049 -j DROP
```

이 명령은 출력 체인(`-I OUTPUT 1`)의 시작 부분에 새로운 규칙을 삽입합니다. 권한이 없는 비 커널 프로세스(`-m owner --uid-owner 1-4294967294`)가 NFS 포트 2049(`-m tcp -p tcp –dport 2049`) 연결을 여는 것을 방지하는 규칙입니다.

## 네트워크 액세스에 대한 보안 고려 사항
<a name="sg-information"></a>

NFS 버전 4.1(NFSv4.1) 클라이언트는 파일 시스템의 탑재 대상 중 하나의 NFS 포트(TCP 포트 2049)에 네트워크 연결을 구성할 수 있는 경우에만 파일 시스템을 탑재할 수 있습니다. 유사하게 NFSv4.1 클라이언트는 이러한 네트워크 연결을 구성할 수 있는 경우에만 파일 시스템에 액세스할 때 사용자 및 그룹 ID를 확인할 수 있습니다.

이러한 네트워크 연결을 수행할 수 있는지 여부는 다음 조합에 따라 관리됩니다.
+ **탑재 대상의 VPC에서 제공하는 네트워크 격리** – 파일 시스템 탑재 대상에는 해당 탑재 대상과 연결된 퍼블릭 IP 주소가 있을 수 없습니다. 파일 시스템을 탑재할 수 있는 유일한 대상은 다음과 같습니다.
  + 로컬 Amazon VPC 및 Amazon EC2 인스턴스
  + 연결된 VPC의 EC2 인스턴스
  +  AWS Direct Connect 및 AWS Virtual Private Network (VPN)를 사용하여 Amazon VPC에 연결된 온프레미스 서버
+ **클라이언트 및 탑재 대상의 VPC 서브넷에 대한 네트워크 액세스 제어 목록(ACL) (탑재 대상 서브넷 외부에서의 액세스용)** – 파일 시스템을 탑재하려면 클라이언트가 탑재 대상의 NFS 포트 2049에 TCP 연결을 수행하고 반송 트래픽을 수신할 수 있어야 합니다.
+ **클라이언트 및 탑재 대상의 VPC 보안 그룹 규칙(모든 액세스에 해당)** – 파일 시스템을 탑재하기 위한 EC2 인스턴스는 다음 보안 그룹 규칙이 유효해야 합니다.
  +  파일 시스템에는 인스턴스의 NFS 포트 2049에 대한 인바운드 연결을 활성화하는 규칙과 함께 네트워크 인터페이스에 보안 그룹이 있는 탑재 대상이 있어야 합니다. IP 주소(CIDR 범위)나 보안 그룹을 사용해 인바운드 연결을 활성화할 수 있습니다. 탑재 대상 네트워크 인터페이스에 대한 인바운드 NFS 포트 보안 그룹의 소스는 파일 시스템 액세스 제어의 핵심 요소입니다. NFS 포트 2049 이외의 인바운드 규칙과 모든 아웃바운드 규칙은 파일 시스템 탑재 대상 네트워크 인터페이스에 사용할 수 없습니다.
  +  탑재 인스턴스에는 파일 시스템의 탑재 대상 중 하나의 NFS 포트 2049에 대해 아웃바운드 연결을 활성화시키는 보안 그룹 규칙이 있는 네트워크 인터페이스가 있어야 합니다. IP 주소(CIDR 범위)나 보안 그룹을 사용해 아웃바운드 연결을 활성화할 수 있습니다.

자세한 내용은 [탑재 대상 생성](accessing-fs.md) 단원을 참조하십시오.

## 보안 그룹 만들기
<a name="security-group-create"></a>

**EC2 인스턴스 및 EFS 탑재 대상에 대한 보안 그룹 생성**

다음은 Amazon EFS에 대한 보안 그룹을 생성할 때 수행할 일반적인 단계입니다. 보안 그룹 생성에 대한 지침은 *Amazon VPC 사용 설명서*의 [보안 그룹 생성](https://docs.aws.amazon.com/vpc/latest/userguide/creating-security-groups.html)을 참조하세요.

1. EC2 인스턴스에 대해 다음 규칙이 포함된 보안 그룹을 생성합니다.
   + IP 주소 또는 네트워크에서 **포트 22**의 Secure Shell(SSH)를 사용하여 인바운드 액세스를 허용하는 인바운드 규칙입니다. 필요할 경우 보안을 위해 **소스** 주소를 제한할 수 있습니다.
   + 탑재 대상 보안 그룹에 대한 NFS 포트 2049의 아웃바운드 액세스를 허용하는 아웃바운드 규칙입니다. 탑재 대상 보안 그룹은 대상으로 식별됩니다.

1. EFS 탑재 대상에 대해 다음 규칙을 사용하여 보안 그룹을 생성합니다.
   + EC2 보안 그룹에서 NFS 포트 2049에 대한 액세스를 허용하는 인바운드 규칙입니다. EC2 보안 그룹은 소스로 식별됩니다.
**참고**  
기본 아웃바운드 규칙이 모든 아웃바운드 트래픽을 허용하므로 별도의 아웃바운드 규칙을 추가할 필요가 없습니다.

# Amazon EFS에서 인터페이스 VPC 엔드포인트 작업
<a name="efs-vpc-endpoints"></a>

Virtual Private Cloud(VPC)와 Amazon EFS API 간에 프라이빗 연결을 설정하기 위해 인터페이스 VPC 엔드포인트를 생성할 수 있습니다. 엔드포인트는 인터넷 게이트웨이, NAT 인스턴스 또는 가상 프라이빗 네트워크(VPN) 연결 없이도 Amazon EFS API에 대한 안전한 연결을 제공합니다. 자세한 내용은 *Amazon* [VPC 사용 설명서의 인터페이스 VPC 엔드포인트를 사용하여 AWS 서비스 액세스를](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html) 참조하세요.

인터페이스 VPC 엔드포인트는 프라이빗 IP 주소를 사용하여 AWS 서비스 간에 프라이빗 통신을 활성화하는 AWS PrivateLink기능으로 구동됩니다. AWS PrivateLink를 사용하려면 Amazon VPC 콘솔, API 또는 CLI를 사용하여 VPC에서 Amazon EFS에 대한 인터페이스 VPC 엔드포인트를 생성합니다. 이렇게 하면 Amazon EFS API 요청을 처리하는 프라이빗 IP 주소가 있는 탄력적 네트워크 인터페이스가 서브넷에서 생성됩니다. 또는 VPC 피어링을 사용하여 온프레미스 환경이나 다른 VPCs에서 Site-to-Site VPN Direct Connect VPC 엔드포인트에 액세스할 수도 있습니다. 자세한 내용은 *Amazon VPC 사용 설명서*의 [AWS PrivateLink를 사용하여 서비스에 VPC 연결](https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-overview.html)을 참조하세요.

## Amazon EFS에 대한 인터페이스 엔드포인트 생성
<a name="create-vpce-efs"></a>

Amazon EFS에 대한 인터페이스 VPC 엔드포인트를 생성하려면 다음 중 하나를 사용합니다.
+ `com.amazonaws.region.elasticfilesystem` – Amazon EFS API 작업을 위한 엔드포인트를 생성합니다.
+ **`com.amazonaws.region.elasticfilesystem-fips`** - [Federal Information Processing Standard(FIPS) 140-2](https://aws.amazon.com/compliance/fips/)를 준수하는 Amazon EFS API의 엔드포인트를 생성합니다.

Amazon EFS 엔드포인트의 전체 목록은 *Amazon Web Services 일반 참조*의 [Amazon Elastic File System 엔드포인트 및 할당량](https://docs.aws.amazon.com/general/latest/gr/elasticfilesystem.html)을 참조하세요.

인터페이스 엔드포인트를 생성하는 방법에 대한 자세한 내용은 *Amazon* [VPC 사용 설명서의 인터페이스 VPC 엔드포인트를 사용하여 AWS 서비스 액세스를](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html) 참조하세요.

## Amazon EFS에 대한 VPC 엔드포인트 정책 생성
<a name="create-vpce-policy-efs"></a>

Amazon EFS API에 대한 액세스를 제어하기 위해 VPC 엔드포인트에 AWS Identity and Access Management (IAM) 정책을 연결할 수 있습니다. 이 정책은 다음을 지정합니다.
+ 작업을 수행할 수 있는 보안 주체.
+ 수행할 수 있는 작업.
+ 작업을 수행할 수 있는 리소스 

자세한 내용은 *Amazon VPC 사용자 가이드*의 [엔드포인트 정책을 사용하여 VPC 엔드포인트로 액세스 제어](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html)를 참조하세요.

다음 예에서는 엔드포인트를 통해 EFS 파일 시스템을 생성할 수 있는 모든 사람 권한을 거부하는 VPC 엔드포인트 정책을 보여 줍니다. 또한 이 정책 예에서는 모든 사용자에게 다른 모든 작업을 수행할 수 있는 권한을 부여합니다.

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