View a markdown version of this page

자습서: S3 Files 시작하기 - Amazon Simple Storage Service

자습서: S3 Files 시작하기

이 자습서에서는 S3 파일 시스템을 생성하여 EC2 인스턴스에 탑재합니다. 그런 다음 기본 파일 작업을 테스트합니다. S3 콘솔 또는 AWS CLI를 사용하여 S3 Files를 시작할 수 있습니다.

AWS 콘솔을 사용하여 S3 Files 시작

S3 콘솔의 S3 Files 워크플로는 다음 단계로 구성됩니다.

  • S3 파일 시스템을 만듭니다.

  • EC2 인스턴스에 파일 시스템을 마운트하고 파일 시스템 작업을 실행합니다.

사전 조건

시작하기 전에 다음이 있는지 확인하세요.

1단계: S3 파일 시스템 만들기

  • https://console.aws.amazon.com/s3/에서 S3 콘솔을 엽니다.

  • 페이지 상단의 탐색 모음에서 EC2 인스턴스와 S3 버킷이 있는 AWS 리전에 있는지 확인합니다.

  • 왼쪽 탐색 창에서 범용 버킷을 선택합니다.

  • 파일 시스템을 생성하려는 버킷을 선택합니다.

  • 파일 시스템 탭을 선택합니다.

  • 파일 시스템 생성을 선택합니다.

  • VPC를 검토하고 확인합니다. 이 자습서에서는 기본 VPC를 사용합니다.

  • 생성(Create)을 선택합니다.

AWS Management Console을 사용하여 파일 시스템을 생성하면 S3 Files는 기본 VPC의 모든 가용 영역에 탑재 대상 하나와 파일 시스템의 액세스 포인트 하나를 자동으로 생성합니다. 몇 분 정도 소요될 수 있습니다. 모든 리소스가 생성되면 파일 시스템을 다음 단계에서 사용할 수 있게 됩니다.

2단계: EC2 인스턴스에 파일 시스템 탑재

  • 파일 시스템 개요 페이지의 EC2 인스턴스에 연결에서 연결을 선택합니다. 그러면 파일 시스템을 EC2 인스턴스에 탑재할 새 페이지가 열립니다.

  • 사용 가능한 EC2 인스턴스 드롭다운에서 원하는 EC2 인스턴스를 선택합니다.

  • 파일 시스템을 탑재하려는 EC2 인스턴스의 경로를 입력합니다. 예를 들어 /mnt/s3files/입니다.

  • 필요한 트래픽이 흐를 수 있도록 EC2 인스턴스와 탑재 대상에서 올바른 보안 그룹을 구성했는지 확인합니다.

  • S3 파일 시스템 및 S3 버킷과 상호 작용할 수 있도록 EC2 인스턴스에 필요한 권한이 연결된 올바른 IAM 역할이 있는지 확인합니다. 자세한 내용은 파일 시스템을 AWS 컴퓨팅 리소스에 연결하기 위한 IAM 역할 섹션을 참조하세요. 이 자습서에서는 EC2 인스턴스의 IAM 역할에 관리형 정책 AmazonS3FilesClientFullAccess를 추가하여 클라이언트에 전체 액세스 권한을 부여하는 것을 고려할 수 있습니다.

  • 페이지에 표시된 연결 지침에 따라 CloudShell을 열고, 파일 시스템을 탑재하고, 기본 파일 시스템 작업을 실행합니다.

AWS CLI를 사용하여 S3 Files 시작

AWS CLI의 S3 Files 워크플로는 다음 단계로 구성됩니다.

  1. 파일 시스템을 만듭니다.

  2. 파일 시스템의 탑재 대상을 생성합니다.

  3. 탑재 대상을 사용하여 EC2 인스턴스에 파일 시스템을 탑재합니다.

  4. 디렉터리 나열, 파일에 텍스트 쓰기, 파일 읽기, 파일 복사와 같은 파일 작업을 테스트합니다. 그런 다음 변경 사항이 S3 버킷에 반영되는지 확인합니다.

사전 조건

시작하기 전에 다음이 있는지 확인하세요.

  • AWS CLI를 설치하고 구성했습니다. 자세한 내용은 최신 버전의 AWS CLI 설치 또는 업데이트를 참조하세요.

  • S3 Files의 사전 조건에 설명된 모든 사전 요구 사항을 완료했습니다.

  • Amazon EC2가 설정되어 있고 EC2 인스턴스 실행에 익숙합니다. AWS 계정, 관리 액세스 권한이 있는 사용자, 키 페어, 보안 그룹이 필요합니다. 자세한 내용은 ‭Amazon EC2 사용 설명서‬의 ‭Amazon EC2 시작하기‭를 참조하세요.

