연습: 다른 VPC를 사용해 파일 시스템 탑재 - Amazon Elastic File System

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

연습: 다른 VPC를 사용해 파일 시스템 탑재

이 연습에서는 Amazon EC2 인스턴스를 설정하여 다른 가상 사설 클라우드 (VPC) 에 있는 Amazon EFS 파일 시스템을 마운트합니다. 이 작업은 EFS 탑재 헬퍼를 사용하여 수행할 수 있습니다. 탑재 헬퍼는 amazon-efs-utils 도구 세트의 일부입니다. amazon-efs-utils에 대한 자세한 정보는 amazon-efs-utils 도구 사용 섹션을 참조하세요.

클라이언트의 VPC와 EFS 파일 시스템의 VPC는 VPC 피어링 연결 또는 VPC 전송 게이트웨이를 사용하여 연결되어야 합니다. VPC 피어링 연결 또는 전송 게이트웨이를 사용하여 VPC를 연결하는 경우, VPC가 다른 계정에 속해 있더라도 한 VPC 있는 Amazon EC2 인스턴스가 다른 VPC의 EFS 파일 시스템에 액세스할 수 있습니다.

참고

Microsoft Windows 기반 클라이언트에서 EFS 사용하는 것은 지원되지 않습니다.

시작하기 전

이 연습에서는 다음이 이미 있다고 가정합니다.

  • amazon-efs-utils 도구 세트는 이 절차를 사용하기 전에 EC2 인스턴스에 설치됩니다. amazon-efs-utils를 설치하는 방법에 대한 지침은 amazon-efs-utils 도구 사용 단원을 참조하십시오.

  • 다음 중 하나입니다.

    • EFS 파일 시스템이 있는 VPC와 EC2 인스턴스가 있는 VPC 간의 VPC 피어링 연결. VPC 피어링 연결은 두 VPC 간의 네트워킹 연결입니다. 이러한 유형의 연결을 사용하면 프라이빗 Internet Protocol version 4(IPv4) 또는 Internet Protocol version 6(IPv6) 주소를 사용하여 이들 간의 트래픽을 라우팅할 수 있습니다. VPC 피어링을 사용하여 동일한 VPC 내에서AWS 리전 또는AWS 리전 s 간에 VPC를 연결할 수 있습니다. 자세한 내용은 Amazon VPC 피어링 안내서의 VPC 피어링 연결 생성 및 수락을 참조하십시오.

    • EFS 파일 시스템이 있는 VPC와 EC2 인스턴스가 있는 VPC를 연결하는 전송 게이트웨이. 전송 게이트웨이는 VPC와 온프레미스 네트워크를 상호 연결하는 데 사용할 수 있는 네트워크 전송 허브입니다. 자세한 내용은 Amazon VPC 트랜짓 게이트웨이 안내서의 트랜짓 게이트웨이 시작하기를 참조하십시오.

1단계: EFS 탑재 대상의 가용 영역 ID 확인

파일 시스템의 고가용성을 보장하려면 항상 NFS 클라이언트와 동일한 가용 영역에 있는 EFS 탑재 대상 IP 주소를 사용하는 것이 좋습니다. 다른 계정에 있는 EFS 파일 시스템을 마운트하는 경우 NFS 클라이언트와 EFS 탑재 대상이 동일한 가용 영역 ID에 있는지 확인하십시오. 이 요구 사항은 가용 영역 이름이 계정마다 다를 수 있기 때문에 적용됩니다.

