View a markdown version of this page

Amazon S3란 무엇인가요? - Amazon Simple Storage Service

Amazon S3란 무엇인가요?

Amazon Simple Storage Service(Amazon S3)는 업계 최고의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스입니다. 모든 규모와 업종의 고객은 Amazon S3를 사용하여 데이터 레이크, 웹 사이트, 모바일 애플리케이션, 백업 및 복원, 아카이브, 엔터프라이즈 애플리케이션, IoT 디바이스, 빅 데이터 분석 등 다양한 사용 사례에서 원하는 양의 데이터를 저장하고 보호할 수 있습니다. Amazon S3는 특정 비즈니스, 조직 및 규정 준수 요구 사항에 맞게 데이터에 대한 액세스를 최적화, 구조화 및 구성할 수 있는 관리 기능을 제공합니다.

이 안내서에서는 Amazon S3 REST API를 사용하여 클라우드에 데이터를 저장 및 검색하는 애플리케이션을 구축하는 방법에 대한 개발자 중심 정보를 제공합니다.

HTTP를 지원하는 임의의 도구 키트를 사용하여 REST API를 사용할 수 있습니다. 심지어 브라우저를 사용하여 객체를 가져올 수도 있습니다. 단, 객체를 익명으로 읽을 수 있어야 합니다.

REST API는 표준 HTTP 헤더 및 상태 코드를 사용하므로 표준 브라우저 및 도구 키트가 예상대로 작동합니다. Amazon은 일부 영역에서 HTTP에 기능을 추가했습니다. 예를 들어, 액세스 제어를 지원하기 위해 헤더를 추가했습니다. 이 경우 새로운 기능은 최대한 표준 HTTP 사용법과 일치하는 방식으로 추가되었습니다.

참고

HTTP를 통한 SOAP 지원은 중단되었지만 HTTPS를 통해 계속해서 사용할 수 있습니다. 하지만 새로운 Amazon S3 기능은 SOAP에 대해 지원되지 않습니다. 다음 링크에서 REST API 또는 AWS SDK를 사용하는 것이 좋습니다.

https://aws.amazon.com/developer/tools/

이 개발자 안내서에는 다음이 포함되어 있습니다.

중요

특정 API 주제로 이동하기 전에 인증 및 액세스 제어에 관한 다음 내용을 읽어보세요.

Amazon S3에 대한 요청은 인증되거나 익명일 수 있습니다. 인증된 액세스에는 AWS가 요청을 인증하는 데 사용할 수 있는 자격 증명이 필요합니다.

API 직접 호출 권장 사항

코드에서 바로 REST API를 직접적으로 호출하는 것은 번거로울 수 있습니다. 요청을 인증하려면 유효한 서명을 계산하는 데 필요한 코드를 작성해야 합니다. 대신 다음과 같은 대안을 사용하는 것이 좋습니다.

  • AWS SDK를 사용하여 요청을 전송합니다.

    또한 샘플 코드 및 라이브러리를 참조하세요.

    SDK를 사용하는 경우 SDK 클라이언트에서 사용자가 제공한 액세스 키를 사용하여 요청을 인증하기 때문에 요청 인증을 위한 서명을 계산하는 코드를 작성할 필요가 없습니다. 특별한 이유가 없다면 항상 AWS SDK를 사용해야 합니다.

  • AWS CLI를 사용하여 Amazon S3 API 직접 호출을 실행합니다. AWS CLI 및 예제 Amazon S3 명령을 설정하는 방법에 대한 자세한 내용은 다음 주제를 참조하세요.

    Amazon Simple Storage Service 사용 설명서AWS CLI 설정.

    AWS Command Line Interface 사용 설명서AWS 명령줄 인터페이스에서 Amazon S3 사용.

직접 REST API 직접 호출 실행

참고

PUT 요청 헤더는 크기가 8KB 이하여야 합니다. PUT 요청 헤더에 포함되는 시스템 정의 메타데이터의 크기는 2KB 이하여야 합니다. 시스템 정의 메타데이터의 크기는 US-ASCII로 인코딩된 각 키와 값의 바이트 수를 더하여 측정됩니다.

위의 대안 중 하나를 사용하는 대신 직접 REST API 직접 호출을 실행하려고 한다면 몇 가지 유의할 사항이 있습니다.

  • 코드에서 직접 REST API 직접 호출을 실행하려면 유효한 자격 증명을 사용하여 서명을 생성하고 요청에 서명을 포함합니다. 다양한 인증 방법 및 서명 계산에 대한 자세한 내용은 요청 인증(AWS 서명 버전 4) 섹션을 참조하세요.

  • REST API는 표준 HTTP 헤더 및 상태 코드를 사용하므로 표준 브라우저 및 도구 키트가 예상대로 작동합니다. Amazon은 일부 영역에서 HTTP에 기능을 추가했습니다. 예를 들어, 액세스 제어를 지원하기 위해 헤더를 추가했습니다. 이 경우 새로운 기능은 최대한 표준 HTTP 사용법과 일치하는 방식으로 추가되었습니다. 요청 생성에 대한 자세한 내용은 요청 만들기 섹션을 참조하세요.

권한

요청을 인증하는 데 유효한 자격 증명이 있더라도 계정 소유자 또는 버킷 소유자로부터 S3 권한을 얻지 못하면 Amazon S3 리소스를 생성하거나 액세스할 수 없습니다. 이러한 권한은 일반적으로 버킷 정책과 같은 AWS Identity and Access Management(IAM) 정책을 통해 부여됩니다. 예를 들어 S3 버킷을 생성하거나 버킷의 객체를 가져올 수 있는 권한이 있어야 합니다. S3 권한의 전체 목록은 Amazon S3에 사용되는 작업, 리소스 및 조건 키를 참조하세요.

S3 리소스 유형별 S3 API 작업 권한에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서Amazon S3 API 작업에 필요한 권한을 참조하세요.

AWS 계정의 루트 사용자 자격 증명을 사용하는 경우 모든 권한이 확보됩니다. 그러나 루트 사용자 자격 증명은 사용하지 않는 것이 좋습니다. 대신 계정에 AWS Identity and Access Management(IAM) 역할을 생성하고 사용자 권한을 관리하는 것이 좋습니다. 자세한 내용은 Amazon Simple Storage Service 사용 설명서액세스 관리를 참조하세요.