What
클라우드 기반의 객체 스토리지 서비스 - AWS S3 버킷 생성
Why
- 데이터 저장과 관리를 위해 사용
- 대용량 데이터를 저장 할 수 있고 데이터의 백업 및 복원에 유용
- 다양한 미디어 파일의 유형을 저장하고 액세스 가능
How
AWS 리전 설정
객체 소유권
AWS 리전 설정은 사용자가 애플리케이션 또는 인프라를 배포할 때, 어떤 지역의 AWS 리전을 사용할 것인지를 결정하는 것을 의미합니다. 리전 설정은 애플리케이션의 성능, 가용성, 규정 준수 등에 영향을 미칩니다.
퍼블릭 액세스 차단 설정
S3 버킷의 퍼블릭 액세스 설정은 프로젝트의 보안 및 액세스 제어 요구사항에 따라 결정되어야 합니다. 일반적으로는 보안을 강화하기 위해 모든 퍼블릭 액세스를 차단하는 것이 권장됩니다. 그러나 파일 업로드 및 일부 사진을 사이트 내에서 허용해야 한다면 액세스 제어를 구성하여 필요한 권한을 제공할 수 있습니다.
저 같은 경우에는 내부에서만 사용할 것이기에 퍼블릭 액세스 차단을 설정하겠습니다.
버킷 버전 관리 및 기본 암호화
버킷 생성 확인
현재는 액세스 정책이 퍼블릭이 아닌 것을 확인 할 수 있습니다
이제 원하는 정도의 접근을 허용하기 위해 정책을 생성하겠습니다.
버킷 정책 생성
awspolicygen.s3.amazonaws.com/policygen.html
AWS Policy Generator
Click below to edit. To save the policy, copy the text below to a text editor. Changes made below will not be reflected in the policy generator tool.
awspolicygen.s3.amazonaws.com
ARN은 arn:aws:s3:::${BucketName}/${KeyName} 형식으로 진행합니다
저같은 경우에는 arn:aws:s3:::s3/* 이렇게 설정해줬습니다
이때 Actions에는 사용자가 원하는 작업을 체크하여 허용할 수 있습니다.
전 파일 업로드, 파일 조회, 파일 삭제를 할 것이기에 이에 맞는 항목을 체크하겠습니다.
파일 업로드: PutObject. 파일을 S3 버킷에 업로드하는 작업입니다. PutObject 작업은 객체를 생성하고 업로드하는 데 필요합니다. 예를 들어, "s3:PutObject" 액션을 사용하여 이 작업을 허용할 수 있습니다.
파일 조회: GetObject . S3 버킷에서 객체를 읽어오는 작업입니다. 사용자가 특정 파일을 조회할 수 있도록 하려면 "s3:GetObject" 액션을 사용하여 이 작업을 허용해야 합니다.
파일 삭제: DeleteObject S3 버킷에서 객체를 삭제하는 작업입니다. 사용자가 특정 파일을 삭제할 수 있도록 하려면 "s3:DeleteObject" 액션을 사용하여 이 작업을 허용해야 합니다.
정책을 생성해주면 JSON 값이 나오고
이 값을 생성한 s3 버킷 정책에 입력합니다
버킷 액세스 정책이 퍼블릭으로 변경된 것을 확인 할 수 있습니다.
파일 업로드 후 테스트
파일을 업로드 후
객체 URL을 주소창에 입력하면 파일이 업로드 되어있는 것을 확인할 수 있습니다.
액세스 키 생성
액세스 키는 모든 퍼블릭 액세스를 차단했을 경우 필요합니다.
s3에 접근하려면 별도의 인증 과정이 필요한데 이때 사용되는 것이 액세스키입니다.
'Deep Dive > DevOps' 카테고리의 다른 글
ubuntu에 도커 세팅 (0) | 2023.07.05 |
---|---|
RDS 생성 및 Spring과 연결 (0) | 2023.07.05 |
CI/CD 구축 (0) | 2023.06.27 |
docker 파일 생성 및 실행 (0) | 2023.06.27 |
ec2 서버에서 실행하기 (0) | 2023.06.26 |