[AWS S3] 리눅스 서버에 AWS Configure 등록후 S3 접속[S3, CLI]

2022-05-18


Photo by Xhulio Selenica on Unsplash

서버에서 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

 

AWS Policy Generator

Click below to edit. To save the policy, copy the text below to a text editor. Changes made below will not be reflected in the policy generator tool.

awspolicygen.s3.amazonaws.com


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

 

AWS CLI에서 상위 수준(s3) 명령 사용 - AWS Command Line Interface

PowerShell을 사용하는 경우 셸은 CRLF의 인코딩을 변경하거나, 파이프 입력이나 출력 또는 리디렉션된 출력에 CRLF를 추가할 수 있습니다.

docs.aws.amazon.com


메인 이미지 출처 : Photo by Xhulio Selenica on Unsplash