Overview
AWS S3의 개념, 속성에 대해서 공부해보려고 한다.
AWS S3란?
AWS S3는 스토리지 서비스(Storage Service)이다.
쉽게 말하자면 특정한 사진, 동영상 등의 파일을 저장하기 위해 사용할 수 있는 서비스이다.
사용 예시는 매우 광범위하다.
게시판 웹 사이트를 개발 할 때 이미지 파일만을 S3에 저장할 수 있으며,
특정한 로고 사진 등을 S3에 저장하여 사용자가 빠르게 사진 파일을 다운로드 받도록 처리하는 등의 작업이 가능하다.
S3에서 객체(Object)란 저장되는 파일을 의미하고, 버킷(Bucket)은 파일이 저장될 프로젝트를 의미한다.
S3는 키(고유 식별자)와 값(데이터 자체)으로 구성된 데이터 조각인 개체의 개념을 기반으로 한다.
개체는 텍스트 파일에서 이미지 및 비디오와 같은 멀티미디어 콘텐츠에 이르기까지 무엇이든 될 수 있으며 크기는 최대 5테라바이트가 될 수 있다.
S3는 버전 관리도 지원하므로 동일한 객체의 여러 버전을 저장할 수 있다.
또한 데이터가 항상 사용 가능하고 하드웨어 장애로부터 보호되도록 리전 내의 여러 가용 영역에 자동으로 복제되는 데이터를 통해 가용성과 내구성이 높도록 설계되었다. 서버 측 암호화, 클라이언트 측 암호화, AWS Identity and Access Management(IAM)를 통한 액세스 제어 등 다양한 보안 기능도 제공한다.
AWS S3 속성
AWS S3 속성에 종류는 아래와 같다.
- 버킷 버전 관리(Bucket Versioning)
- 태그(Tag)
- 기본 암호화(Default encryption)
- 지능형 계층화 아카이브 구성(Intelligent Tiering Archive Configuration)
- 서버 액세스 로깅(Server Access Logging)
- AWS CloudTrail 데이터 이벤트
- 이벤트 알림(Event Notifications)
- Amazon EventBridge
- 전송 가속화(S3 Transfer Acceleration)
- 객체 잠금(Object Locking)
- 요청자 지불(Requester Payments)
- 정적 웹 사이트 호스팅(hosting static website)
버킷 버전 관리(Bucket Versioning)란?
버킷 버전 관리는 동일한 버킷에 객체의 여러 버전을 유지할 수 있게 해주는 Amazon S3 버킷의 속성이다.
버킷에 대해 버전 관리가 활성화되면 S3는 버전 1.0부터 버킷에 업로드되는 각 객체에 고유한 버전 ID를 자동으로 할당한다. 객체가 업데이트되거나 덮어쓰이면 S3는 이전 버전을 삭제하지 않고 새 버전 ID로 객체의 새 버전을 생성한다.
버킷 버전 관리 장점
- 우발적 삭제 방지(Protection against accidental deletion): 버전 관리를 사용하면 객체가 실수로 삭제되거나 덮어쓰여진 경우 객체의 이전 버전을 복구할 수 있다. 이는 특정 기간 동안 보관해야 하는 중요한 데이터 또는 민감한 정보에 특히 유용할 수 있다.
- 감사 추적(Audit trail): 객체의 새 버전이 있을 때마다 S3는 시간 경과에 따른 변경 사항을 추적하는 데 사용할 수 있는 새 버전 ID를 생성한다. 이것은 감사 목적이나 개체에 대한 변경 기록을 제공하는 데 유용할 수 있다.
- 롤백(Rollback): 개체가 업데이트되거나 잘못된 데이터로 덮어쓰이면 개체의 이전 버전으로 롤백할 수 있다.
- 법률 또는 규정 요구 사항(Legal or regulatory requirements): 일부 산업 또는 조직에서는 법률 또는 규정에 따라 특정 기간 동안 데이터를 보관해야 할 수 있다. 버킷 버전 관리는 시간이 지남에 따라 객체의 여러 버전을 유지할 수 있도록 하여 이러한 요구 사항을 충족하는 데 도움이 될 수 있다.
버전 관리가 활성화되면 버킷에 대한 모든 후속 업로드 및 업데이트가 객체의 새 버전을 자동으로 생성한다.
S3 콘솔 또는 AWS CLI를 사용하여 객체의 버전을 보고 관리할 수 있다.
버킷에 대한 버전 관리를 활성화하면 S3에 데이터를 저장하는 비용에 영향을 미칠 수 있다는 점에 유의해야 한다.
왜냐하면 버전 관리가 활성화되면 개체의 새 버전이 각각 별도의 개체로 저장되므로 스토리지 비용이 증가할 수 있다.
또한 이전 버전 개체의 보존 및 삭제를 관리하는 규칙을 만들어야 할 수 있으므로 버전 관리는 데이터 수명 주기를 관리하는 방법에 영향을 미칠 수 있다.
태그(Tag)란?
S3 버킷 태그는 리소스를 구성하고 관리하는 데 도움이 되도록 S3 버킷에 적용할 수 있는 레이블이다.
태그는 소유자, 환경, 프로젝트 또는 비용 센터와 같은 S3 버킷에 대한 메타데이터를 분류하고 추적하는 데 사용할 수 있는 키-값 페어이다.
태그를 사용하여 태그 값과 같은 특정 기준에 따라 버킷을 검색 및 필터링하고 태그를 기반으로 버킷의 사용량 및 비용을 보여주는 비용 할당 보고서를 생성할 수 있다.
기본 암호화(Default encryption)란?
기본 암호화는 지정된 암호화 유형을 사용하여 버킷에 업로드된 모든 객체의 자동 암호화를 제공하는 Amazon S3 버킷의 속성이다.
버킷에 대해 기본 암호화가 활성화되면 S3는 추가 단계나 구성 없이 지정된 암호화 유형을 사용하여 버킷에 업로드된 모든 객체를 자동으로 암호화한다.
- Amazon S3 관리형 키(SSE-S3) 암호화: SSE-S3에서 S3는 S3에서 생성한 고유 키를 사용하여 객체를 자동으로 암호화한 다음 AWS에서 관리하고 보호한다. SSE-S3는 높은 수준의 보안을 제공하며 대부분의 사용 사례에 권장되는 기본 암호화 옵션이다.
- AWS Key Management Service(SSE-KMS) 암호화 : S3에 저장된 객체에 대한 추가 보안 계층을 제공하는 Amazon S3 버킷용 서버 측 암호화 옵션이다. SSE-KMS 암호화를 통해 S3는 AWS KMS에서 생성하고 관리하는 고유한 고객 마스터 키(CMK)를 사용하여 객체를 암호화한다. KMS가 CMK를 사용할 때마다 요금을 부과하므로 SSE-KMS 암호화는 S3에 데이터를 저장하는 비용을 증가시킬 수 있다는 점에 유의해야 한다.
SSE-S3와 SSE-KMS 장단점
SSE-S3
장점
- 추가 키 관리가 필요하지 않음
- 가장 쉬운 설정 및 사용
- S3에 저장된 데이터에 대한 강력한 암호화 제공
단점
- 암호화 키에 대한 제한된 제어
- 키 사용에 대한 감사 추적을 제공하지 않음
- 엄격한 규제 또는 규정 준수 요구 사항이 있는 고객에게는 적합하지 않음
SSE-KMS
장점
- 암호화 키에 대한 세밀한 제어 제공
- 키 사용에 대한 키 회전 및 감사 추적 가능
- 엄격한 규제 또는 규정 준수 요구 사항이 있는 고객에게 적합
단점
- 설정 및 관리가 더 복잡함
- KMS 서비스 이용에 따른 추가 비용
- 규정 준수를 보장하기 위해 추가적인 키 관리 및 모니터링이 필요
요약하면 SSE-S3는 S3에 저장된 데이터를 암호화하기 위한 가장 쉽고 간단한 옵션인 반면, SSE-KMS는 암호화 키에 대한 더 많은 제어 기능을 제공하며 엄격한 규제 또는 규정 준수 요구 사항이 있는 고객에게 적합하다.
지능형 계층화 아카이브 구성(Intelligent Tiering Archive Configuration)이란?
Intelligent Tiering Archive는 자주 액세스하지 않는 데이터를 Amazon S3 Glacier 스토리지 서비스에 자동으로 보관하는 동시에 가장 자주 액세스하는 데이터에 대한 빠르고 빈번한 액세스를 유지할 수 있는 Amazon S3 Intelligent Tiering 스토리지 클래스 내의 구성 옵션이다.
S3 Intelligent Tiering 스토리지 클래스는 변화하는 액세스 패턴과 액세스 빈도에 따라 두 액세스 계층 간에 객체를 자동으로 이동하도록 설계되었다. Intelligent Tiering Archive 구성을 사용하면 표준 Infrequent Access(IA) 계층 외에 자주 액세스하지 않는 개체에 대한 추가 아카이브 계층을 설정할 수 있다.
Intelligent Tiering Archive 구성을 활성화하면 S3는 지정된 기간 동안 액세스하지 않으면 자주 액세스하지 않는 객체를 Glacier 스토리지 서비스에 자동으로 아카이브한다. 이를 통해 자주 액세스하지 않는 데이터를 낮은 비용 스토리지 계층에 저장하여 비용을 절감하는 동시에 필요할 때 해당 데이터에 빠르고 쉽게 액세스할 수 있다.
Intelligent Tiering Archive 구성의 장점
- 자동 아카이빙: Intelligent Tiering Archive 구성을 사용하면 수동으로 데이터를 Glacier로 이동하거나 별도의 아카이브 솔루션을 설정할 필요가 없다. S3는 자주 액세스하지 않는 데이터를 자동으로 Glacier에 보관한다.
- 비용 절감: 자주 액세스하지 않는 데이터를 Glacier에 자동으로 보관함으로써 S3 표준 또는 자주 액세스하지 않는 계층에 데이터를 저장하는 비용을 절약할 수 있다.
- 빠른 액세스: Glacier에 보관되었음에도 불구하고 Intelligent Tiering Archive 구성은 여전히 가장 자주 액세스하는 데이터에 대한 빠르고 빈번한 액세스를 허용한다.
Intelligent Tiering Archive 구성을 활성화하는 방법
S3 콘솔, AWS CLI 또는 S3 REST API를 사용하여 아카이브 계층을 설정할 수 있다. 활성화되면 S3는 액세스 패턴 및 액세스 빈도에 따라 객체를 적절한 액세스 계층으로 자동으로 이동한다.
Intelligent Tiering Archive 구성을 활성화시 유의할점
Glacier에서 데이터를 검색하는 것이 S3에서 데이터를 검색하는 것보다 오래 걸릴 수 있으며 데이터 검색에 추가 비용이 발생할 수 있다는 점에 유의해야 한다. 또한 Intelligent Tiering Archive 구성은 모든 사용 사례에 적합하지 않을 수 있으며 구성을 신중하게 검토하고 테스트하여 특정 요구 사항과 요구 사항을 충족하는지 확인하는 것이 중요하다.
서버 액세스 로깅(Server Access Logging)이란?
서버 액세스 로깅은 요청자의 IP 주소, 요청 시간 및 날짜, 요청된 객체, 반환된 HTTP 상태 코드를 포함하여 S3 버킷에 대한 요청에 대한 자세한 정보를 캡처할 수 있는 Amazon S3의 구성 옵션이다.
서버 액세스 로깅을 활성화하면 S3 버킷에 대한 액세스를 모니터링 및 문제 해결하고, 사용 패턴 및 추세를 추적하고, 규정 준수 및 감사 요구 사항을 충족하는 데 도움이 될 수 있다. 기본적으로 S3는 버킷에 대한 서버 액세스 로깅을 활성화하지 않으므로 각 버킷에 대해 수동으로 활성화해야 한다.
S3 버킷에 대한 서버 액세스 로깅을 활성화하면 S3는 동일한 계정 또는 다른 계정에서 지정한 대상 버킷에 액세스 로그를 자동으로 전달한다. 액세스 로그를 사용하여 버킷의 액세스 패턴과 사용량을 분석 및 시각화하거나 AWS CloudTrail 또는 Amazon S3 Inventory와 같은 다른 도구 및 서비스에 피드할 수 있다.
서버 액세스 로깅을 활성화하면 S3 사용에 추가 비용이 추가될 수 있다는 점에 유의해야 한다. S3는 액세스 로그 저장 및 전달에 대해 요금을 부과한다.
또한 서버 액세스 로깅은 특히 트래픽이 많은 버킷의 경우 성능에 영향을 미칠 수 있으므로 로깅 설정을 신중하게 구성하고 모니터링하여 S3 사용에 부정적인 영향을 주지 않으면서 요구 사항을 충족하는지 확인하는 것이 중요하다.
AWS CloudTrail 데이터 이벤트란?
AWS CloudTrail 데이터 이벤트는 리소스에 대한 변경 사항 및 해당 리소스에 대한 API 호출을 포함하여 AWS 계정의 리소스 수준 활동에 대한 자세한 정보를 캡처하는 이벤트 유형이다.
데이터 이벤트는 보안, 규정 준수 및 운영 목적에 유용할 수 있는 AWS 계정의 모든 리소스 수준 활동에 대한 포괄적인 감사 추적을 제공한다.
CloudTrail 데이터 이벤트는 다음과 같은 활동을 캡처
- 관리 이벤트(Management events): 이러한 이벤트는 리소스 생성, 업데이트 또는 삭제와 같이 계정의 리소스에 대한 변경 사항을 캡처한다. 관리 이벤트는 또한 AWS Identity and Access Management(IAM) 정책 및 권한에 대한 변경 사항을 캡처한다.
- 데이터 이벤트(Data events): 이러한 이벤트는 데이터 읽기, 쓰기 또는 삭제와 같은 리소스 및 해당 리소스 내의 데이터에 대한 액세스를 캡처한다. 데이터 이벤트는 특정 리소스에 대해 활성화할 수 있으며 리소스 내의 개별 작업에 대한 세부 정보를 캡처할 수 있다.
- 인사이트 이벤트(Insights events): 이러한 이벤트는 의심스러운 API 활동 또는 보안 문제를 나타낼 수 있는 리소스 구성 변경과 같이 CloudTrail에서 탐지한 인사이트 및 이상 현상을 캡처한다.
CloudTrail 데이터 이벤트는 지정한 S3 버킷으로 전달되며 AWS CloudWatch Logs, AWS Athena 또는 타사 분석 플랫폼과 같은 다양한 도구 및 서비스를 사용하여 분석할 수 있다.
CloudTrail 데이터 이벤트를 사용하여 특정 활동이나 패턴을 기반으로 알림 또는 트리거를 생성할 수도 있다.
이벤트 알림(Event Notifications)이란?
AWS S3 이벤트 알림은 S3 버킷에서 발생하는 특정 이벤트를 기반으로 워크플로를 자동화하고 작업을 트리거할 수 있는 기능이다. S3 이벤트 알림을 사용하면 버킷에서 새 객체가 생성되거나 삭제될 때와 같은 특정 이벤트가 발생할 때 다른 AWS 서비스 또는 자체 애플리케이션에 알림을 보내는 이벤트 기반 트리거를 생성할 수 있다.
S3 이벤트 알림을 사용하여 데이터 처리, 로그 분석 또는 사용자에게 변경 사항 알림과 같은 광범위한 작업을 트리거할 수 있다.
S3 이벤트 알림의 몇 가지 일반적인 사용 사례
- 백업 및 복제: 버킷에 새 객체가 추가되면 S3 이벤트 알림을 사용하여 복제 또는 백업 프로세스를 트리거할 수 있다.
- 데이터 처리: S3 이벤트 알림을 사용하여 ETL(추출, 변환, 로드) 또는 기계 학습 파이프라인과 같은 데이터 처리 워크플로를 트리거할 수 있다.
- 콘텐츠 배포: S3 이벤트 알림을 사용하여 이미지 또는 동영상이 버킷에 업로드될 때 CDN(콘텐츠 전송 네트워크)에 배포하는 것과 같은 콘텐츠 배포 워크플로를 트리거할 수 있다.
Amazon EventBridge란?
Amazon EventBridge는 이벤트 기반 아키텍처를 사용하여 다양한 AWS 서비스, 타사 SaaS 애플리케이션 및 사용자 지정 애플리케이션을 쉽게 연결하고 통합할 수 있게 해주는 AWS의 서버리스 이벤트 서비스이다.
Amazon EventBridge를 사용하면 서로 다른 AWS 서비스 또는 사용자 지정 애플리케이션 간에 이벤트를 라우팅하는 이벤트 규칙을 정의하여 이벤트 기반 아키텍처를 생성할 수 있다.
S3 버킷에 새 객체가 추가되거나 Amazon SNS 주제로 새 메시지가 전송되는 등의 이벤트가 발생하면 EventBridge는 이벤트를 AWS Lambda 함수 또는 AWS 단계와 같은 지정된 대상으로 라우팅한다.
Amazon EventBridge의 주요 장점
- 손쉬운 통합: EventBridge를 사용하면 공통 이벤트 기반 아키텍처를 사용하여 다양한 AWS 서비스, 타사 SaaS 애플리케이션 및 사용자 지정 애플리케이션을 쉽게 통합할 수 있다.
- 유연한 라우팅: 이벤트 유형, 이벤트 소스 또는 콘텐츠와 같은 다양한 기준에 따라 이벤트를 특정 대상으로 라우팅하는 이벤트 규칙을 정의할 수 있다.
- 확장성: EventBridge는 서버리스 서비스이므로 많은 양의 이벤트 및 트래픽을 처리하도록 자동으로 확장된다.
- 비용 효율적: EventBridge에는 이벤트당 지불 가격 모델이 있으므로 서비스에서 처리한 이벤트에 대해서만 지불하면 된다.
전송 가속화(S3 Transfer Acceleration)란?
Amazon S3 Transfer Acceleration은 인터넷을 통해 S3 버킷에서 더 빠르게 데이터를 전송할 수 있는 기능이다.
S3 Transfer Acceleration을 사용하면 Amazon CloudFront의 전 세계적으로 분산된 엣지 로케이션을 활용하여 데이터가 전송되는 위치에 관계없이 전송을 가속화할 수 있다.
S3 Transfer Acceleration은 인터넷을 통하지 않고 Amazon CloudFront 엣지 로케이션을 통해 데이터를 라우팅하여 작동한다. 그리고 Transfer Acceleration을 활성화하면 Amazon은 Amazon 네트워크를 통한 전송에 최적화된 버킷의 고유한 URL을 생성한다. Transfer Acceleration URL을 사용하여 버킷에 데이터를 업로드하면 가장 가까운 CloudFront 엣지 로케이션을 통해 데이터가 자동으로 라우팅되어 전송 속도를 개선하고 지연 시간을 줄일 수 있다.
S3 Transfer Acceleration은 장거리에 걸친 대규모 데이터 전송이나 전송 속도에 영향을 줄 수 있는 네트워크 문제 또는 정체가 있는 경우에 특히 유용할 수 있다. 또한 원격 위치와의 데이터 전송 또는 전 세계에서 데이터에 액세스하는 고객의 성능을 개선하는 데 사용할 수도 있다.
S3 Transfer Acceleration을 사용하려면 S3 버킷에 대해 활성화하고 버킷에 액세스하는 데 사용하는 URL을 업데이트하기만 하면 된다. AWS Management Console, AWS CLI 또는 AWS SDK를 사용하여 Transfer Acceleration을 활성화하고 전송을 관리할 수 있다.
소규모 데이터 전송 또는 S3 버킷과 동일한 리전 내에서 발생하는 전송에는 큰 이점을 제공하지 않을 수 있다. 또한 Transfer Acceleration은 표준 S3 전송에 비해 추가 비용이 발생하므로 기능을 신중하게 검토하고 테스트하여 특정 요구 사항과 요구 사항을 충족하는지 확인하는 것이 중요하다.
객체 잠금(Object Locking)이란?
AWS S3 객체 잠금은 버킷에 있는 객체의 우발적 또는 악의적 삭제 또는 수정에 대한 추가 보호 계층을 제공하는 Amazon S3의 기능이다. 객체 잠금은 객체가 변경 불가능하고 지정된 기간 동안 변경되거나 삭제될 수 없도록 하는 데 도움이 된다.
객체 잠금은 S3 버킷의 객체에 보존 기간 또는 법적 보존을 적용하여 작동한다. 객체가 잠겨 있으면 보존 기간 또는 법적 보류가 만료될 때까지 객체를 삭제하거나 수정할 수 없다.
개체 잠금은 거버넌스 모드와 규정 준수 모드의 두 가지 모드를 지원한다.
- 거버넌스 모드에서는 30일, 60일 또는 1년과 같은 특정 기간 동안 개체를 잠글 수 있다. 이 모드에서 인증된 사용자는 필요한 경우 잠금을 무시할 수 있다.
- 규정 준수 모드에서는 객체가 무기한 잠기며 버킷 소유자를 포함하여 누구도 삭제하거나 수정할 수 없다. 이 모드는 최고 수준의 데이터 보호를 제공하며 규제 및 규정 준수 사용 사례에 적합하다.
요청자 지불(Requester Payments)이란?
AWS S3 Requester Pays(요청자 지불)는 버킷 소유자가 아닌 데이터 요청자에게 S3 버킷의 객체에 접근하기 위한 데이터 전송 비용과 요청 수수료를 이전할 수 있는 기능이다. 이는 고객이나 파트너와 같은 외부 당사자와 데이터 전송 비용 및 요청 수수료를 공유하려는 상황에서 유용할 수 있다.
S3 버킷에 대해 요청자 지불이 활성화되면 버킷의 객체에 액세스하기 위해 수행된 모든 요청에는 요청자가 요청 비용을 책임져야 하는지 여부를 나타내는 헤더가 포함된다. 요청자에게 책임이 있는 경우 데이터 전송 비용 및 요청 수수료는 버킷 소유자의 계정이 아닌 AWS 계정으로 청구된다.
요청자 지불 사례
- 고객 또는 파트너와 데이터 공유: 요청자 지불을 사용하면 S3 버킷의 데이터에 액세스하는 외부 당사자와 데이터 전송 비용 및 요청 수수료를 공유할 수 있다.
- 데이터 배포: 요청자 지불을 사용하여 비용 효율적인 방식으로 외부 당사자에게 데이터를 배포하는 동시에 데이터가 안전하고 통제되도록 할 수 있다.
- 공개 데이터 세트: 요청자 지불은 공개 데이터 세트에 대한 액세스를 제공하는 동시에 데이터 전송 비용과 요청 수수료를 요청자가 부담하도록 하는 데 사용할 수 있다.
정적 웹 사이트 호스팅(hosting static website)이란?
AWS S3는 서버 측 처리 또는 데이터베이스 기능이 필요하지 않은 웹사이트인 정적 웹사이트를 호스팅하는 데 사용할 수 있다. S3에서 정적 웹 사이트를 호스팅하는 것은 높은 트래픽 볼륨을 처리하고 안정적인 웹 사이트 성능을 제공할 수 있는 비용 효율적이고 확장 가능한 옵션이다.
S3에서 정적 웹사이트를 호스팅하려면 S3 버킷을 생성하고 웹사이트 호스팅용으로 구성해야 한다. S3 콘솔, AWS CLI 또는 AWS SDK를 사용하여 이 작업을 수행할 수 있다. 버킷이 구성되면 HTML, CSS 및 JavaScript 파일과 같은 웹 사이트 콘텐츠를 버킷에 업로드할 수 있다.
S3에서 정적 웹 사이트를 호스팅할 때 버킷 정책 및 CORS(Cross-Origin Resource Sharing)와 같은 S3 기능을 사용하여 웹 사이트 콘텐츠에 대한 액세스를 제어하고 교차 출처 요청을 허용하거나 제한할 수 있다. 또한 AWS의 콘텐츠 전송 네트워크(CDN)인 CloudFront를 사용하여 전 세계 엣지 로케이션에서 웹 사이트 콘텐츠를 캐싱함으로써 웹 사이트 성능을 개선하고 지연 시간을 줄일 수 있다.
S3에서 정적 웹 사이트 호스팅 장점
- 비용 효율적: S3에서 정적 웹 사이트를 호스팅하는 것은 사용한 스토리지 및 데이터 전송에 대해서만 비용을 지불하므로 기존 웹 호스팅 솔루션에 비해 비용 효율적인 옵션이다.
- 확장성: S3는 높은 트래픽 볼륨을 처리하고 안정적인 웹 사이트 성능을 제공할 수 있는 확장성이 뛰어난 서비스이다.
- 보안: S3는 암호화, 버킷 정책 및 CORS와 같은 내장 보안 기능을 제공하여 무단 액세스로부터 웹 사이트 콘텐츠를 보호할 수 있다.
- 손쉬운 관리: S3에서 정적 웹 사이트를 호스팅하면 설정 및 관리가 쉽고 서버 유지 관리나 데이터베이스 관리가 필요하지 않는다.
정적, 동적 웹사이트의 개념
정적 웹사이트
정적 웹 사이트는 고정된 콘텐츠로 구성되며 서버 측 처리 없이 저장된 그대로 사용자에게 전달된다. 각 웹 페이지는 텍스트, 이미지 및 링크와 같은 모든 콘텐츠를 포함하는 별도의 HTML 파일이다. 사용자가 페이지를 요청하면 서버는 해당 HTML 파일을 브라우저로 직접 보내고 브라우저는 사용자를 위해 페이지를 렌더링한다.
동적 웹사이트
동적 웹 사이트는 사용자 입력 또는 기타 요인을 기반으로 즉석에서 콘텐츠와 페이지를 생성한다. 데이터베이스 및 서버 측 스크립팅 언어(예: PHP, Python, Ruby, Node.js)와 같은 서버 측 기술을 사용하여 사용자 요청을 처리하고 데이터베이스와 상호 작용하며 동적으로 HTML 페이지를 생성한다. 사용자가 페이지를 요청하면 서버는 요청을 처리하고, 필요한 경우 데이터베이스에서 데이터를 검색하거나 업데이트하고, 브라우저에 보내기 전에 적절한 콘텐츠가 포함된 HTML 페이지를 생성한다.
Reference
Using versioning in S3 buckets
Using cost allocation S3 bucket tags
Amazon S3 스토리지에 대한 공개 액세스 차단
Configuring fast, secure file transfers using Amazon S3 Transfer Acceleration
Enabling and configuring event notifications using the Amazon S3 console
What Is Amazon EventBridge?
Using S3 Object Lock
'AWS' 카테고리의 다른 글
AWS IAM이란? (0) | 2023.03.30 |
---|---|
AWS S3 권한이란? (0) | 2023.03.29 |
AWS S3 맛보기 (0) | 2022.02.13 |
AWS IAM MFA 맛보기 (0) | 2022.02.13 |
AWS EC2 인스턴스 생성 (0) | 2022.02.07 |