[AWS Cloud 이론] Storage (2) S3

이지IT
|2023. 5. 25. 18:25
반응형
 

S3(Simple Storage Service)

Amazon Simple Storage Service(S3)는 Amazon Web Services(AWS)에서 제공하는 확장 가능한 객체 스토리지 서비스입니다. 개발자와 기업에게 웹에서 언제 어디서나 원하는 양의 데이터를 저장하고 검색할 수 있는 안전하고 내구성이 뛰어나며 가용성이 높은 스토리지 인프라를 제공합니다.

주요 기능

 

  1. 확장성
    S3는 몇 기가바이트에서 수 테라바이트 또는 페타바이트의 데이터에 이르기까지 모든 규모의 데이터 스토리지 요구 사항을 처리하도록 설계되었습니다.

  2. 내구성 및 가용성
    S3는 여러 데이터 센터에 데이터의 여러 복사본을 자동으로 저장하여 높은 내구성을 제공합니다. 또한 고가용성을 제공하여 항상 데이터에 액세스하고 검색할 수 있도록 보장합니다.

  3. 보안
    S3는 데이터를 보호하기 위한 다양한 보안 기능을 제공합니다. 서버 측 암호화를 제공하여 미사용 데이터를 암호화합니다. 또한, AWS ID 및 액세스 관리(IAM) 정책과 버킷 정책을 사용하여 S3 버킷 및 오브젝트에 대한 액세스를 관리할 수 있습니다.

  4. 수명 주기 관리
    S3에서는 수명 주기 정책을 정의하여 미리 정의된 규칙에 따라 데이터를 서로 다른 스토리지 클래스 간에 자동으로 전환할 수 있습니다(예: 스탠다드에서 글래시어로의 전환). 이를 통해 스토리지 비용과 성능을 최적화할 수 있습니다.

  5. 버전 관리
    S3는 버전 관리를 지원하므로 한 개체의 여러 버전을 동일한 버킷에 보관할 수 있습니다. 이는 변경 사항을 추적하고, 실수로 삭제된 파일을 복구하거나, 기록 데이터를 유지하는 데 유용할 수 있습니다.

  6. 데이터 전송
    S3는 대용량 오브젝트를 위한 멀티파트 업로드, 빠른 업로드 및 다운로드를 위한 전송 가속화, AWS Transfer Family 및 AWS DataSync와 같은 다른 AWS 서비스와의 직접 통합 등 효율적인 데이터 전송을 위한 옵션을 제공합니다.

  7. 데이터 관리
    S3는 메타데이터 태그, 오브젝트 수준 로깅, 이벤트 알림, 감사 및 규정 준수를 위한 AWS CloudTrail과의 통합 등 데이터를 구성하고 관리할 수 있는 기능을 제공합니다.

  8. AWS 서비스와의 통합
    S3는 다른 AWS 서비스와 원활하게 통합되므로 확장 가능하고 분산된 애플리케이션을 쉽게 구축할 수 있습니다. 예를 들어, S3를 AWS 분석 서비스의 데이터 소스로 사용하거나, 정적 웹사이트를 호스팅하거나, 서버리스 컴퓨팅을 위해 AWS Lambda와 통합할 수 있습니다.

  9. 비용 효율적
    S3는 저장된 데이터의 양, 데이터 전송, 사용된 옵션 기능에 따라 비용 효율적인 가격 모델을 제공합니다. 데이터 액세스 패턴과 요구 사항에 따라 비용을 최적화할 수 있도록 다양한 스토리지 클래스(스탠다드, 인텔리전트-티어링, 글래시어 등)를 제공합니다.

전반적으로 AWS S3는 기업과 개발자에게 데이터에 대한 유연한 스토리지 옵션과 강력한 관리 및 통합 기능을 제공하는 매우 안정적이고 확장 가능하며 안전한 오브젝트 스토리지 서비스입니다.

 

목차로 이동

 

액세스 포인트

