Amazon Web Services 한국 블로그

Amazon S3 Access Point – 손쉽게 공유 데이터 세트를 관리하기 위한 엔드 포인트 출시 (서울 리전 포함)

클라우드 컴퓨팅의 기본적인 구성 요소 중 하나는 안전하고 확장 가능하며 탁월한 내구성과 고가용성을 보장하는 스토리지입니다. 2006년에 AWS가 최초로 출시한 서비스가 Amazon Simple Storage Service(S3)는 현재 많은 AWS 서비스의 기반 구성 요소로 사용되었습니다. 지난 10년간 S3Amazon Redshift, Amazon Athena, Amazon EMRAWS Lake Formation 같은 기능에서 객체를 저장하고 이러한 데이터를 통찰력으로 변환하는 엔진으로 활용되었습니다. 이는 S3 버킷에 저장된 데이터의 액세스 패턴과 요구 사항이 달라졌다는 것을 의미합니다.

Amazon S3 Access Points기능은 S3의 공유 데이터 세트에 대한 데이터 액세스를 대규모로 관리할 수 있는 새로운 방법을 제공합니다. 이전에는 각 버킷의 단일 정책 문서로 공유 데이터 액세스를 관리했습니다. 이러한 정책에는 다수의 서로 다른 권한을 가진 수백 개 애플리케이션이 포함될 수 있기 때문에 감사 및 업데이트 시 많은 시스템에 부정적인 영향을 미칠 수 있습니다.

S3 액세스 지점을 사용하면 추가 애플리케이션 또는 개발팀을 추가할 때 액세스 지점도 추가하여 정책에 관련 정보를 유지하고 쉽게 관리할 수 있습니다. 버킷 하나에는 다수의 액세스 지점이 포함될 수 있으며 각 액세스 지점에는 고유한 AWS Identity and Access Management(IAM) 정책이 포함됩니다. 액세스 지점 정책은 버킷 정책과 유사하지만 액세스 지점과 관련됩니다. S3 액세스 지점을 제한하여 Amazon Virtual Private Cloud 내의 액세스만 허용할 수도 있습니다. 각 액세스 지점에는 고유한 DNS 이름이 있으므로 AWS 계정 및 리전에서 고유한 모든 이름을 사용하여 버킷의 주소를 지정할 수 있습니다.

Amazon S3 액세스 지점 생성

Amazon S3 콘솔을 사용하여 버킷에 액세스 지점을 추가하겠습니다. AWS CLI(명령줄 인터페이스), AWS SDK 또는 API를 사용하여 S3 액세스 지점을 생성하고 관리할 수도 있습니다. AWS Lambda 함수로 생성된 아티팩트가 포함된 버킷을 선택하고 [access points] 탭을 클릭합니다.

S3 콘솔의 Access points 탭

새 액세스 지점을 생성합니다. IAM 사용자인 Alice에게 Alice 접두사를 사용하여 GETPUT 객체에 대한 권한을 제공합니다. 이 액세스 지점의 이름을 alices-access-point로 지정합니다. Virtual Private Cloud로 액세스를 제한하는 옵션을 사용하려면 Virtual Private Cloud ID만 있으면 됩니다. 여기서는 VPC 외부 액세스도 허용할 것이므로 [Internet]을 선택하고 다음 단계로 이동합니다.

액세스 지점 생성

S3 액세스 지점을 사용하면 퍼블릭 액세스를 간단하게 차단할 수 있습니다. 이 액세스 지점에 대한 모든 퍼블릭 액세스를 차단하겠습니다.

퍼블릭 액세스 설정

이제, 정책을 연결할 수 있습니다. 이 정책에서 주체는 사용자 Alice이고 리소스는 /Alice라는 접두사를 사용하여 모든 객체에 결합된 액세스 지점입니다. S3 액세스 지점에 연결할 수 있는 정책 종류에 대한 예제를 보려면 설명서를 참조하십시오.

액세스 지점 정책 생성

액세스 지점을 생성한 후에는 https://[access_point_name]-[accountID].s3-accesspoint.[region].amazonaws.com 형식의 호스트 이름을 사용하여 액세스할 수 있습니다. 최신 버전을 업데이트한 후에는 SDKCLI에서 버킷을 사용할 때와 같은 방법으로 액세스 지점을 사용할 수 있습니다. 예를 들어 Alice는 인증 후에 다음을 수행할 수 있습니다.

$ aws s3api get-object --key /Alice/object.zip --bucket arn:aws:s3:us-east-1:[my-account-id]:alices-access-point download.zip

VPC로 제한되지 않은 액세스 지점은 S3 콘솔을 통해서도 사용될 수 있습니다.

주요 사항

  • S3 액세스 지점은 모든 AWS 리전에서 무료로 제공됩니다.
  • 기본적으로 각 계정에서 리전당 1,000개의 액세스 지점을 생성할 수 있습니다.
  • S3 액세스 지점을 AWS CloudFormation과 함께 사용할 수 있습니다.
  • AWS Organizations를 사용하는 경우 SCP(서비스 제어 정책)를 추가하여 모든 액세스 지점을 VPC로 제한할 수 있습니다.

소프트웨어 설계 측면에서는 범위를 작게 유지하고 특정 작업에 집중하는 것이 항상 좋은 결정입니다. S3 액세스 지점을 사용하면 공유 데이터 세트에 액세스해야 하는 사용자 또는 애플리케이션의 호스트 이름과 사용 권한을 사용자 지정할 수 있습니다.

— Brandon