EC2 인스턴스의 가용 영역 ID를 확인하려면
  1. EC2 인스턴스에 연결합니다:

    • macOS 또는 Linux를 실행하는 컴퓨터에서 인스턴스에 연결하려면 SSH 명령에 대한 .pem 파일을 지정합니다. 이렇게 하려면 -i 옵션 및 프라이빗 키의 경로를 사용합니다.

    • Windows를 실행 중인 컴퓨터에서 인스턴스에 연결하려면 MindTerm 또는 PuTTY를 사용합니다. PuTTY를 사용하려면 설치하고 .pem 파일을 .ppk 파일로 변환합니다.

    자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서의 다음 항목을 참조하세요.

  2. 다음과 같이describe-availability-zones CLI 명령을 사용하여 EC2 인스턴스가 속한 가용 영역 ID를 확인합니다.

    [ec2-user@ip-10.0.0.1] $ aws ec2 describe-availability-zones --zone-name { "AvailabilityZones": [ { "State": "available", "ZoneName": "us-east-2b", "Messages": [], "ZoneId": "use2-az2", "RegionName": "us-east-2" } ] }

    가용 영역 ID가ZoneId 속성에 반환됩니다use2-az2.

2단계: 탑재 대상 IP 주소 확인

이제 EC2 인스턴스의 가용 영역 ID를 알았으므로 이제 동일한 가용 영역 ID에 있는 탑재 대상의 IP 주소를 검색할 수 있습니다.

동일한 가용 영역 ID에서 탑재 대상 IP 주소를 확인하려면
  • 다음과 같이 describe-mount-targets CLI 명령을 사용하여 use2-az2 AZ ID에서 파일 시스템의 탑재 대상 IP 주소를 검색합니다.

    $ aws efs describe-mount-targets --file-system-id file_system_id { "MountTargets": [ { "OwnerId": "111122223333", "MountTargetId": "fsmt-11223344", =====> "AvailabilityZoneId": "use2-az2", "NetworkInterfaceId": "eni-048c09a306023eeec", "AvailabilityZoneName": "us-east-2b", "FileSystemId": "fs-01234567", "LifeCycleState": "available", "SubnetId": "subnet-06eb0da37ee82a64f", "OwnerId": "958322738406", =====> "IpAddress": "10.0.2.153" }, ... { "OwnerId": "111122223333", "MountTargetId": "fsmt-667788aa", "AvailabilityZoneId": "use2-az3", "NetworkInterfaceId": "eni-0edb579d21ed39261", "AvailabilityZoneName": "us-east-2c", "FileSystemId": "fs-01234567", "LifeCycleState": "available", "SubnetId": "subnet-0ee85556822c441af", "OwnerId": "958322738406", "IpAddress": "10.0.3.107" } ] }

    use2-az2가용 영역 ID의 탑재 대상의 IP 주소는 10.0.2.153입니다.

3단계: 탑재 대상에 대한 호스트 항목 추가

이제 탑재 대상 IP 주소를 EFS 파일 시스템의 호스트 이름에 매핑하는 EC2 인스턴스의 /etc/hosts 파일에 입력할 수 있습니다.

탑재 대상에 대한 호스트 항목 추가
  1. EC2 인스턴스의 /etc/hosts 파일에 탑재 대상 IP 주소에 대한 줄을 추가합니다. 사용되는 항목 형식은 mount-target-IP-Address file-system-ID.efs.region.amazonaws.com입니다. 다음 명령을 사용하여 파일에 줄을 추가합니다.

    echo "10.0.2.153 fs-01234567.efs.us-east-2.amazonaws.com" | sudo tee -a /etc/hosts
  2. 필요에 따라 EC2 인스턴스 및 탑재 대상의 VPC 보안 그룹에 EFS 시스템에 대한 액세스를 허용하는 규칙이 있는지 확인하십시오. 자세한 정보는 Amazon EC2 인스턴스 및 탑재 대상의 VPC 보안 그룹 사용을 참조하세요.

4단계: EFS 탑재 헬퍼를 사용하여 파일 시스템 탑재

EFS 파일 시스템을 탑재하려면 먼저 EC2 인스턴스에 탑재 디렉터리를 생성합니다. 그런 다음, EFS 탑재 헬퍼를 사용하여 IAM 권한 부여 또는 EFS 액세스 포인트를 사용하여 파일 시스템을 탑재할 수 있습니다. 자세한 내용은 IAM을 사용하여 파일 시스템 데이터 액세스 제어Amazon EFS 액세스 포인트를 사용하는 단원을 참조하세요.

