프로젝트 배포에 사용한 ec2와 S3을 연동해 보았다.
1. IAM 역할 생성
우측 상단 닉네임을 클릭하여 보안 자격 증명을 클릭한다.
그 후 나타나는 페이지 좌측에서 역할을 클릭한다.
역할 만들기를 클릭한다.
EC2를 선택한 후 다음을 클릭한다.
권한 추가는 인라인 정책으로 추가할 것이기 때문에 선택하지 않고 다음을 클릭한다.
이름과 설명을 지정하고 역할 생성을 클릭한다.
2. EC2 IAM 역할 추가
그 후 설정한 IAM 역할을 EC2에 추가해 보았다.
EC2를 검색하여 인스턴스에 들어간다.
실행중인 인스턴스를 체크한 후, 작업 - 보안 - IAM 역할 수정을 클릭한다.
1번 과정에서 만든 역할을 선택한 후 업데이트를 클릭한다.
3. 정책 추가
IAM 역할에서 어떠한 정책도 설정하지 않았기 때문에 따로 설정이 필요하다.
IAM메뉴에서 정책 메뉴를 클릭한 후, 정책 생성 버튼을 클릭한다.
시각적 편집기에서 다음과 같이 설정한다.
- 서비스 - S3
- 작업 - ListBucket, GetObject, PutObject를 검색하여 선택한다.
- 리소스 - 특정 을 선택한 후, bucket과 object에 각각 ARN 추가를 누른다.
- Bucket name - S3 bucket 이름 입력
- Bucket name - S3 bucket 이름 입력
- Object - * 로 모든 object 설정
추가 버튼을 누른다.
그 후 나타나는 태그는 설정하지 않은 채 다음:검토 를 누른다.
정책 이름과 설명을 적어준 후 정책 생성 버튼을 누른다.
IAM 페이지에서 정책 메뉴를 클릭한 후,
생성한 정책을 클릭한다.
정책 사용에서 연결을 클릭한다.
1번에서 생성한 IAM 역할을 클릭한다.
권한 추가 - 정책 연결을 클릭한다.
그 후 뜨는 정책 페이지에서 2번에서 생성한 정책을 선택한 후 정책 연결을 클릭한다.
<Reference>
https://kitty-geno.tistory.com/67
https://kitty-geno.tistory.com/68
https://kdevkr.github.io/ec2-instance-access-s3-bucket/
4. EC2에서 S3 연결 확인하기
Xshell을 실행하여 EC2와 연결되어 있는 ubuntu로 접속하였다.
그 후 아래의 명령어로 AWS CLI를 설치해 주었다.
sudo apt install python-setuptools python-pip -y
pip install awscli
그 후 아래의 명령어로 s3 bucket의 object list를 조회해 보았다.
aws s3 ls airplanning-bucket
그 후 test.txt file을 만들어 준 후, s3에 업로드 해보았다.
vim test.txt
aws s3 cp ./test.txt s3://airplanning-bucket/test1/
aws s3 ls airplanning-bucket/test1/
AWS페이지에서도 확인해 보았을 때 잘 업로드 된 것을 볼 수 있다.
<Reference>
https://lindarex.github.io/aws/ubuntu-aws-cli-installation/
https://kdevkr.github.io/ec2-instance-access-s3-bucket/
생각해보니, IAM 사용자를 추가하여 AWS CLI를 허용해 주었는데,
위의 과정이 중복적으로 필요한지 의문이 들었다....
<전체 Reference>
https://kitty-geno.tistory.com/67
https://kitty-geno.tistory.com/68
https://kdevkr.github.io/ec2-instance-access-s3-bucket/
'DevOps' 카테고리의 다른 글
[AWS] AWS S3 Access Key 발급 (4) | 2023.01.31 |
---|---|
[AWS] AWS S3 버킷에 이미지 업로드 (2) | 2023.01.30 |
[AWS] AWS S3 버킷 만들기 (5) | 2023.01.30 |