Print
카테고리: [ Cloud Computing & MSA ]
조회수: 1216

개요

awscli를 활용해서 S3와 호환 가능한 오브젝트 스토리지에 접근 가능하도록 구성한다.

필요 모듈 설치

awscli와 awscli-plugin-endpoint를 설치한다. awscli는 S3 명령을, aws-cli-plugin-endpoint는 프로파일에 정의된 서비스 단위로 엔드포인트 구성을 할 수 있도록 해준다.

awscli-plugin-endpoint

$ sudo pip3 install awscli
$ sudo pip3 install awscli-plugin-endpoint
$ aws configure set plugins.endpoint awscli_plugin_endpoint

인증 정보 등록

프로파일 정보를 credentials 파일에 정의한다.

$ vim ~/.aws/credentials
[plugins]
endpoint=awscli_plugin_endpoint

[backup]
aws_access_key_id=<ACCESS_KEY_FOR_OBJECT_STORAGE1>
aws_secret_access_key=<SECRET_KEY_FOR_OBJECT_STORAGE1>
s3=
    endpoint_url=https://<OBJECT.STORAGE1.ENDPOINT>
s3api=
    endpoint_url=https://<OBJECT.STORAGE1.ENDPOINT>

[prod]
aws_access_key_id=<ACCESS_KEY_FOR_OBJECT_STORAGE2>
aws_secret_access_key=<SECRET_KEY_FOR_OBJECT_STORAGE2>
s3=
    endpoint_url=https://<OBJECT.STORAGE2.ENDPOINT>
s3api=
    endpoint_url=https://<OBJECT.STORAGE2.ENDPOINT>

[dev]
aws_access_key_id=<ACCESS_KEY_FOR_OBJECT_STORAGE3>
aws_secret_access_key=<SECRET_KEY_FOR_OBJECT_STORAGE3>
s3=
    endpoint_url=https://<OBJECT.STORAGE3.ENDPOINT>
s3api=
    endpoint_url=https://<OBJECT.STORAGE3.ENDPOINT>

CLI 사용 예

다음과 같이 프로파일을 지정하여 특정 오브젝트 스토리지에 접근할 수 있다.

$ aws s3 ls backup --profile backup
                           PRE dbms/
                           PRE gitlab/
                           PRE jenkins/
                           PRE redmine/
                           PRE was/