[AWS SAA#15] Amazon S3
Amazon S3(Simple Storage Service)는 AWS에서 제공하는 확장 가능하고 안정적인 객체 스토리지 서비스입니다. 사용자는 이미지, 동영상, 문서, 로그 파일 등 다양한 데이터를 저장할 수 있으며, **고가용성과 보안, 내구성(99.999999999%)**을 제공합니다. 또한, 정적 웹사이트 호스팅, 데이터 백업, 빅데이터 분석, 머신러닝 데이터 저장 등 다양한 용도로 활용됩니다. 버전 관리, 액세스 제어, 수명 주기 관리 등의 기능을 제공하며, AWS Lambda, CloudFront, EC2 등과 원활하게 연동되어 클라우드 기반 애플리케이션 구축에 최적화된 스토리지 솔루션입니다.
S3 콘솔로 이동하여 버킷 만들기를 클릭한다.
버킷이름은 고유해야 하므로 주의해서 이름을 설정한다.
나머진 모두 기본 옵션으로 두고 생성
이후 만들어진 버켓을 클릭하면 객체가 없는 상태이다.
객체를 업로드하고 싶으면 객체 업로드 버튼을 클릭하여 업로드할 수 있다.
예시로 아무 JPG 이미지 파일을 업로드 해보겠다.
업로드가 완료됐다. 업로드한 이미지를 클릭해보자.
여기에서 우측 상단 열기를 클릭해서 업로드한 객체를 볼 수 있다.
업로드한 이미지가 정확히 나오는 모습이다.
이제 객체 URL을 통해 접속해보자.
접근이 거부되었다.
공개 URL을 통해서 객체에 접근할 수 없다.
실제 위에서 접근했던 URL은 나의 증명 자격이 URL에 인코딩되어 있으므로 접근이 가능했다.
이미지 뿐만 아니라 웹사이트, 폴더 등을 업로드 할 수도 있고 복제도 할 수 있다.
S3는 수명 주기 규칙을 갖는다.
관리를 클릭하여 수명 주기 규칙 생성을 클릭하자.
이름은 'DemoRule', 사용할 옵션들을 선택한다.
간단히 알아보는 목적이기에 '스토리지 클래스 간에 객체의 현재 버전 전환' 옵션을 선택하고, 'Glacier Flexible Retrieval'과 기간은 90일로 설정한다. 이 옵션은 새 객체에 의해 코드가 덮어쓰기된 이전 버전을 이동시키는 것이다.
그 외에 나머지 옵션도 원하는 기간을 입력만 하면 간단하게 설정이 완료된다.
이제 이벤트 알림을 만들어보자.
버킷을 이름만 설정해주고, 나머지는 기본값으로 생성한다.
버킷을 클릭하고 속성 탭에 들어가서 스크롤을 아래로 내리면 이벤트 알림이 나온다.
편집을 클릭하고 이벤트브리지를 활성화 해주자.
다음으로 이벤트 알림을 생성한다.
모든 객체 생성 이벤트 옵션을 체크해서, 모든 이벤트에 대해 알림을 받도록 한다.
여기까지만 해두고 대상에서는 SQS 대기열을 선택하고 생성을 완료한다.
하지만 그 전에 대기열을 생성하고 S3가 대상에 메세지를 게시하도록 승인해야한다.
SQS 콘솔로 이동하고 생성을 클릭
이름만 설정해주고 바로 생성을 완료한다.
이제 S3 버킷이 SQS 대기열에 작성할수 있도록 액세스 정책을 수정해야 한다.
SQS 대기열 정책에서 편집을 클릭한다.
그리고 액세스 정책 좌측 하단에 정책 생성기를 클릭한다.
위 Resource의 키값을 복사해둔다.
이후 Principal은 *(모두)를 입력, 액션은 Send Message, ARN은 방금 복사해둔 값을 붙여넣는다.
완료.
이제 이벤트 알림 생성 SQS 대기열에서 방금 생성한 SQS 대기열을 선택하고 생성을 완료한다.
이제 메세지 전송 및 수신을 클릭하여 메세지를 보내보자.
아무 메세지를 입력하여 전송한다.
메세지 폴링을 눌러서 확인할 수 있다.
이번엔 버킷에서 객체를 업로드를 해보자.
메세지 폴링을 다시 확인해보면, 버킷이 업로드됨으로써 메세지 알림이 생성되어있다.