Private Cloud용 Edge v. 4.17.01
조직, 환경, 가상 호스트를 동시에 만들기
Apigee Edge에서 API 프록시를 만들려면 조직을 하나 이상 만들고 각 조직 내에 하나 이상의 환경과 가상 호스트를 만들어야 합니다.
일반적으로 조직과 환경은 함께 생성됩니다. 프로세스를 간소화하려면 apigee-provision 유틸리티를 사용하세요. Edge 관리 서버의 명령줄에서 호출합니다.
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
구성 파일에는 다음이 포함됩니다.
# Set Edge sys admin credentials. ADMIN_EMAIL=your@email.com APIGEE_ADMINPW=adminPword # If omitted, you are prompted for it. NEW_USER="y" USER_NAME=orgAdmin@myCo.com FIRST_NAME=foo LAST_NAME=bar USER_PWD="userPwrod" ORG_NAME=example # lowercase only, no spaces, underscores, or periods. ENV_NAME=prod VHOST_PORT=9001 VHOST_NAME=default VHOST_ALIAS="$IP1:9001" # Optionally configure TLS/SSL for virtual host. # VHOST_SSL=y # Set to "y" to enable TLS/SSL on the virtual host. # KEYSTORE_JAR= # JAR file containing the cert and private key. # KEYSTORE_NAME= # Name of the keystore. # KEYSTORE_ALIAS= # The key alias. # KEY_PASSWORD= # The key password, if it has one. # AXGROUP=axgroup-001 # Default value is axgroup-001
그런 다음 명령어는 다음을 수행합니다.
- 조직 만들기
참고: 조직을 만든 후에는 이름을 변경할 수 없습니다. - 조직을 포드와 연결합니다. 기본적으로 '게이트웨이' 포드와 연결됩니다.
- 지정된 사용자를 조직 관리자로 추가합니다. 사용자가 없으면 새로 만들 수 있습니다.
- 하나 이상의 환경 만들기
- 환경마다 하나 이상의 가상 호스트 만들기
- 환경을 모든 메시지 프로세서와 연결
- 분석 사용 설정
전체 무음 구성 파일은 조직 온보딩을 참고하세요.
기본적으로 apigee-provision 유틸리티를 사용할 때 조직 이름과 환경 이름의 최대 길이는 20자(영문 기준)입니다. Edge API를 직접 사용하여 조직 또는 환경을 만드는 경우에는 이 제한이 적용되지 않습니다.
조직 만들기
create-org 명령어를 사용하여 조직을 만듭니다.
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision create-org -f configFile
이 스크립트는 조직을 만들지만 조직에서 API 호출을 처리하는 데 필요한 환경과 가상 호스트를 추가하거나 구성하지 않습니다.
구성 파일에는 조직 이름과 조직 관리자의 이메일 주소가 포함됩니다. 이름 속성에 사용할 수 있는 문자는 a-z0-9\-$%로 제한됩니다. 이름에 공백, 마침표 또는 대문자를 사용하지 마세요.
APIGEE_ADMINPW=adminPword # If omitted, you are prompted for it. ORG_NAME=example # lowercase only, no spaces, underscores, or periods. ORG_ADMIN=orgAdmin@myCo.com
그런 다음 명령어는 다음을 수행합니다.
- 조직을 만듭니다.
- 조직을 포드와 연결합니다. 기본적으로 '게이트웨이' 포드와 연결됩니다.
- 지정된 사용자를 조직 관리자로 추가합니다. 사용자가 이미 존재해야 합니다. 그렇지 않으면 스크립트에서 오류가 발생합니다.
<Error> <Code>organizations.OrganizationAlreadyExists</Code> <Message>Organization : test already exists</Message> <Contexts/> </Error>
API 호출을 사용하여 조직 만들기
또는 다음 API 호출을 사용하여 조직을 만들 수 있습니다. 첫 번째 호출은 조직을 만듭니다.
curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \ -X POST http://<ms-ip>:8080/v1/organizations \ -d '<Organization name="<org-name>" type="paid"/>'
다음 호출은 조직을 포드와 연결합니다.
curl -H "Content-Type:application/x-www-form-urlencoded" \ -u <sysAdminEmail>:<adminPasswd> -X POST \ http://<ms-ip>:8080/v1/organizations/<org-name>/pods \ -d "region=default&pod=gateway"
이 호출을 여러 번 실행하여 조직을 여러 포드에 연결할 수 있습니다.
마지막 호출은 기존 사용자를 조직의 조직 관리자로 추가합니다.
curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \ -X POST \ http://<ms-ip>:8080/v1/organizations/<org-name>/users/<user-email>/userroles/ \ -d '<Roles><Role name="orgadmin"/></Roles>'
사용자가 없는 경우 사용자 추가에 설명된 대로 다음 호출을 사용하여 사용자를 만들 수 있습니다.
환경 만들기
add-env 명령어를 사용하여 기존 조직에 환경을 만듭니다.
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision add-env -f configFile
이 구성 파일에는 환경 및 가상 호스트를 만드는 데 필요한 정보가 포함되어 있습니다.
APIGEE_ADMINPW=adminPword # If omitted, you are prompted for it. ORG_NAME=example # lowercase only, no spaces, underscores, or periods. ENV_NAME=prod VHOST_PORT=9001 VHOST_NAME=default VHOST_ALIAS="$IP1:9001" # Optionally configure TLS/SSL for virtual host. # VHOST_SSL=y # Set to "y" to enable TLS/SSL on the virtual host. # KEYSTORE_JAR= # JAR file containing the cert and private key. # KEYSTORE_NAME= # Name of the keystore. # KEYSTORE_ALIAS= # The key alias. # KEY_PASSWORD= # The key password, if it has one. # AXGROUP=axgroup-001 # Default value is axgroup-001
명령어:
- 환경 조성
- 환경에 단일 가상 호스트를 만듭니다.
- 환경을 포함하는 조직과 연결된 포드의 모든 메시지 프로세서와 환경을 연결합니다.
- 분석 사용 설정
참고: 조직의 한 환경에 분석을 사용 설정하면 조직의 모든 환경에 분석을 사용 설정해야 합니다.
API 호출을 사용하여 환경 만들기
또는 다음 API 호출을 사용하여 환경을 만들 수 있습니다. 첫 번째 호출은 환경을 만듭니다.
curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \ -X POST http://<ms-ip>:8080/v1/organizations/<org-name>/environments \ -d '<Environment name="<env-name>"/>'
다음 호출은 환경을 메시지 프로세서와 연결합니다. 환경과 연결하려는 각 메시지 프로세서에 대해 다음을 호출합니다.
curl -H "Content-Type:application/x-www-form-urlencoded" \ -u <sysAdminEmail>:<adminPasswd> -X POST \ http://<ms-ip>:8080/v1/organizations/<org-name>/environments/<env-name>/servers \ -d "action=add&uuid=<uuid>"
여기서 '<uuid>'는 메시지 프로세서의 UUID입니다. 다음 명령어를 사용하여 UUID를 가져올 수 있습니다.
> curl http://<mp-ip>:8082/v1/servers/self
여기서 '<mp-ip>'은 메시지 프로세서의 IP 주소입니다.
다음 API 호출은 특정 환경에 대해 애널리틱스를 사용 설정합니다. 모든 데이터 센터의 POD에 Qpid 및 Postgres 서버가 있는지 확인합니다. 그런 다음 지정된 조직 및 환경에 대한 애널리틱스 온보딩이 시작됩니다.
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision enable-ax -f configFile
이 구성 파일에는 다음이 포함됩니다.
ORG_NAME=orgName # lowercase only, no spaces, underscores, or periods. ENV_NAME=envName
curl -H "Content-Type:application/json" -u <sysAdminEmail>:<adminPasswd> -X POST http://<ms-ip>:8080/v1/organizations/<org-name>/environments/<env-name>/analytics/admin -d "@sample.json"
여기서 sample.json에는 다음이 포함되어 있습니다.
{ "properties" : { "samplingAlgo" : "reservoir_sampler", "samplingTables" : "10=ten;1=one;", "aggregationinterval" : "300000", "samplingInterval" : "300000", "useSampling" : "100", "samplingThreshold" : "100000" }, "servers" : { "postgres-server" : [ "1acff3a5-8a6a-4097-8d26-d0886853239c", "f93367f7-edc8-4d55-92c1-2fba61ccc4ab" ], "qpid-server" : [ "d3c5acf0-f88a-478e-948d-6f3094f12e3b", "74f67bf2-86b2-44b7-a3d9-41ff117475dd"] } }
postgres-servers 속성에는 Postgres UUID의 쉼표로 구분된 목록이 포함되며 qpid-server 속성에는 Qpid UUID가 포함됩니다. 이러한 UUID를 가져와야 하는 경우 다음 명령어를 사용하세요.
Qpid의 경우 다음 명령어를 실행합니다.
curl -u <sysAdminEmail>:<passwd> http://<ms-ip>/v1/servers?pod=central
이 명령어의 출력은 JSON 객체입니다. 각 Qpid 서버에는 다음과 같은 형식의 출력이 표시됩니다.
"type" : [ "qpid-server" ], "uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"
Postgres의 경우 다음 명령어를 실행합니다.
curl -u <sysAdminEmail>:<passwd> http://<ms-ip>/v1/servers?pod=analytics
각 Postgres 서버의 경우 다음과 같은 형식으로 출력이 표시됩니다.
"type" : [ "postgres-server" ], "uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"
가상 호스트 만들기
조직의 기존 환경에서 가상 호스트를 만들 수 있습니다. 환경에서 여러 가상 호스트를 지원하는 경우가 많습니다. 예를 들어 한 가상 호스트는 HTTP 프로토콜을 지원하고 동일한 환경의 다른 가상 호스트는 암호화된 HTTPS 프로토콜을 지원할 수 있습니다.
다음 API 호출을 사용하여 가상 호스트를 추가로 만들거나 가상 호스트가 없는 환경의 가상 호스트를 만듭니다.
curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \ -X POST \ http://<ms-ip>:8080/v1/organizations/<org-name>/environments/<env-name>/virtualhosts \ -d '<VirtualHost name="default"> \ <HostAliases> \ <HostAlias>myorg-test.apigee.net</HostAlias> \ </HostAliases> \ <Interfaces/> \ <Port>9002</Port> \ </VirtualHost>'
HTTPS를 통해 TLS/SSL을 사용하는 보안 가상 호스트를 만드는 등 가상 호스트 만들기에 관한 자세한 내용은 http://apigee.com/docs/api-services/content/creating-virtual-host를 참고하세요.