Amazon S3 버킷에 액세스 및 나열 - Amazon Simple Storage Service

Amazon S3 버킷에 액세스 및 나열

Amazon S3 버킷을 나열하고 액세스하려는 경우 다양한 도구를 사용할 수 있습니다. 다음 도구를 검토하여 사용 사례에 맞는 접근 방식을 결정하십시오.

  • Amazon S3 콘솔: Amazon S3 콘솔을 사용하면 쉽게 버킷에 액세스하고 버킷의 속성을 수정할 수 있습니다. 코드를 작성하지 않고 콘솔 UI를 사용하여 대부분의 버킷 작업을 수행할 수 있습니다.

  • AWS CLI: 여러 버킷에 액세스해야 하는 경우 AWS Command Line Interface(AWS CLI)를 사용하여 일반적이고 반복적인 작업을 자동화하여 시간을 절약할 수 있습니다. 조직이 확장됨에 따라 일반적인 작업에 대한 스크립팅 가능성과 반복성을 자주 고려합니다. 자세한 내용은 AWS CLI를 사용하여 Amazon S3에서 개발 단원을 참조하십시오.

  • Amazon S3 REST API: Amazon S3 REST API를 사용하여 프로그래밍 방식으로 자체 프로그램을 작성하고 버킷에 액세스할 수 있습니다. Amazon S3는 API 아키텍처를 지원하며 이 아키텍처에서 버킷과 객체는 리소스이고 각각 고유한 리소스 URI를 갖습니다. 자세한 내용은 REST API를 사용하여 Amazon S3로 개발 단원을 참조하십시오.

Amazon S3 버킷의 사용 사례에 따라 버킷의 기본 데이터에 액세스하는 데 권장되는 다양한 방법이 있습니다. 다음 목록에는 데이터 액세스를 위한 일반적인 사용 사례가 포함되어 있습니다.

  • 정적 웹 사이트 – Amazon S3를 사용하여 정적 웹 사이트를 호스팅할 수 있습니다. 이 사용 사례에서는 웹 사이트처럼 작동하도록 S3 버킷을 구성할 수 있습니다. Amazon S3에서의 웹 사이트 호스팅 절차를 단계별로 안내하는 예제는 자습서: Amazon S3에서 정적 웹 사이트 구성을 참조하십시오.

    퍼블릭 액세스 차단과 같은 보안 설정이 활성화된 정적 웹 사이트를 호스팅하려면 원본 액세스 제어(OAC)와 함께 Amazon CloudFront를 사용하고 HTTPS와 같은 추가 보안 헤더를 구현하는 것이 좋습니다. 자세한 내용은 안전한 정적 웹 사이트 시작하기를 참조하십시오.

    참고

    Amazon S3는 정적 웹 사이트 액세스에 대해 가상 호스팅 방식 URL경로 방식 URL을 모두 지원합니다. 버킷은 경로 방식과 가상 호스팅 방식의 URL을 사용하여 액세스할 수 있기 때문에 DNS를 준수하는 버킷 이름으로 버킷을 만드는 것이 좋습니다. 자세한 내용은 버킷 규제 및 제한 단원을 참조하십시오.

  • 공유 데이터 세트 - Amazon S3를 기반으로 확장할 때 공유 버킷 내의 고유한 접두사에 다양한 최종 고객 또는 사업부를 할당하는 멀티 테넌트 모델을 채택하는 것이 일반적입니다. Amazon S3 액세스 포인트를 사용하면 공유 데이터 세트에 액세스해야 하는 각 애플리케이션에 대해 하나의 대형 버킷 정책을 별도의 개별 액세스 포인트 정책으로 나눌 수 있습니다. 이 접근 방식을 사용하면 공유 데이터 세트 내에서 다른 애플리케이션이 수행하는 작업을 방해하지 않으면서 애플리케이션에 적합한 액세스 정책을 구축하는 데 더 쉽게 집중할 수 있습니다. 자세한 내용은 Amazon S3 액세스 포인트를 사용한 데이터 액세스 관리 단원을 참조하십시오.

  • 높은 처리량 워크로드 – Mountpoint for Amazon S3는 Amazon S3 버킷을 로컬 파일 시스템으로 마운트하는 데 사용되는 높은 처리량 성능의 오픈 소스 파일 클라이언트입니다. Mountpoint를 사용하면 애플리케이션에서 열기 및 읽기와 같은 파일 시스템 작업을 통해 Amazon S3에 저장된 객체에 액세스할 수 있습니다. Mountpoint는 이러한 작업을 S3 객체 API 호출로 자동 변환하여 애플리케이션이 파일 인터페이스를 통해 Amazon S3의 탄력적 스토리지 및 처리량을 이용할 수 있도록 합니다. 자세한 내용은 Mountpoint for Amazon S3 작업 단원을 참조하십시오.

  • 다중 리전 애플리케이션 – Amazon S3 다중 리전 액세스 포인트는 애플리케이션이 여러 AWS 리전에 있는 S3 버킷의 요청을 이행하는 데 사용할 수 있는 글로벌 엔드포인트를 제공합니다. 다중 리전 액세스 포인트를 사용하여 단일 리전에서 사용되는 것과 동일한 아키텍처로 다중 리전 애플리케이션을 구축하면 전 세계 어디에서나 해당 애플리케이션을 실행할 수 있습니다. 다중 리전 액세스 포인트는 퍼블릭 인터넷을 통해 요청을 보내는 대신 Amazon S3에 대한 인터넷 기반 요청의 가속화를 통해 기본 제공 네트워크 복원력을 제공합니다. 자세한 내용은 Amazon S3의 다중 리전 액세스 포인트 단원을 참조하십시오.

  • 새 애플리케이션 빌드 – Amazon S3로 애플리케이션을 개발할 때 AWS SDK를 사용할 수 있습니다. AWS SDK에서는 기본 Amazon S3 REST API를 래핑하여 프로그래밍 태스크를 단순화합니다. 커넥티드 모바일 애플리케이션과 웹 애플리케이션을 빌드하려면 AWS 모바일 SDK와 AWS Amplify JavaScript 라이브러리를 사용할 수 있습니다. 자세한 내용은 AWS SDK 및 Explorer를 사용하여 Amazon S3로 개발 단원을 참조하십시오.

  • Secure Shell(SSH) File Transfer 프로토콜(SFTP) - 인터넷을 통해 민감한 데이터를 안전하게 전송하려는 경우 Amazon S3 버킷과 함께 SFTP 지원 서버를 사용할 수 있습니다. AWS SFTP는 SSH의 전체 보안 및 인증 기능을 지원하는 네트워크 프로토콜입니다. 이 프로토콜을 사용하면 사용자 ID, 권한 및 키를 세밀하게 제어하거나 IAM 정책을 사용하여 액세스를 관리할 수 있습니다. SFTP 지원 서버를 Amazon S3 버킷과 연결하려면 먼저 SFTP 지원 서버를 만들어야 합니다. 그런 다음 사용자 계정을 설정하고 서버를 Amazon S3 버킷과 연결합니다. 이 프로세스에 대한 자세한 내용은 AWS 블로그에서 AWS Transfer for SFTP - Amazon S3용 완전 관리형 SFTP 서비스를 참조하십시오.

