본문 바로가기

IT 개발자의 창고

AWS client 설치 및 사용법

지난 글에서 private-ec2에 AWS client를 설치하였다.

2022.05.04 - [IT] - AWS EC2 인스턴스 생성 및 접속

 

그럼 간단한 aws client 명령을 실행해보도록 한다.

[ec2-user@ip-10-0-136-137 ~]$ aws s3 ls --region ap-northeast-2

Unable to locate credentials. You can configure credentials by running "aws configure". 

해당 명령은 ap-northeast-2 VPC 내의 s3에 대한 목록을 조회하는 명령어이다. 그러나, S3에 대한 접근 권한이 없어서 해당 명령을 수행할 수가 없다.

참고로 S3는 AWS 내에 데이터를 저장할 수 있는 Storage라고 이해하면 된다. 

 

먼저 S3에 대한 접근 권한을 생성하는 작업을 진행한다. 이 역할을 하는 것이 IAM 이라는 서비스이며, IAM은 AWS 리소스에 대한 접근권한을 관리하는 역할을 수행한다.

IAM 액세스 관리 메뉴 중 "역할 만들기"를 통하여, EC2에서 S3에 대한 모든 접근권한을 가질 수 있는 역할을 생성한다.

 

신뢰할 수 있는 엔티디 선택

먼저 AWS 서비스 중 EC2가 작업을 수행하도록 허용한다. (우리는 private-ec2에서 해당 접근권한을 실행할 수 있게 부여할 예정이다.)

 

s3에 대한 모든 접근권한을 추가한다.

AmazoneS3FullAccess는 Amazon S3에 대한 모든 bucket에 대한 생성, 삭제, 조회 등의 모든 권한을 부여한다.

 

역할의 이름을 s3_fullaccess로 지정한다.

마지막으로 EC2가 S3에 대한 모든 접근권한을 부여하는 역할의 이름을 s3_fullaccess로 지정하여 최종 생성한다.

 

이제 실질적으로 이 역할을 private-ec2에 설정하는 과정을 진행해보자

 

private-ec2에서 작업 -> 보안 -> IAM 역할 수정 메뉴로 접속하여, 우리가 생성한 s3_fullaccesss 역할을 부여한다.

private-ec2의 IAM 역할에 s3_fullaccess 역할을 부여한다.

 

다시 aws client 명령을 통해 S3 리스트를 조회하는 명령을 실행해보도록 한다.

[ec2-user@ip-10-0-136-137 ~]$ aws s3 ls --region ap-northeast-2
[ec2-user@ip-10-0-136-137 ~]$

아직 S3 bucket을 생성한 것이 없어 아무것도 출력되지 않는다.

하지만, 기존의 접근권한 인증과 관련된 에러는 발생하지 않는 것을 확인할 수 있다.

 

좀 더 확실하게 확인하기 위해 S3 bucket을 생성해 보도록 하겠다.

데이터 (사진, 동영상, 문서 등)의 객체를 보관할 수 있는 저장소를 bucket 이라고 한다. Amazon S3는 이러한 bucket들을 관리하는 역할을 한다.

 

ap-northeast-2 리젼 내에 버킷 이름만 중복되지 않게 설정하고 나머지는 default로 생성한다.

S3 bucket을 생성한다.

다시 aws client 명령을 통해 S3 리스트를 조회하는 명령을 실행해보도록 한다.

[ec2-user@ip-10-0-136-137 ~]$ aws s3 ls --region ap-northeast-2
2022-04-27 07:46:14 s3-bucket-check1
[ec2-user@ip-10-0-136-137 ~]$

조금 전 생성한 s3-bucket-check1이 조회되는 것을 확인할 수 있다.