개요
awscli를 활용해서 S3와 호환 가능한 오브젝트 스토리지에 접근 가능하도록 구성한다.
필요 모듈 설치
awscli와 awscli-plugin-endpoint를 설치한다. awscli는 S3 명령을, aws-cli-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/