Amazon EC2와 함께 Amazon S3 사용 - Amazon Elastic Compute Cloud

Amazon EC2와 함께 Amazon S3 사용

Amazon Simple Storage Service(Amazon S3)는 업계 최고의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스입니다. Amazon S3를 사용하여 Amazon EC2 인스턴스 또는 인터넷을 통해 데이터 레이크, 웹 사이트, 백업 및 빅 데이터 분석과 같은 다양한 사용 사례에 대해 원하는 양의 데이터를 저장하고 검색할 수 있습니다. 자세한 내용은 Amazon S3란 무엇인가?를 참조하세요

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

사용 예제:

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

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

GET 또는 wget

참고

이 메서드는 퍼블릭 객체에만 적용됩니다. 객체가 퍼블릭이 아닌 경우 ERROR 403: Forbidden 메시지가 표시됩니다. 이 오류가 발생하는 경우 Amazon S3 콘솔, AWS CLI, AWS API, AWS SDK 또는 AWS Tools for Windows PowerShell을 사용해야 하며, 필요한 권한이 있어야 합니다. 자세한 내용은 Amazon S3 사용 설명서에서 Amazon S3의 자격 증명 및 액세스 관리객체 다운로드를 참조하세요.

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

[ec2-user ~]$ wget https://my_bucket.s3.amazonaws.com/path-to-file
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에서 인스턴스로 객체를 복사합니다.

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

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

[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 버킷을 사용자의 로컬 디렉터리로 다운로드할 수 있습니다.

[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와 통합할 수 있습니다.