다음 단계 - Amazon Simple Storage Service

다음 단계

이전 예제에서는 몇 가지 기본 Amazon S3 작업을 수행하는 방법을 알아보았습니다.

다음 주제에서는 사용자가 직접 애플리케이션에서 구현할 수 있도록 Amazon S3을 보다 심도 있게 이해할 수 있는 학습 경로를 설명합니다.

참고

Amazon S3 Express One Zone 스토리지 클래스를 디렉터리 버킷과 함께 사용하는 방법에 대한 자세한 내용은 S3 Express One Zone이란?디렉터리 버킷 섹션을 참조하세요.

일반적인 사용 사례 이해

Amazon S3을 사용하여 특정 사용 사례를 지원할 수 있습니다. 이 AWS 솔루션 라이브러리AWS 블로그 에서는 정보 및 자습서별 사용 사례를 제공합니다. 다음은 Amazon S3의 몇 가지 일반적인 사용 사례입니다.

  • 백업 및 스토리지 – Amazon S3 스토리지 관리 기능을 사용하여 비용 관리, 규정 요구 사항 충족, 지연 시간 단축, 규정 준수 요구 사항에 맞게 여러 개의 개별 데이터 복제본 저장을 수행합니다.

  • 애플리케이션 호스팅 - 안정성과 확장성이 뛰어나며 저렴한 비용으로 웹 애플리케이션을 배포, 설치, 관리할 수 있습니다. 예를 들어 정적 웹 사이트를 호스팅하도록 Amazon S3 버킷을 구성할 수 있습니다. 자세한 내용은 Amazon S3를 사용하여 정적 웹 사이트 호스팅 섹션을 참조하세요.

  • 미디어 호스팅 - 동영상, 사진 또는 음악 업로드 및 다운로드를 호스팅하는 가용성이 높은 인프라를 구축합니다.

  • 소프트웨어 제공 - 고객이 다운로드할 수 있는 소프트웨어 애플리케이션을 호스팅합니다.

버킷 및 객체에 대한 액세스 제어

Amazon S3은 다양한 보안 기능 및 도구를 제공합니다. 개요는 액세스 제어 모범 사례를 참조하세요.

기본적으로 S3 버킷 및 객체는 프라이빗입니다. 생성한 S3 리소스에만 액세스할 수 있습니다. 다음 기능을 사용하여 특정 사용 사례를 지원하는 세분화된 리소스 권한을 부여하거나 Amazon S3 리소스의 권한을 감사할 수 있습니다.

  • S3 퍼블릭 액세스 차단 - S3 버킷과 객체에 대한 퍼블릭 액세스를 차단합니다. 기본적으로 퍼블릭 액세스 차단 설정은 버킷 수준에서 켜져 있습니다.

  • AWS Identity and Access Management(IAM) 자격 증명 – IAM 또는 AWS IAM Identity Center를 사용하여 AWS 계정에서 IAM 자격 증명을 생성하여 Amazon S3 리소스에 대한 액세스를 관리합니다. 예를 들어 IAM을 Amazon S3와 함께 사용하여 AWS 계정이 소유한 Amazon S3 버킷에 대해 사용자 또는 사용자 그룹이 보유한 액세스 유형을 제어할 수 있습니다. IAM 자격 증명 및 모범 사례에 대한 자세한 내용은 IAM 사용 설명서의 IAM 자격 증명(사용자, 사용자 그룹 및 역할)을 참조하세요.

  • 버킷 정책 - IAM 기반 정책 언어를 사용하여 S3 버킷과 그 안에 있는 객체에 대한 리소스 기반 권한을 구성합니다.

  • 액세스 제어 목록(ACL) - 인증된 사용자에게 개별 버킷 및 객체에 대한 읽기 및 쓰기 권한을 부여합니다. 일반적으로 ACL 대신 액세스 제어를 위해 S3 리소스 기반 정책(버킷 정책 및 액세스 포인트 정책) 또는 IAM 사용자 정책을 사용하는 것이 좋습니다. 정책은 단순하고 더 유연한 액세스 제어 옵션입니다. 버킷 정책과 액세스 포인트 정책을 사용하면 Amazon S3 리소스에 대한 모든 요청에 광범위하게 적용되는 규칙을 정의할 수 있습니다. 리소스 기반 정책 또는 IAM 사용자 정책 대신 ACL을 사용하는 특정 사례에 대한 자세한 내용은 액세스 정책 지침 섹션을 참조하세요.

  • S3 객체 소유권 - 버킷의 모든 객체에 대한 소유권을 가져와서 Amazon S3에 저장된 데이터에 대한 액세스 관리를 간소화합니다. S3 객체 소유권은 ACL을 비활성화 또는 활성화하는 데 사용할 수 있는 Amazon S3 버킷 수준 설정입니다. 기본적으로 ACL은 비활성화되어 있습니다. ACL이 비활성화되면 버킷 소유자는 버킷의 모든 객체를 소유하고 액세스 관리 정책을 사용하여 데이터에 대한 액세스를 독점적으로 관리합니다.

  • IAM Access Analyzer for S3 - S3 버킷 액세스 정책을 평가 및 모니터링하여 정책이 S3 리소스에 대한 의도된 액세스만 제공하는지 확인합니다.

