저장소 구성
이 지침의 일부에서는 선택적으로 ricloud-py 를 사용하여 설정을 간소화합니다. 이 기능을 사용하려면 ricloud-py 의 설치 및 구성 문서를 확인하십시오.
저장소 구성은 API에 작업 결과를 반환 할 위치를 알려줍니다. 현재 Google은 GS (Google Cloud Storage) 및 Amazon S3 (S3) 스토리지 버킷을 모두 지원합니다.
Google Cloud Storage로 저장소 설정하기
Google Cloud Platform 프로젝트 만들기
Google Cloud Platform (GCP) 계정이 없다면 가입해야합니다 . '무료로 사용해보기'(또는 '무료로 사용해보기')를 클릭하기 만하면 가입 절차가 진행됩니다.
다음으로 저장소 버킷을 보관할 프로젝트가 필요합니다. 하나는 가입시 자동으로 생성되었거나이 용도로 새롭고 별도의 프로젝트가 필요할 수 있습니다. Google 클라우드 문서 에서 프로젝트를 관리하는 방법에 대한 추가 안내를 찾을 수 있습니다.
Google Cloud Storage 버킷 만들기
이제 GCP 프로젝트가 준비되었으므로 새로운 스토리지 버킷을 만들 수 있습니다. 최소한 '지역'저장소 클래스와 'us-east1'위치 (여기에는 대부분의 리소스가있는 위치)를 사용하는 것이 좋습니다. 이 가이드에서는 버킷 이름을 ricloud-storage
로 지정 하겠지만 버킷 이름은 호스트 서비스에서 전 세계적으로 고유하므로 다른 이름을 사용해야 할 것입니다.
API에 대한 서비스 계정 만들기
버킷이 초기화 된 후에 API에 액세스 할 수 있도록 서비스 계정을 만들어야합니다. 서비스 계정은 기본적으로 프로젝트의 로봇 사용자로서 새로운 버킷에만 액세스 할 수있는 권한을 부여 할 수 있습니다. Google Cloud IAM 문서 에 설명 된 단계에 따라 서비스 계정을 설정합니다. 이름의 선택은 당신에게 달려 있지만이 가이드에서는 ricloud-sa
라고 ricloud-sa
. 서비스 계정을 만들 때 모든 선택 필드를 무시하고 이후 단계에서 사용 권한을 설정합니다.
프로세스의 마지막 단계에서 키를 작성하려면 나중에 API에 제공 할 파일이므로 안전하게 보관하십시오. 그렇지 않은 경우 다음 단계 에 따라 키를 만듭니다.
버킷 레벨 권한 설정
GCP 프로젝트의 저장 용량 섹션으로 돌아가서 Google Cloud Storage 문서 의 '버킷 레벨 정책에 회원 추가'아래의 개요에 따라 ricloud-sa
서비스 계정을 추가하십시오. 'Storage Object Creator'및 'Storage Legacy Bucket Reader'역할을 부여하십시오.
구성 만들기
이 시점에서 서비스 계정은 완전히 설정되어 있어야하며 API와 함께 사용할 준비가되어 있어야합니다.
ricloud-py를 사용하여 구성 만들기
ricloud-py를 사용하여 다음 명령을 사용하여 새 저장소 구성 자원을 만들 수 있습니다.
> ricloud storage-config create --url "<storage bucket url>" --credentials-path <path to credentials file>
여기서 storage bucket url
은 gs://ricloud-storage
이고 path to credentials file
경로는 이전에 만든 서비스 계정 키 파일의 경로입니다.
cURL을 사용하여 구성 만들기
curl -X POST \ https://ricloud-api.reincubate.com/configs/storage \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "url": "gs://ricloud-storage", "credentials": <all contents of the Service Account JSON key file> }'
Amazon S3로 스토리지 설정하기
Amazon AWS 계정 만들기
Amazon AWS 계정이 없다면 가입해야합니다 . 'Amazon S3 시작하기'를 클릭하여 설정 과정을 진행하십시오.
S3 스토리지 버킷 생성
S3의 버킷 설정을 얻으려면 AWS 문서 에서이 지침 을 따르십시오. 원하는 이름을 선택하십시오.이 안내서에서는 ricloud-storage
선택할 것입니다. API 리소스에 대한 근접성을 확인하려면 '미국 동부 (버지니아 북동부)'에 위치시키는 것이 좋습니다.
API 사용자 만들기
버킷을 사용할 준비가되면 API에서 사용할 새 버킷에 대한 사용 권한이 제한된 새 사용자를 설정해야합니다. 이 단계를 통해 IAM 콘솔을 통해 수행 됩니다. 사용자에게 ricloud-user
처럼 기억에 남는 이름을 지정하고 '프로그래밍 방식 액세스'로 설정되어 있는지 확인하십시오.
사용자에게 권한을 부여하라는 요청이있을 때 사용자의 요구에 맞는 기본 정책이 없으므로 사용자 지정 정책을 만들어야합니다. 표준 결과 게시의 경우 API에는 s3:PutObject
권한이 필요합니다.
AWS 정책 편집기에서 '기존 정책 직접 연결'을 선택하고 '정책 만들기'(새 탭을 열어야 함)를 클릭 한 다음 'JSON'탭 (JSON 정책 편집기로 전환됨)을 선택하고 다음을 붙여 넣습니다. :
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": ["arn:aws:s3:::ricloud-storage/*"] }] }
버킷 이름 ricloud-storage
를 이전 버킷 이름을 ricloud-storage
것으로 바꾸십시오. 새로운 정책을 저장하고 원하는 이름을 지정하십시오.
사용자 생성 흐름으로 돌아가서 사용자가 새 정책을 첨부했는지 확인하십시오.
사용자 생성 프로세스가 끝나면 인터페이스에 '액세스 키 ID'와 '비밀 액세스 키'가 표시되므로 안전하게 보관해야합니다. CSV 형식으로 자격 증명을 다운로드 할 수도 있습니다.
구성 만들기
이 시점에서 사용자는 완전히 설정되어 있어야하며 API와 함께 사용할 준비가되어 있어야합니다. ricloud-py를 사용하여 다음 명령을 사용하여 새 저장소 구성 자원을 만들 수 있습니다.
> ricloud storage-config create --url "<storage bucket url>" --credentials-path <path to credentials file>
이 경우 storage bucket url
은 s3://ricloud-storage
이고 path to credentials file
경로는 사용자 생성 프로세스가 끝날 때 내 보낸 자격 증명 CSV 파일의 경로이거나 사용자 자격 증명 정보가있는 JSON 파일의 경로입니다. S3 자격 증명 형식 .
동일한 cURL 호출은 다음과 같습니다.
curl -X POST \ https://ricloud-api.reincubate.com/configs/storage \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "url": "s3://ricloud-storage", "credentials": { "user_name": "ricloud-user", "access_key_id": "<user access key ID>", "secret_access_key": "<user secret access key>", } }'