테넌트 계정 및 연결을 구성합니다
클라이언트 응용 프로그램에서 연결을 허용하도록 StorageGRID를 구성하려면 하나 이상의 테넌트 계정을 만들고 연결을 설정해야 합니다.
S3 테넌트 계정 생성 및 구성
S3 API 클라이언트가 StorageGRID에 오브젝트를 저장하고 검색할 수 있으려면 먼저 S3 테넌트 계정이 필요합니다. 각 테넌트 계정에는 고유한 계정 ID, 그룹, 사용자, 버킷 및 객체가 있습니다.
S3 테넌트 계정은 StorageGRID 그리드 관리자가 그리드 관리자 또는 그리드 관리 API를 사용하여 생성합니다. 을 참조하십시오 "테넌트 관리" 를 참조하십시오. S3 테넌트 계정이 생성된 후 테넌트 사용자는 테넌트 관리자에 액세스하여 그룹, 사용자, 액세스 키 및 버킷을 관리할 수 있습니다. 을 참조하십시오 "테넌트 계정을 사용합니다" 를 참조하십시오.
S3 테넌트 사용자는 테넌트 관리자를 사용하여 S3 액세스 키와 버킷을 생성하고 관리할 수 있지만, S3 클라이언트 애플리케이션을 사용하여 오브젝트를 수집 및 관리해야 합니다. 을 참조하십시오 "S3 REST API 사용" 를 참조하십시오. |
클라이언트 연결을 구성하는 방법
그리드 관리자는 S3 클라이언트가 StorageGRID에 연결하여 데이터를 저장 및 검색하는 방법에 영향을 주는 구성을 선택합니다. StorageGRID를 S3 애플리케이션에 연결하는 기본 단계는 4가지입니다.
-
클라이언트 응용 프로그램이 StorageGRID에 연결되는 방법에 따라 StorageGRID에서 필수 작업을 수행합니다.
-
StorageGRID를 사용하여 응용 프로그램이 그리드에 연결하는 데 필요한 값을 얻습니다. 둘 중 하나를 선택할 수 있습니다 "S3 설정 마법사를 사용합니다" 또는 각 StorageGRID 엔터티를 수동으로 구성합니다.
-
S3 애플리케이션을 사용하여 StorageGRID에 대한 연결을 완료합니다. DNS 항목을 만들어 사용하려는 도메인 이름에 IP 주소를 연결합니다.
-
애플리케이션 및 StorageGRID에서 지속적인 작업을 수행하여 시간에 따라 오브젝트 스토리지를 관리하고 모니터링합니다.
이러한 단계에 대한 자세한 내용은 을 참조하십시오 "클라이언트 연결을 구성합니다".
클라이언트 연결에 필요한 정보입니다
오브젝트를 저장하거나 검색하기 위해 S3 클라이언트 애플리케이션은 모든 관리 노드 및 게이트웨이 노드에 포함된 로드 밸런서 서비스 또는 모든 스토리지 노드에 포함된 LDR(Local Distribution Router) 서비스에 연결됩니다.
클라이언트 애플리케이션은 그리드 노드의 IP 주소와 해당 노드의 서비스 포트 번호를 사용하여 StorageGRID에 연결할 수 있습니다. 선택적으로, 로드 밸런싱 노드의 고가용성(HA) 그룹을 생성하여 가상 IP(VIP) 주소를 사용하는 고가용성 연결을 제공할 수 있습니다. IP 또는 VIP 주소 대신 FQDN(정규화된 도메인 이름)을 사용하여 StorageGRID에 연결하려는 경우 DNS 항목을 구성할 수 있습니다.
을 참조하십시오 "요약: 클라이언트 연결을 위한 IP 주소 및 포트" 를 참조하십시오.
HTTPS 또는 HTTP 연결을 사용하도록 결정합니다
로드 밸런서 끝점을 사용하여 클라이언트 연결을 만들 때는 해당 끝점에 지정된 프로토콜(HTTP 또는 HTTPS)을 사용하여 연결해야 합니다. 스토리지 노드에 대한 클라이언트 연결에 HTTP를 사용하려면 해당 사용을 설정해야 합니다.
기본적으로 클라이언트 애플리케이션이 스토리지 노드에 연결할 때는 모든 연결에 암호화된 HTTPS를 사용해야 합니다. 선택적으로 Grid Manager에서 * 구성 * > * 보안 설정 * > * 네트워크 및 개체 * > * 스토리지 노드 연결에 HTTP 사용 * 을 선택하여 보안성이 낮은 HTTP 연결을 활성화할 수 있습니다. 예를 들어, 클라이언트 애플리케이션은 비운영 환경에서 스토리지 노드에 대한 접속을 테스트할 때 HTTP를 사용할 수 있습니다.
요청 및 응답이 암호화되지 않은 상태로 전송되므로 프로덕션 그리드에 대해 HTTP를 설정할 때는 주의해야 합니다. |
S3 요청의 S3 끝점 도메인 이름
클라이언트 요청에 S3 엔드 포인트 도메인 이름을 사용하려면 StorageGRID 관리자가 S3 경로 스타일 및 S3 가상 호스팅 스타일 요청에서 S3 엔드 포인트 도메인 이름을 사용하는 연결을 허용하도록 시스템을 구성해야 합니다.
S3 가상 호스팅 스타일 요청을 사용하려면 그리드 관리자가 다음 작업을 수행해야 합니다.
-
그리드 관리자를 사용하여 StorageGRID 시스템에 S3 끝점 도메인 이름을 추가합니다.
-
클라이언트가 StorageGRID에 대한 HTTPS 연결에 사용하는 인증서가 클라이언트에 필요한 모든 도메인 이름에 서명되었는지 확인합니다.
예를 들어, S3 API 서비스 엔드포인트 도메인 엔드포인트가 인 경우
s3.company.com`그리드 관리자는 HTTPS 연결에 사용되는 인증서에 가 있는지 확인해야 합니다 `s3.company.com
제목 공통 이름 및 주제 대체 이름으로, 및*.s3.company.com
주제 대체 이름. -
"DNS 서버를 구성합니다" 클라이언트에서 필요한 와일드카드 레코드를 포함하여 S3 끝점 도메인 이름과 일치하는 DNS 레코드를 포함하는 데 사용됩니다.
클라이언트가 로드 밸런서 서비스를 사용하여 연결하는 경우 그리드 관리자가 구성하는 인증서는 클라이언트가 사용하는 로드 밸런서 끝점에 대한 인증서입니다.
각 로드 밸런서 끝점마다 자체 인증서가 있으며 각 끝점이 서로 다른 S3 끝점 도메인 이름을 인식하도록 구성할 수 있습니다. |
클라이언트가 스토리지 노드에 접속하는 경우 그리드 관리자가 구성하는 인증서는 그리드에 사용되는 단일 사용자 지정 서버 인증서입니다.
의 지침을 참조하십시오 "StorageGRID 관리" 를 참조하십시오.
이 단계를 완료한 후에는 가상 호스팅 스타일 요청을 사용할 수 있습니다.
S3 REST API 구성을 테스트합니다
AWS CLI(Amazon Web Services Command Line Interface)를 사용하여 시스템에 대한 연결을 테스트하고 시스템에 개체를 읽고 쓸 수 있는지 확인할 수 있습니다.
-
에서 AWS CLI를 다운로드하여 설치했습니다 "aws.amazon.com/cli".
-
StorageGRID 시스템에서 S3 테넌트 계정을 생성했습니다.
-
테넌트 계정에 액세스 키를 생성했습니다.
-
StorageGRID 시스템에서 생성한 계정을 사용하도록 AWS CLI 설정을 구성합니다.
-
구성 모드 시작:
aws configure
-
생성한 계정의 액세스 키 ID를 입력합니다.
-
생성한 계정의 암호 액세스 키를 입력합니다.
-
사용할 기본 영역을 입력합니다(예: us-east-1).
-
사용할 기본 출력 형식을 입력하거나 * Enter * 를 눌러 JSON을 선택합니다.
-
-
버킷을 만듭니다.
이 예에서는 IP 주소 10.96.101.17 및 포트 10443을 사용하도록 로드 밸런서 끝점을 구성했다고 가정합니다.
aws s3api --endpoint-url https://10.96.101.17:10443 --no-verify-ssl create-bucket --bucket testbucket
버킷이 성공적으로 생성되면 다음 예와 같이 버킷의 위치가 반환됩니다.
"Location": "/testbucket"
-
개체를 업로드합니다.
aws s3api --endpoint-url https://10.96.101.17:10443 --no-verify-ssl put-object --bucket testbucket --key s3.pdf --body C:\s3-test\upload\s3.pdf
객체가 성공적으로 업로드되면 객체 데이터의 해시인 Etag가 반환됩니다.
-
버킷의 내용을 나열하여 객체가 업로드되었는지 확인합니다.
aws s3api --endpoint-url https://10.96.101.17:10443 --no-verify-ssl list-objects --bucket testbucket
-
개체를 삭제합니다.
aws s3api --endpoint-url https://10.96.101.17:10443 --no-verify-ssl delete-object --bucket testbucket --key s3.pdf
-
버킷을 삭제합니다.
aws s3api --endpoint-url https://10.96.101.17:10443 --no-verify-ssl delete-bucket --bucket testbucket