스토리지 관리 및 모니터링

  • 스토리지 관리 - Amazon S3에서 버킷을 생성하고 객체를 업로드한 후에는 객체 스토리지를 관리할 수 있습니다. 예를 들어 재해 복구를 위해 S3 버전 관리 및 S3 복제를 사용하고, S3 수명 주기를 사용하여 스토리지 비용을 관리하며, S3 객체 잠금을 사용하여 규정 준수 요구 사항을 충족할 수 있습니다.

  • 스토리지 모니터링 - 모니터링은 Amazon S3와 AWS 솔루션의 안정성, 가용성 및 성능을 유지하는 데 중요한 부분입니다. 스토리지 작업 및 비용을 모니터링할 수 있습니다. 또한 발생하는 다중 지점 실패를 보다 쉽게 디버깅할 수 있도록 AWS 솔루션의 모든 부분으로부터 모니터링 데이터를 수집하는 것이 좋습니다.

  • 분석 및 인사이트 - Amazon S3의 분석 및 인사이트를 사용하여 스토리지 사용량을 이해하고, 분석하며, 최적화할 수 있습니다. 예를 들어, Amazon S3 Storage Lens를 사용하여 스토리지를 이해하고, 분석하며, 최적화할 수 있습니다. S3 Storage Lens는 29개 이상의 사용량 및 활동 지표와 대화형 대시보드를 제공하여 전체 조직, 특정 계정, 리전, 버킷 또는 접두사에 대한 데이터를 집계합니다. 스토리지 클래스 분석을 사용하여 스토리지 액세스 패턴을 분석함으로써 데이터를 보다 비용 효율적인 스토리지 클래스로 이전할 시기를 결정할 수 있습니다.

Amazon S3를 사용한 개발

Amazon S3은 REST 서비스입니다. REST API 또는 프로그래밍 태스크를 간소화하기 위해 기본 Amazon S3 REST API를 래핑하는 AWS SDK 라이브러리를 사용하여 Amazon S3에 요청을 전송할 수 있습니다. AWS Command Line Interface(AWS CLI)를 사용하여 Amazon S3 API를 호출할 수도 있습니다. 자세한 정보는 요청 만들기을 참조하세요.

Amazon S3 REST API는 Amazon S3에 대한 HTTP 인터페이스입니다. REST API의 경우, 표준 HTTP 요청을 사용하여 버킷과 객체를 생성하고, 가져오며, 삭제합니다. HTTP를 지원하는 임의의 도구 키트를 사용하여 REST API를 사용할 수 있습니다. 심지어 브라우저를 사용하여 객체를 가져올 수도 있습니다. 단, 객체를 익명으로 읽을 수 있어야 합니다. 자세한 정보는 REST API를 사용하여 Amazon S3로 개발을 참조하세요.

