본문 바로가기
Web/BackEnd

[AWS] AWS 인프라 구축하기 - S3 (3)

by 희조당 2023. 4. 4.
728x90

🤗 AWS 구축하기 3

RDS와 EC2까지 만들어줬다!

저장소 서비스인 S3를 이번 편에서는 구축해 볼 생각인데, S3 용도는 다음과 같다.

  • 이미지 파일 등 (정적 파일)을 저장
  • 배포를 위한 빌드 파일(.zip)을 저장

이번에도 설정한 내용을 공유해보겠다.


🛢️ S3

1️⃣ 버켓 생성하기

버켓은 하나의 인스턴스라고 생각하면 된다! 적당히 이름을 입력해 준다.

2️⃣ 객체 소유권

이번 프로젝트에 하나의 계정만을 사용할 것이라서 ACL을 활성화시켜주진 않았다.

지금은 잘 몰라서 넘어갔지만 나중에 필요하다면 수정할 수도 있다.

3️⃣ 퍼블릭 액세스 설정

따로 정책을 설정해 줄 예정이라서 모든 퍼블릭 액세스를 허용해 주었다!

그 외의 설정은 건들 것 없이 넘어가면 된다.


🧱 버킷 정책 설정하기

User가 버킷에 접근할 수 있게 하는 일종의 방화벽 설정이다!

Json 문법으로 작성해야 하는데 우리가 힘들게 작성할 필요가 없이 정책 생성기를 통해 만들 수 있다.

버킷 > 권한 > 버킷 정책 > 편집

현재 테스트용으로 만들 생각이라서 어렵게 만들지는 않았다.

  • Principal : * (모두) 선택
  • Actions : All actions 선택 
  • ARN : 버킷 ARN 복사해서 붙여 넣기

정책 생성기

만들어진 정책은 다음과 같다! 

나는 디렉터리를 두고 나눠서 사용할 예정이라 경로를 조금 수정했다

{
  "Version": "2012-10-17",
  "Id": "Policy1680589613486",
  "Statement": [
    {
      "Sid": "Stmt1680589612529",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:*",
      // 원본 : "Resource": "arn:aws:s3:::flaground-s3"
      "Resource": "arn:aws:s3:::flaground-s3/*" 
    }
  ]
}

🔑 IAM 설정

프로젝트에서 파일을 올리고 삭제하는데 당연히 S3를 사용해야 할 것이다!

이때, 아무나 접근하면 안 되기 때문에 보안 설정을 해야 한다. 그걸 가능케 하는 것이 IAM이다!

1️⃣ 사용자 정보 입력

나는 각 서비스 별로 IAM을 따로 두는 편이라서 서비스에 사용되는 이름을 입력한다.

귀찮다면 한 IAM에 여러 가지 정책을 연결해서 복합적으로 사용해도 된다.

IAM > 사용자 > 사용자 추가

2️⃣ 권한 설정하기

S3를 위한 권한이므로 S3 관련 모든 권한을 부여해 준다.

이후 추가 설정 없이 바로 생성해 주면 된다.

3️⃣ 키 발급하기

우리가 만든 이 권한을 사용하기 위해서는 IAM에 접근할 키가 필요하다!

생성한 IAM에서 보안 자격 증명 탭에 들어가 중간에 위치한 액세스 키 메뉴에서 만들어준다.

IAM > 보안 자격 증명 > 액세스 키

빌드된 jar 파일에서 동작할 예정이라 키를 외부로 빼내야 한다.

선택할 수 있는 경우 중 기타를 고르고 넘어간다.

엑세스 키 모범 사례 및 대안

만들고 나면 이렇게 키를 발급해 주는데 비밀 액세스 키의 경우 다시는 볼 수 없으므로

따로 잘 적어두거나 csv 파일로 저장해 두는 것을 추천한다!


😋 지극히 개인적인 블로그지만 훈수와 조언은 제 성장에 도움이 됩니다 😋

 

 

 

댓글