1단계: S3 파일 시스템 만들기

EC2 인스턴스에 연결합니다. 명령을 실행해 create-file-system 파일 시스템을 생성합니다.

aws s3files create-file-system --region aws-region --bucket bucket-arn --role-arn iam-role

다음 값을 원하는 값으로 바꿉니다.

  • aws-region: 버킷의 AWS 리전입니다. 예를 들어 us-east-1입니다.

  • bucket-arn: S3 버킷의 ARN입니다.

  • iam-role: S3 Files가 S3 버킷에서 읽고 쓰기 위해 수임하는 IAM 역할의 ARN입니다. 이 IAM 역할에 올바른 권한을 추가했는지 확인합니다. 자세한 내용은 파일 시스템에서 버킷에 액세스하기 위한 IAM 역할 섹션을 참조하세요.

파일 시스템 생성이 성공적으로 완료되면 S3 Files는 파일 시스템 설명을 JSON 형식으로 반환합니다. 다음 단계의 파일 시스템 ID를 기록해 둡니다.

2단계: 탑재 대상 생성

탑재 대상은 단일 가용 영역 내에서 VPC의 파일 시스템에 대한 네트워크 액세스를 제공합니다. 컴퓨팅 리소스에서 파일 시스템에 액세스하려면 탑재 대상이 필요합니다. 가용 영역당 탑재 대상은 최대 한 개를 만들 수 있습니다. 운영 중인 모든 가용 영역에 탑재 대상을 생성하는 것이 좋습니다.

파일 시스템에 대한 탑재 대상을 생성하려면 create-mount-target 명령을 실행합니다. subnet-id가 EC2 인스턴스와 동일한 VPC에 있는지 확인해야 합니다. EC2 인스턴스와 동일한 가용 영역에서 탑재 대상을 생성해야 합니다.

aws s3files create-mount-target --region aws-region --file-system-id file-system-id --subnet-id subnet-id

여기서 file-system-idcreate-file-system 명령의 응답으로 받은 파일 시스템 ID입니다. 탑재 대상을 생성하는 데 최대 5분이 걸릴 수 있습니다.

3단계: EC2 인스턴스에 파일 시스템 탑재

파일 시스템을 탑재하기 전에 필요한 트래픽이 흐를 수 있도록 컴퓨팅 리소스와 탑재 대상에 올바른 보안 그룹를 구성했는지 확인합니다. 보안 그룹에 대한 자세한 내용은 VPC 사용 설명서를 참조하세요.

다음 명령을 실행해 파일 시스템을 탑재합니다.

  • 다음 명령을 사용하여 파일 시스템 탑재 지점으로 사용할 디렉터리 /mnt/s3files를 생성합니다.

    sudo mkdir /mnt/s3files
  • 파일 시스템 탑재:

    sudo mount -t s3files file-system-id:/ /mnt/s3files

파일 시스템 ID가 없는 경우 다음을 실행하여 찾을 수 있습니다.

aws s3files get-file-system --region aws-region --file-system-id file-system-id

4단계: 파일 작업 테스트

다음과 같이 탑재된 파일 시스템에서 기본 파일 작업을 테스트합니다.

  • 탑재한 디렉터리로 변경합니다.

    cd /mnt/s3files
  • 디렉터리의 콘텐츠를 나열하여 소스 버킷 또는 접두사의 콘텐츠를 가져왔는지 확인할 수 있습니다. 동기화는 일반적으로 몇 초 이내에 발생하지만 특히 첫 번째 파일의 경우 더 오래 걸릴 수 있습니다. 버킷이 비어 있는 경우 아래 명령은 빈 결과도 반환합니다.

    ls
  • 다른 파일 작업을 테스트할 수도 있습니다.

    • 파일을 생성합니다.

      echo "Hello, S3 Files!" > test.txt
    • 파일 읽기:

      cat test.txt
    • 디렉터리 만들기:

      mkdir test-directory
    • 파일을 디렉터리로 복사:

      cp /mnt/s3files/test.txt /mnt/s3files/test-directory/

그런 다음 S3 버킷으로 이동하여 test-directory 디렉터리가 버킷에 반영되는지 확인할 수 있습니다. 변경 사항을 S3 버킷에 다시 동기화하는 데 약 1분이 걸릴 수 있습니다.