선택한 언어를 사용하여 애플리케이션을 구축할 수 있도록 다음 리소스를 제공합니다.

AWS CLI

AWS CLI를 사용하여 Amazon S3의 기능에 액세스할 수 있습니다. AWS CLI를 다운로드하여 구성하려면 AWS CLI를 사용하여 Amazon S3에서 개발 섹션을 참조하세요.

AWS CLI는 Amazon S3에 액세스하기 위해 상위 수준(s3) 명령과 API 수준(s3apis3control) 명령의 두 가지 명령 계층을 제공합니다. 상위 수준 S3 명령은 객체 및 버킷 생성, 조작 및 삭제와 같이 일반적인 작업 수행을 간소화합니다. s3api 및 s3control 명령은 모든 Amazon S3 API 작업에 대한 직접 액세스를 노출하며, 이를 사용하여 상위 수준 명령만으로는 가능하지 않을 수 있는 고급 작업을 수행할 수 있습니다.

Amazon S3 AWS CLI 명령 목록에 대해서는 s3, s3apis3control을 참조하세요.

AWS SDK 및 Explorer

Amazon S3로 애플리케이션을 개발할 때 AWS SDK를 사용할 수 있습니다. AWS SDK에서는 기본 REST API를 래핑하여 프로그래밍 태스크를 단순화합니다. 또한, AWS를 사용하여 커넥티드 모바일 애플리케이션과 웹 애플리케이션을 구축하는 데에 AWS Mobile SDK와 Amplify JavaScript 라이브러리를 사용할 수 있습니다.

AWS SDK 외에도, Visual Studio 및 Eclipse for Java IDE에서 AWS Explorer를 사용할 수 있습니다. 이 경우 SDK 및 Explorer가 AWS 도구 키트로 함께 번들됩니다.

자세한 정보는 AWS SDK 및 Explorer를 사용하여 Amazon S3로 개발을 참조하세요.

샘플 코드 및 라이브러리

AWS 개발자 센터AWS 코드 샘플 카탈로그에는 Amazon S3용으로 특별히 작성된 샘플 코드와 라이브러리가 있습니다. 이 샘플 코드를 사용하여 Amazon S3 API를 구현하는 방법을 이해할 수 있습니다. 또한 Amazon Simple Storage Service API Reference를 검토하여 Amazon S3 API 작업에 대해 자세히 이해할 수 있습니다.

자습서로 배우기

단계별 자습서를 통해 Amazon S3에 대해 자세히 알아볼 수 있습니다. 이러한 자습서는 가상 회사 이름 및 사용자 이름 등을 사용하여 랩 유형의 환경에 맞게 고안되었습니다. 그 목적은 일반적인 지침을 제공하는 것입니다. 조직의 고유한 요구 사항에 맞는지 주의 깊은 검토 및 조정 없이 프로덕션 환경에 바로 사용할 수 있도록 고안된 것이 아닙니다.

시작하기

스토리지 비용 최적화

스토리지 관리

비디오 및 웹 사이트 호스팅

데이터 처리

데이터 보호

교육 및 지원 살펴보기

AWS 전문가의 도움을 받아 기술을 발전시키고 목표를 달성하는 데 도움을 받을 수 있습니다.

  • 교육 - 교육 리소스는 Amazon S3 학습에 대한 실무적인 접근법을 제공합니다. 자세한 내용은 AWS 교육 및 자격증AWS 온라인 기술을 참조하세요.

  • 토론 포럼 - 포럼에서 게시물을 검토하여 Amazon S3에서 수행 가능한 작업과 그렇지 않은 작업에 대해 이해할 수 있습니다. 질문을 게시할 수도 있습니다. 자세한 내용은 토론 포럼을 참조하세요.

  • 기술 지원 - 추가 질문이 있는 경우 기술 지원에 연락할 수 있습니다.