메뉴
Amazon Elastic Compute Cloud
User Guide for Linux Instances

Amazon Simple Storage Service(Amazon S3)

Amazon S3는 인터넷 데이터용 리포지토리입니다. Amazon S3는 안정적이고 빠르며 비용이 저렴한 데이터 스토리지 인프라에 대한 액세스를 제공합니다. S3은 언제든지 Amazon EC2 내 또는 웹의 어디서나 데이터를 원하는 크기만큼 저장하고 가져올 수 있게 지원함으로써 웹 규모의 컴퓨팅 작업을 쉽게 수행할 수 있도록 설계되었습니다. Amazon S3은 데이터 객체를 여러 시설에 걸쳐 다수 장치에 중복으로 저장하고, 많은 개별 클라이언트 또는 애플리케이션 스레드가 이런 데이터 객체에 대해 연속적 읽기 및 쓰기 액세스를 할 수 있도록 지원합니다. Amazon S3에 저장된 중복 데이터를 사용해서 인스턴스 또는 애플리케이션 장애로부터 빠르게 복구할 수 있습니다.

Amazon EC2는 AMI(Amazon Machine Image) 저장을 위해 Amazon S3 을 사용합니다. AMI를 사용해서 EC2 인스턴스를 시작합니다. 인스턴스 장애의 경우, 저장된 AMI를 사용해서 즉시 다른 인스턴스를 실행할 수 있으며 이를 통해 빠른 복구 및 비즈니스 지속성을 달성할 수 있습니다.

또한 Amazon EC2는 Amazon S3을 사용해서 데이터 볼륨의 스냅샷(백업 사본)을 저장합니다. 애플리케이션 또는 시스템 장애가 발생한 경우 스냅샷을 사용해서 빠르고 안정적으로 데이터를 복원할 수 있습니다. 또한 스냅샷을 하나의 기준으로 사용하여 다수의 새 데이터 볼륨 생성, 기존 데이터 볼륨의 크기 확장, 다수 가용 영역 간 데이터 볼륨 이동 등을 수행할 수 있으며, 이를 통해 사용할 수 있는 데이터를 높은 수준으로 확장할 수 있습니다. 데이터 볼륨 및 스냅샷 사용에 대한 자세한 내용은 Amazon Elastic Block Store 단원을 참조하십시오.

객체는 Amazon S3에 저장되는 기본 개체입니다. Amazon S3에 저장된 모든 객체는 버킷에 저장됩니다. 버킷은 Amazon S3 네임스페이스를 최상위 수준에서 구성하며 해당 스토리지를 담당하는 계정을 식별합니다. Amazon S3 버킷은 인터넷 도메인 이름과 유사합니다. 버킷에 저장된 객체는 고유의 키 값을 가지고 있으며 HTTP URL 주소를 사용해서 검색할 수 있습니다. 예를 들어, 키 값이 /photos/mygarden.jpg인 객체는 myawsbucket 버킷에 저장되며, 다음 URL을 사용하여 주소를 지정할 수 있습니다. http://myawsbucket.s3.amazonaws.com/photos/mygarden.jpg

Amazon S3에 대한 자세한 내용은 Amazon S3제품 페이지를 참조하십시오.

Amazon S3 및 Amazon EC2

스토리지에 있어 Amazon S3의 이점을 고려하여 이 서비스를 사용해서 EC2 인스턴스에 사용할 파일 및 데이터 세트를 저장하는 경우가 있을 수 있습니다. Amazon S3 및 인스턴스 간에 데이터를 주고 받는 방법은 여러가지가 있습니다. 아래 설명한 예뿐만 아니라 여러 사람들이 작성한 다양한 도구가 있으며, 이를 사용해서 컴퓨터 또는 인스턴스에서 Amazon S3의 데이터에 액세스할 수 있습니다. 흔하게 사용하는 방법들 중 일부는 AWS 포럼에서 논의되고 있습니다.

권한을 부여받은 경우, 다음 방법 중 하나를 사용해서 Amazon S3 및 인스턴스로 또는 인스턴스로부터 파일을 복사할 수 있습니다.

GET 또는 wget

wget 유틸리티는 Amazon S3에서 퍼블릭 객체를 다운로드할 수 있도록 허용하는 HTTP 및 FTP 클라이언트입니다. 이는 Amazon Linux 및 대부분의 기타 배포판에서 기본적으로 설치되어 있으며, Windows에서 다운로드할 수 있습니다. Amazon S3 객체를 다운로드하려면 다운로드할 객체의 URL로 해당 부분을 대체하여 다음 명령을 사용합니다.

Copy
[ec2-user ~]$ wget https://my_bucket.s3.amazonaws.com/path-to-file

이 방법은 요청한 객체가 퍼블릭일 것을 요합니다. 객체가 퍼블릭이 아닌 경우는 "ERROR 403: Forbidden" 메시지를 받게 됩니다. 이 오류 메시지를 받은 경우는 Amazon S3 콘솔을 열고 객체의 권한을 퍼블릭으로 변경합니다. 자세한 내용은 Amazon Simple Storage Service 개발자 가이드 단원을 참조하십시오.

AWS Command Line Interface

AWS Command Line Interface(AWS CLI)는 AWS 서비스를 관리하는 통합 도구입니다. AWS CLI를 통해 사용자는 인증을 하고 Amazon S3에서 제한되는 항목을 다운로드하고 다른 항목을 업로드할 수도 있게 됩니다. 상기 도구의 설치 및 구성 등에 대한 자세한 내용 AWS Command Line Interface 세부 정보 페이지 단원을 참조하십시오.

aws s3 cp 명령은 Unix cp 명령과 유사합니다. Amazon S3에서 인스턴스로 파일을 복사하거나, 인스턴스에서 Amazon S3로 파일을 복사하거나, 하나의 Amazon S3 위치에서 다른 위치로 파일을 복사할 수도 있습니다.

다음 명령을 사용해서 Amazon S3에서 인스턴스로 객체를 복사합니다.

Copy
[ec2-user ~]$ aws s3 cp s3://my_bucket/my_folder/my_file.ext my_copied_file.ext

다음 명령을 사용해서 인스턴스에서 Amazon S3로 객체를 복사합니다.

Copy
[ec2-user ~]$ aws s3 cp my_copied_file.ext s3://my_bucket/my_folder/my_file.ext

aws s3 sync 명령은 전체 Amazon S3 버킷을 로컬 디렉터리 위치에 동기화할 수 있습니다. 이는 데이터 세트를 다운로드하고 로컬 사본을 원격 세트에 따라 최신으로 유지하는 데 도움이 될 수 있습니다. Amazon S3 버킷에서 적절한 권한을 보유한 경우, 작업이 완료되면 소스와 대상의 위치를 바꿔 입력해 명령을 실행해서 로컬 디렉터리를 클라우드로 푸시할 수 있습니다.

다음 명령을 사용해서 전체 Amazon S3 버킷을 사용자의 로컬 디렉터리로 다운로드할 수 있습니다.

Copy
[ec2-user ~]$ aws s3 sync s3://remote_S3_bucket local_directory

Amazon S3 API

개발자라면 API를 사용해서 Amazon S3의 데이터에 액세스할 수 있습니다. 자세한 내용은 Amazon Simple Storage Service 개발자 가이드 단원을 참조하십시오. 이런 API 및 그 예들을 사용해서 애플리케이션 개발을 지원하고 이를 boto Python 인터페이스 등 다른 API 및 SDK와 통합할 수 있습니다.

이 페이지에서: