2022-05-18
서버에서 AWS CLI 명령어를 사용하기 전에 우선적으로 해야 하는 것이 있다. 오늘은 이와 같은 방법을 알아보자.
1. Identity and Access Management(IAM)
우선적으로 IAM의 계정 권한 중 AmazonS3 FullAccess 권한이 필요하다. S3 이외의 다른 명령어 사용 시 추가적인 권한이 필요할 수도 있으나 S3 접속만 할 거니 다른 권한은 따로 주지 않았다.
또한 서버에서 접속 및 configure 등록을 위해 액세스 키가 필요하니 보안 자격 증명에서 액세스 키를 발급받아 액세스 키와 시크릿 키를 남에게 노출되지 않도록 잘 저장해 두어야 한다.
2. S3
S3는 보통 퍼블릭 액세스가 차단되어 있기 때문에 기본적인 권한 설정을 해주어야 하는데 자신이 서버에서 접속하고자 하는 버킷의 권한에서 버킷 정책을 적어주면 된다.
{
"Version": "2012-10-17",
"Id": "Policy0000007976899",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::자신의 버킷 이름"
},
{
"Sid": "Stmt0000007974937",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::자신의 버킷 이름/*"
}
]
}
버킷의 정책은 위와 같은 형식으로 넣어주면 된다. 직접 정책을 생성하고 싶으면 아래의 링크에서 만들면 된다.
https://awspolicygen.s3.amazonaws.com/policygen.html
3. 서버 설정
자신의 리눅스 서버에서 aws configure 명령어를 치면 아래와 같은 순서로 입력하라는 스캐너 형식의 input 창이 순서대로 나타나며, Access Key ID / Secret Access Key / Default region / Default output 순서로 입력해주면 된다.
aws configure
AWS Access Key ID [None] : 접속한 계정의 Accecss Key ID
AWS Secret Access Key [None] :접속한 계정의 Secret Key
Default region name [None] : 사용중인 region EX) ap-northeast-2
Default output format [None] : json 또는 text (잘 모르겠으면 json 하면 된다.) EX) json
4. 명령어 사용
아래와 같은 작업이 모두 완료되면, 아래의 링크를 참조해 S3 작업을 수행하면 된다.
https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-services-s3-commands.html
메인 이미지 출처 : Photo by Xhulio Selenica on Unsplash