Amazon S3 액세스 포인트는 데이터에 대한 액세스를 보호하고 확장할 수 있는 간단한 방법을 제공합니다. 액세스 포인트는 IAM 역할을 생성하거나 S3의 기본 인프라를 직접 사용하지 않고도 S3 버킷에 저장된 개체에 대한 공개 또는 비공개 액세스를 활성화하려는 경우에 유용합니다.

S3 액세스 포인트는 기본적으로 하나 이상의 물리적 S3 버킷을 가리키는 가상 위치입니다. 이를 통해 사용자는 일반적으로 S3에서 사용하는 것과 동일한 API 및 사용자 인터페이스 도구를 사용하여 파일 업로드, 다운로드, 삭제 및 쿼리와 같은 작업을 수행할 수 있습니다. 액세스 포인트는 클라이언트와 실제 버킷 스토리지 사이에서 프록시 역할을 하므로 클라이언트는 S3 버킷 자체와 직접 상호 작용하지 않습니다. 이러한 추상화는 버킷 내의 각 특정 개체 또는 디렉터리와 관련된 정책을 통해 명시적으로 허용된 항목으로만 액세스를 제한함으로써 추가적인 보안 이점을 제공합니다.

S3 액세스 포인트를 만들 때 공개 또는 비공개 중 하나를 선택할 수 있습니다. 공개 액세스 포인트는 기본 버킷의 모든 개체를 노출하여 누구나 인터넷 어디에서나 읽거나 쓸 수 있는 반면, 비공개 액세스 포인트는 모든 작업을 허용하기 전에 인증이 필요합니다. 또한 버킷 내부의 개별 키/개체 또는 디렉터리를 설정한 경우 디렉터리를 기반으로 세분화된 액세스 제어를 구성할 수도 있습니다.

또한 버전 관리, 수명 주기 규칙, 지역 간 복제, 서버 측 암호화, 기타 고급 기능을 지원하며, 일반 S3 버킷과 마찬가지로 S3 액세스 포인트를 통해 액세스하는 개체에 대해서도 사용할 수 있습니다. 그러나 일부 기능은 액세스 포인트에 의해 도입된 추가 계층으로 인해 클라이언트 작동 방식을 변경해야 할 수 있습니다.

요약하면, AWS S3 액세스 포인트는 외부 사용자에게 S3 콘텐츠에 대한 제어된 액세스 권한을 부여할 수 있는 편리한 방법을 제공하여 적절한 보안 관행을 준수하면서 협업 또는 공유 기능을 강화할 수 있게 해줍니다.

 

종류와 특징

 

  1. S3 액세스 포인트
    개별 개체, 폴더 또는 전체 S3 버킷 콘텐츠를 특정 사용자 또는 팀과 안전하게 공유할 수 있는 방법을 제공합니다. 액세스 제어 설정은 권한이 있는 사람만 액세스할 수 있도록 제한하여 규제 의무를 준수하고 민감한 정보가 우발적으로 노출되는 것을 방지합니다. S3 액세스 포인트를 사용하여 사용자가 수행할 수 있는 작업을 지정하거나, 시간 제한을 설정하거나, 마음대로 액세스를 취소하는 등 세분화된 제어를 구성할 수 있습니다. 또한 미리 정의된 액세스 정책을 적용하거나 필요에 맞는 사용자 지정 정책을 만들 수 있습니다.

  2. 객체 람다 액세스 포인트
    람다 함수를 지정된 오브젝트 접두사 경로에 연결하여 서버리스 컴퓨팅 기능을 S3 리소스에 직접 통합할 수 있습니다. 이러한 폴더에 새 콘텐츠가 들어올 때마다 해당 람다 실행이 자동으로 수행되어 파일 형식 변환, 이미지 크기 조정, 메타데이터 추출 또는 머신 러닝 모델 학습과 같은 작업을 수행합니다. 명시적인 API 호출 없이 모든 작업이 백그라운드에서 이루어지므로 기존 워크플로를 수정하거나 추가 개발 프로세스를 도입할 필요가 없습니다. 그 결과 애플리케이션 동작을 업데이트할 때 반복 작업이 빨라지고 DevOps의 노력이 줄어듭니다.

  3. 다중 지역 액세스 포인트
    이를 활용하여 여러 지역에 흩어져 있는 분산된 S3 리소스를 통합하여 서로 다른 지역 간에 빠르고 안정적인 데이터 전송을 보장합니다. 이 기능은 액세스 제어 및 버전 관리 의미를 유지하면서 지역 간 협업을 간소화합니다. 별도의 R&D, 스테이징, 프로덕션 또는 분석 환경 간에 효율적인 데이터 공유를 지원하는 동시에 대역폭 사용량을 최소화하고 거리 기반 통신 장벽으로 인한 지연 시간을 줄일 수 있습니다. 이 솔루션의 일부로 다양한 네트워크 시나리오에서 성능을 최적화하는 Amazon S3 전송 가속화 및 서명 버전 4 서명에 대한 지원도 받을 수 있습니다.