버킷 나열

모든 버킷을 나열하려면 s3:ListAllMyBuckets 권한이 있어야 합니다. 버킷에 액세스하려면 지정된 버킷의 콘텐츠를 나열하는 데 필요한 AWS Identity and Access Management(IAM) 권한도 획득해야 합니다. S3 버킷에 대한 액세스 권한을 부여하는 버킷 정책의 예제는 버킷 중 하나에 대한 IAM 사용자 액세스 허용을 참조하십시오. HTTP 액세스 거부됨(403 금지됨) 오류가 발생하는 경우 버킷 정책 및 IAM 정책을 참조하십시오.

Amazon S3 콘솔, AWS CLI 또는 AWS SDK를 사용하여 버킷을 나열할 수 있습니다.

  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 버킷(Buckets)을 선택합니다.

  3. 버킷 목록에서 검토하려는 버킷을 선택합니다.

AWS CLI를 사용하여 S3 버킷에 액세스하거나 S3 버킷 목록을 생성하려면 ls 명령을 사용합니다. 버킷의 모든 객체를 나열할 때는 s3:ListBucket 권한이 있어야 한다는 점에 유의하십시오.

이 예제 병령을 사용하려면 DOC-EXAMPLE-BUCKET1을 버킷의 이름으로 바꿉니다.

$ aws s3 ls s3://DOC-EXAMPLE-BUCKET1

다음 예제 명령은 계정의 모든 Amazon S3 버킷을 나열합니다.

$ aws s3 ls

자세한 내용 및 예제는 버킷 및 객체 목록을 참조하십시오.

ListBuckets API 작업을 사용하여 Amazon S3 버킷에 액세스할 수도 있습니다. 다양한 AWS SDK와 함께 이 작업을 사용하는 방법에 대한 예제는 AWS SDK를 사용하여 Amazon S3 버킷 나열을 참조하십시오.