탑재 디렉터리를 생성하려면
  • 다음 명령을 사용하여 파일 시스템을 탑재할 디렉터리를 생성합니다.

    $ sudo mkdir /mnt/efs/
IAM 권한 부여를 사용하여 파일 시스템 탑재
  • 다음 명령을 사용하여 IAM 권한 부여를 통해 파일 시스템을 탑재합니다.

    $ sudo mount -t efs -o tls,iam file-system-id /mnt/efs/
EFS 액세스 포인트를 사용하여 파일 시스템 탑재
  • EFS 액세스 포인트를 사용하여 파일 시스템을 탑재하려면 다음 명령을 사용합니다.

    $ sudo mount -t efs -o tls,accesspoint=access-point-id file-system-id /mnt/efs/

Amazon EFS 파일 시스템을 마운트했으니 이제 다음 절차에 따라 테스트할 수 있습니다.

Amazon EFS 파일 시스템 연결을 테스트하려면
  1. 만든 디렉터리를 다음 명령을 사용하여 새 디렉터리로 변경합니다.

    $ cd ~/mnt/efs
  2. 하위 디렉터리를 만들고 해당 하위 디렉터리의 소유권을 EC2 인스턴스 사용자로 변경합니다. 그런 다음 아래 명령을 사용하여 새 디렉터리로 이동합니다.

    $ sudo mkdir getting-started $ sudo chown ec2-user getting-started $ cd getting-started
  3. 다음 명령을 사용하여 텍스트 파일을 만듭니다.

    $ touch test-file.txt
  4. 다음 명령을 사용하여 디렉터리 콘텐츠를 나열합니다.

    $ ls -al

따라서 다음 파일이 생성됩니다.

-rw-rw-r-- 1 username username 0 Nov 15 15:32 test-file.txt

/etc/fstab 파일에 항목을 추가하는 방법으로 자동으로 파일 시스템을 탑재할 수도 있습니다. 자세한 정보는 EFS 탑재 도우미와 함께 /etc/fstab을 사용하여 EFS 파일 시스템을 자동으로 다시 탑재합니다.을 참조하세요.

주의

파일 시스템을 자동으로 탑재하는 경우 네트워크 파일 시스템 식별에 사용하는 _netdev 옵션을 사용합니다. _netdev이 빠진 경우 EC2 인스턴스가 응답을 중지합니다. 컴퓨팅 인스턴스가 네트워킹을 시작한 후 네트워크 파일 시스템의 초기화를 완료해야 하기 때문입니다. 자세한 정보는 자동 탑재 실패 및 인스턴스 무응답을 참조하세요.

5단계: 리소스 정리 및AWS 계정 보호

이 연습을 완료한 후 또는 연습을 탐색하지 않으려면 다음 단계를 수행해야 합니다. 이것들은 당신의 자원을 정리하고 당신을 보호합니다AWS 계정.

리소스를 정리하고 보호하려면AWS 계정
  1. 다음 명령을 사용하여 Amazon EFS 파일 시스템을 마운트 해제합니다.

    $ sudo umount ~/efs
  2. https://console.aws.amazon.com/efs/ 에서 Amazon EFS 콘솔을 엽니다.

  3. 파일 시스템 목록에서 삭제하려는 Amazon EFS 파일 시스템을 선택합니다.

  4. Actions에서 Delete file system을 선택합니다.

  5. 파일 시스템 영구 삭제 대화 상자에서 삭제하려는 Amazon EFS 파일 시스템의 파일 시스템 ID를 입력한 다음 파일 시스템 삭제를 선택합니다.

  6. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  7. 탐색 창에서 보안 그룹(Security Groups)을 선택합니다.

  8. 이 연습에서 규칙을 추가했던 보안 그룹의 이름을 선택합니다.

    주의

    VPC에 대한 기본 보안 그룹은 삭제할 수 없습니다.

  9. 작업에서 인바운드 규칙을 선택합니다.

  10. 추가한 인바운드 규칙 마지막 부분의 X를 선택한 다음 저장을 선택합니다.