서버 환경 구축 순서
- [AWS] 서버 환경 구축 EC2, S3, Aurora Mysql 설정 - 1 (EC2)
- 현재글
- [AWS] 서버 환경 구축 EC2, S3, Aurora Mysql 설정 - 3 (Aurora Mysql)
S3 구축 전체적인 흐름
- 버킷 생성
- 버킷 정책 수정
- S3연결할 EC2에 역할 배정
- EC2에서 S3 연결 확인
S3 버킷 생성
S3 대시보드 > '버킷 만들기' 클릭
버킷이름은 원하는 대로 입력한다.
위와 같이 세팅 후 나머지 설정은 전부 기본값 놔두고 '버킷 만들기'
버킷 정책 수정
생성된 버킷 상세 페이지 '권한' 탭 클릭 > '버킷 정책'의 '편집' 클릭 > '정책 편집기' 클릭
위와 같이 값을 채워 넣자.
- Actions: GetObject, PutObject
- ARN: 버킷 상세 페이지 '속성'탭 Amazon 리소스 이름(ARN)의 값을 넣어주는데 값 뒤에 /*를 꼭 넣어주자
ex) arn:aws:s3:::s3-bucket-1/*
Add Statement > Step 3: Generate Policy 하단에 'Generate Policy' 클릭
위처럼 팝업이 생성되는데 안에 내용 전부 복사 후 버킷 정책안에 붙여 넣고
'변경 사항 저장'을 눌러 완료한다.
만약 IAM으로 생성한 역할 또는 사용자로 지정된 EC2나 애플리케이션으로 S3 접근 시
IAM으로 설정한 정책이 1순위, S3 정책이 2순위로 적용된다.
IAM으로 연결되지 않은 사용자가 S3 접근시 S3정책이 1순위로 설정되게 된다.
디폴트 정책이라고 생각하면 된다.
S3연결할 EC2에 역할 배정
EC2 대시보드 > 연결할 EC2 선택 > 우측 상단 '작업' > '보안' > 'IAM 역할 수정' 클릭
새탭으로 페이지가 생성되는데 '새 IAM 역할 생성' 클릭 > 우측 상단 '역할 생성' 클릭
역할 생성 1단계
역할 생성 2단계
역할 생성 3단계
위처럼 3단계에 걸쳐 세팅 후 '역할 생성' 한다.
그 후, 다시 EC2 IAM 역할 수정화면으로 돌아와 새로고침을 하면 생성한 역할이 셀렉트박스에 값으로 추가되는데
위처럼 선택한 후 'IAM 역할 업데이트'를 하면 EC2의 IAM 역할이 배정된다.
EC2에서 S3 연결 확인
# S3 bucket의 object list를 조회
aws s3 ls <S3버킷이름>
그 후 test.txt를 만들어 준 후, s3에 업로드해보았다.
# 파일 생성
vim test.txt
# 생성한 파일 S3에 올리기
aws s3 cp ./test.txt s3://<S3버킷이름>
# 반대로 다운받는 명령어
aws s3 cp s3://<S3버킷이름>/test.txt ./
위의 명령어가 모두 동작되면 연동은 완료된 것이다.
참고 사이트
https://kimjingo.tistory.com/209