목차로 이동

 

배치 작업

배치 작업은 S3 버킷에 저장된 대량의 오브젝트를 처리할 수 있는 간단하고 확장 가능한 방법을 제공합니다. 이를 통해 고객은 반복적인 데이터 수명 주기 작업을 자동화하고 대규모로 데이터를 관리할 수 있습니다. S3 배치 작업에서 가능한 업무들은 다음과 같습니다.

  1. 개체 복사
    연결된 ET태그의 보존을 포함해 동일하거나 다른 S3 버킷 내에서 개체를 복제합니다.

  2. 개체 이동
    동일한 계정에 속해 있는지 여부에 관계없이 한 S3 버킷에서 다른 S3 버킷으로 개체를 이동합니다.

  3. 개체 삭제
    필터를 통해 정의된 패턴 규칙에 따라 개체를 영구적으로 삭제합니다. 이렇게 하면 중요한 데이터가 의도치 않게 삭제되는 것을 방지할 수 있습니다.

  4. 개체 태그 설정
    선택한 개체에 태그를 추가하거나 바꾸어 검색, 추적, 정리를 더 쉽게 할 수 있습니다.

  5. 개체 필터링
    특정 기준을 충족하는 개체를 식별하고 일치하는 항목에 따라 후속 변환 또는 출력을 수행합니다. 다섯 가지 필터링 모드를 사용할 수 있습니다: 같음, 시작 조건, 작음, 큼, 같음 및 연산자(조건의 조합).

  6. 개체 메타데이터 병합
    여러 개체의 메타데이터 요소를 단일 엔티티로 통합하여 잠재적인 불일치를 해결하거나 속성 집합을 확장할 수 있습니다.

  7. 매니페스트 파일 작성
    지정된 기준을 충족하는 개체의 목록을 일반 텍스트 문서 또는 CSV 스프레드시트로 패키징하여 생성합니다. 사용 사례에 따라 ListBucket(v2), CommonPrefixList, ListObjects(v2) 목록 중에서 선택할 수 있습니다.

  8. 인벤토리 정책
    각각의 태그 할당과 함께 개체 요약을 자세히 설명하는 JSON 형식의 S3 인벤토리 보고서를 자동으로 생성하거나 업데이트하세요. 이 프로세스는 외부 시스템이나 도구에서 쉽게 사용할 수 있는 일별, 주별 또는 월별 아카이브를 생성합니다.

S3 배치 작업은 AWS CLI(명령줄 인터페이스), AWS SDK 또는 Amazon S3 API를 사용해 이러한 작업을 프로그래밍 방식으로 실행합니다. 기본 제공 병렬화를 활용하고 워크로드를 여러 처리 장치에 분산하여 효율성을 개선하고 처리 시간을 단축합니다.

 

목차로 이동

반응형