์ด ์น์ ์์๋ ํ์ด๋ธ๋ฆฌ๋ ๊ด๋ฆฌ ์์ญ๊ณผ ๋ฐํ์ ์์ญ์ MART ์๋น์ค ์ฌ์ด์ ํต์ ์ ์ํด Apigee Connect๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
์๊ฐ
Apigee Connect๋ฅผ ์ฌ์ฉํ๋ฉด ์ธํฐ๋ท์ MART ์๋ํฌ์ธํธ๋ฅผ ๋ ธ์ถํ ํ์ ์์ด Apigee Hybrid ๊ด๋ฆฌ ์์ญ์ ๋ฐํ์ ์์ญ์ MART ์๋น์ค์ ์์ ํ๊ฒ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. Apigee Connect๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ํธ์คํธ ๋ณ์นญ ๋ฐ ์น์ธ๋ DNS ์ธ์ฆ์๋ก MART ์ธ๊ทธ๋ ์ค ๊ฒ์ดํธ์จ์ด๋ฅผ ๊ตฌ์ฑํ ํ์๊ฐ ์์ต๋๋ค.
๊ธฐ๋ณธ ์๊ฑด
Apigee Hybrid 1.2.0 ์ด์
ํ์ด๋ธ๋ฆฌ๋ ๋ฐํ์์ Apigee Connect ์ถ๊ฐ
Apigee Connect๋ Apigee Hybrid ๋ฒ์ 1.3.0 ์ด์์ ์๋ก ์ค์นํ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ ์ค์ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ด ๋จ๊ณ๋ ์ด์ ๋ฒ์ ์์ ์ ๊ทธ๋ ์ด๋ํ๋ ๊ฒฝ์ฐ์๋ง ํ์ํ ์ ์์ต๋๋ค.
Apigee Connect๊ฐ ๊ตฌ์ฑ๋์๊ณ ์ฌ์ฉ ์ค์ ๋์์ผ๋ฉด MART ์ธ๊ทธ๋ ์ค๊ฐ ๋ฌด์๋ฉ๋๋ค. ๊ด๋ฆฌ ์์ญ์ Apigee Connect๋ฅผ ์ฌ์ฉํด์๋ง MART์ ์ฐ๊ฒฐ๋ฉ๋๋ค. ํ์ด๋ธ๋ฆฌ๋ ๋ฐํ์ ์์ญ ๊ฐ์ ๋ชจ๋ MART ํธ๋ํฝ์ ์์ ํ Apigee Connect ์ฐ๊ฒฐ์ ํตํด ์ ๋ฌ๋ฉ๋๋ค.
Apigee Hybrid์์ Apigee Connect๋ฅผ ์ฌ์ฉ ์ค์ ํ๊ณ ์ฌ์ฉํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
- Google Cloud API ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ Apigee Connect API๋ฅผ ์ฌ์ฉ ์ค์ ํฉ๋๋ค. Google Cloud(GCP) Console์์ ๋๋
gcloud
๋ฅผ ์ฌ์ฉํ์ฌ API๋ฅผ ์ฌ์ฉ ์ค์ ํ ์ ์์ต๋๋ค. Google Cloud ์ฝ์์์ API ์ฌ์ฉ ์ค์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ 3๋จ๊ณ: API ์ฌ์ฉ ์ค์ ์ ์ฐธ์กฐํ์ธ์.gcloud
๋ฅผ ์ฌ์ฉํด์ API๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.- gcloud์์ ํ์ฌ ํ๋ก์ ํธ๋ฅผ Apigee๊ฐ ์ฌ์ฉ ์ค์ ๋์๊ณ Apigee ์กฐ์ง์ด ํ๋ก๋น์ ๋๋ ๋์ผํ GCP ํ๋ก์ ํธ๋ก ์ค์ ํฉ๋๋ค.
$ gcloud config set project YOUR_GCP_PROJECT_ID
์ฌ๊ธฐ์
YOUR_GCP_PROJECT_ID
๋ ํ๋ก์ ํธ ID์ ๋๋ค. - Apigee Connect API๊ฐ ์ด๋ฏธ ์ฌ์ฉ ์ค์ ๋์๋์ง ํ์ธํฉ๋๋ค.
gcloud services list
NAME TITLE apigee.googleapis.com Apigee API apigeeconnect.googleapis.com Apigee Connect API bigquery.googleapis.com BigQuery API ...
- ๊ฒฐ๊ณผ์
apigeeconnect.googleapis.com
์ด ์์ผ๋ฉด API๋ฅผ ์ฌ์ฉ ์ค์ ํฉ๋๋ค.$ gcloud services enable apigeeconnect.googleapis.com
- gcloud์์ ํ์ฌ ํ๋ก์ ํธ๋ฅผ Apigee๊ฐ ์ฌ์ฉ ์ค์ ๋์๊ณ Apigee ์กฐ์ง์ด ํ๋ก๋น์ ๋๋ ๋์ผํ GCP ํ๋ก์ ํธ๋ก ์ค์ ํฉ๋๋ค.
- Apigee Hybrid ์ค์น ์๋ด์ ์๋น์ค ๊ณ์ ๋ง๋ค๊ธฐ ๋จ๊ณ์์ ๋ง๋ MART ์๋น์ค ๊ณ์ ์ Apigee Connect ์์ด์ ํธ ์ญํ ์ ์ถ๊ฐํฉ๋๋ค.
- ํ์ํ ๊ฒฝ์ฐ MART ์๋น์ค ๊ณ์ ์ ์ด๋ฉ์ผ ์ฃผ์๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
gcloud iam service-accounts list
NAME EMAIL DISABLED apigee-mart apigee-mart@hybrid-example.iam.gserviceaccount.com False ...
- MART ์๋น์ค ๊ณ์ ์ ์ด๋ฏธ ์ญํ ์ด ํ ๋น๋์๋์ง ํ์ธํฉ๋๋ค.
gcloud projects get-iam-policy YOUR_GCP_PROJECT_ID
... - members: - serviceAccount:apigee-mart@hybrid-example.iam.gserviceaccount.com role: roles/apigeeconnect.Agent ...
- ๊ฒฐ๊ณผ์
role: roles/apigeeconnect.Agent
๊ฐ ์์ผ๋ฉด ์ญํ ์ ํ ๋นํฉ๋๋ค.gcloud projects add-iam-policy-binding YOUR_GCP_PROJECT_ID \ --member serviceAccount:YOUR_MART_SERVICE_ACCOUNT_EMAIL --role roles/apigeeconnect.Agent
์ฌ๊ธฐ์์
YOUR_GCP_PROJECT_ID
๋ GCP ํ๋ก์ ํธ์ ID์ด๊ณYOUR_MART_SERVICE_ACCOUNT_EMAIL
์ MART ์๋น์ค ๊ณ์ ์ด๋ฉ์ผ ์ฃผ์์ ๋๋ค.
Apigee Connect ์์ด์ ํธ ์ญํ ์ ์ฌ์ ์ ์๋์ด ์์ผ๋ฉฐ ๋ค์ ๊ถํ์ด ํ ๋น๋ฉ๋๋ค.
๊ถํ ์ค๋ช apigeeconnect.endpoints.connect
Apigee Connect ์์ด์ ํธ๋ฅผ ์ค์ ํ ์ ์๋ ๊ถํ์ ๋๋ค. GCP Console ๋๋ API๋ฅผ ํตํ ์ก์ธ์ค ๊ถํ ๋ถ์ฌ ํ ๋น์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ค์์ ์ฐธ์กฐํ์ธ์.
- ํ์ํ ๊ฒฝ์ฐ MART ์๋น์ค ๊ณ์ ์ ์ด๋ฉ์ผ ์ฃผ์๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
- ์๋น์ค ๊ณ์ ๋ง๋ค๊ธฐ์ ์ค๋ช
๋ ๋๋ก MART ์๋น์ค ๊ณ์ ์ ํค ํ์ผ์ด
hybrid_files/service_accounts
๋๋ ํฐ๋ฆฌ์ ์๋์ง ํ์ธํฉ๋๋ค. - ์ฌ์ ์ ํ์ผ์ ์ฝ๋๋ค.
connectAgent:enabled
์์ฑ์ด true๋ก ์ค์ ๋์ง ์์๊ฑฐ๋ ๋๋ฝ๋์์ผ๋ฉด ๋ค์ ์คํ ์๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ ๋ฐ์ดํธํฉ๋๋ค.Apigee Connect ์คํ ์๋ ์ฆ์ k8sCluster ์คํ ์๋ฅผ ๋ฐ๋ผ์ผ ํฉ๋๋ค.
์ด ๊ตฌ์ฑ์์๋ ๋ค์ด๋ก๋๋ ์๋น์ค ๊ณ์ ํค์ ๋ํ ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค. ํค๋ Apigee Connect ์์ด์ ํธ ์ญํ ์ด ์๋ ์๋น์ค ๊ณ์ ์ ์ฌ์ฉ๋์ด์ผ ํฉ๋๋ค.
# Apigee Connect Agent connectAgent: enabled: true serviceAccountPath: ./service-accounts/MART_SA_KEYFILE.json
# Apigee Connect Agent connectAgent: enabled: true replicaCountMin: 3 serviceAccountPath: ./service-accounts/connect_agent_sa_key.json
- ์กฐ์ง์ Apigee Connect ๊ธฐ๋ฅ์ ์ฌ์ฉ ์ค์ ํฉ๋๋ค. ๊ธฐ๋ฅ ์ด๋ฆ์
features.mart.connect.enabled
์ ๋๋ค.- ๋๊ธฐํ ๋ด๋น์ ์ก์ธ์ค ์ฌ์ฉ ์ค์ ์น์
์ ์ค๋ช
๋ ๋๋ก Apigee Hybrid๋ฅผ ์ฒ์ ์ค์นํ ๋ ์ฌ์ฉํ Apigee ์กฐ์ง ๊ด๋ฆฌ์ ์ญํ ์ด ์๋ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ฐพ์ต๋๋ค. ์ด๊ฒ์
apigee-org-admin ์๋น์ค ๊ณ์ ์ ๋๋ค. ์๋ ์ค๋ช ๋ ๋๋ก API ํธ์ถ์ ์ํํ๋ ๋ฐ ํ์ํ ํ ํฐ์ ์์ฑํ๋ ค๋ฉด ์ด ํค๊ฐ ํ์ํฉ๋๋ค. - ๋ค์ ๋ ๋ช
๋ น์ด๋ฅผ ์คํํ์ฌ ํ ํฐ์ ๊ฐ์ ธ์ต๋๋ค.
export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file $ export TOKEN=$(gcloud auth application-default print-access-token)
์ฌ๊ธฐ์ org-admin-service-account-file์ ์์คํ ์์ Apigee ์กฐ์ง ๊ด๋ฆฌ์ ์ญํ ์ด ์๋ ์๋น์ค ๊ณ์ ํค์ ๋ํ ๊ฒฝ๋ก์ ๋๋ค.
- Apigee Connect๊ฐ ์ด๋ฏธ ์ฌ์ฉ ์ค์ ๋์๋์ง ํ์ธํฉ๋๋ค.
curl https://apigee.googleapis.com/v1/organizations/your_org_name \ -H "Authorization: Bearer $TOKEN"
๊ฒฐ๊ณผ๋ฅผ ํ์ธํฉ๋๋ค.
"properties": { "property": [ { "name": "features.mart.connect.enabled", "value": "true" }, { "name": "features.hybrid.enabled", "value": "true" } ] },
- ๊ฒฐ๊ณผ์
true
๋ก ์ค์ ๋features..mart.connect.enabled
๊ฐ ์์ผ๋ฉด ๋ค์ Apigee API๋ฅผ ํธ์ถํ์ฌ ์กฐ์ง์ Apigee Connect๋ฅผ ์ฌ์ฉ ์ค์ ํฉ๋๋ค.curl -v -X PUT \ https://apigee.googleapis.com/v1/organizations/your_org_name \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ -d '{ "name" : "your_org_name", "properties" : { "property" : [ { "name" : "features.hybrid.enabled", "value" : "true" }, { "name" : "features.mart.connect.enabled", "value" : "true" } ] } }'
- ๋๊ธฐํ ๋ด๋น์ ์ก์ธ์ค ์ฌ์ฉ ์ค์ ์น์
์ ์ค๋ช
๋ ๋๋ก Apigee Hybrid๋ฅผ ์ฒ์ ์ค์นํ ๋ ์ฌ์ฉํ Apigee ์กฐ์ง ๊ด๋ฆฌ์ ์ญํ ์ด ์๋ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ฐพ์ต๋๋ค. ์ด๊ฒ์
- ํด๋ฌ์คํฐ์์ Apigee Connect ์์ด์ ํธ๋ฅผ ์์ํฉ๋๋ค.
์ ๋จ๊ณ ์ค์์ ํญ๋ชฉ์ ๋ณ๊ฒฝํ ๊ฒฝ์ฐ์๋ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด์ Apigee Connect ์์ด์ ํธ๋ฅผ ์์ํฉ๋๋ค.
$APIGEECTL_HOME/apigeectl apply -f your_overrides_file.yaml --org
- Apigee Connect ์์ด์ ํธ ๋ก๊ทธ๋ฅผ ํ์ธํฉ๋๋ค. ๋ณด๊ณ ๋ ์ค๋ฅ๊ฐ ์์ผ๋ฉด ์
๊ทธ๋ ์ด๋๊ฐ ์ฑ๊ณตํฉ๋๋ค.
kubectl logs -n namespace apigee-connect-agent-pod-name
Apigee Connect ์์ด์ ํธ์์ ๋ค์ ๋ก๊ทธ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ๋ณด๊ณ ํฉ๋๋ค.
๊ฐ์ฌ ๋ก๊ทธ ์นดํ ๊ณ ๋ฆฌ ์์ DATA_READ ConnectionService.ListConnections
DATA_WRITE Tether.Egress
- ์ค์น๋ฅผ ํ ์คํธํฉ๋๋ค.
mart: hostAlias: "mart.apigee-hybrid-docs.net" # ignored when Apigee Connect is enabled. serviceAccountPath: ./service-accounts/example-project-apigee-mart.json sslCertPath: ./certs/fullchain.pem # ignored when Apigee Connect is enabled. sslKeyPath: ./certs/privkey.key # ignored when Apigee Connect is enabled.
์ด ์ ๊ทธ๋ ์ด๋๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ด๋ธ๋ฆฌ๋ ๋ฐํ์ ์์ญ์ด Apigee Connect๋ฅผ ํตํด ๊ด๋ฆฌ ์์ญ๊ณผ ํต์ ํฉ๋๋ค.
์ฐธ์กฐ: Apigee Connect ์ ๊ฑฐ
์ค์น ํ ์คํธ
- Apigee Hybrid UI๋ฅผ ์ฝ๋๋ค.
- ์ด์ ์ ๋ง๋ ๊ฐ๋ฐ์ ๋ฐ ๊ฐ๋ฐ์ ์ฑ์ด UI์ ์๋์ง ํ์ธํฉ๋๋ค. ์ด๋ฌํ ํญ๋ชฉ์ MART ์๋ฒ์์ ์ฟผ๋ฆฌ๋์๊ธฐ ๋๋ฌธ์ ๊ด๋ฆฌ ์์ญ๊ณผ ๋ฐํ์ ์์ญ ๊ฐ ํต์ ์ด ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ์๋ง ์ ๊ณต๋ฉ๋๋ค.
- ์์ฒญ์ด MART ์ธ๊ทธ๋ ์ค๊ฐ ์๋๋ผ Apigee Connect๋ฅผ ํต๊ณผํ๋์ง ํ์ธํ๋ ค๋ฉด MART ์๋ฒ ๋ก๊ทธ๋ฅผ ํ์ธํฉ๋๋ค.
apigee-connect-agent-1.0
์ด๋ผ๋ Apigee Connect ์์ด์ ํธ์ ๋ํ ํญ๋ชฉ์ด ํ์๋ฉ๋๋ค.kubectl logs -n apigee apigee-mart-orgname-rc101-q72tl --org | grep connect
์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
"2020-07-31 04:59:52,321 org: env: target: action: context-id: mode: pool-1-thread-1 INFO. gserviceaccount.com 1576040392317 /v1/organizations/apigee-connect-hybrid-prod/developers/ count=100&expand=true&startKey=4ee9e8f7-12b2-4cde-bf10-32d991469876 200 GET apigee-connect -hybrid-prod 10.40.11.3 10.40.0.5 apigee-connect-agent-1.0 null"
- ์น์ธ ํ ํฐ์ ์๋ก๊ณ ์นจํฉ๋๋ค.
export TOKEN=$(gcloud auth application-default print-access-token)
- Apigee API๋ฅผ ํธ์ถํ์ฌ
apigee-mart
์๋ํฌ์ธํธ์ ์ฌ์ฉ ๊ฐ๋ฅํ ์คํธ๋ฆฌ๋ฐ ์ฐ๊ฒฐ์ ํ์ธํฉ๋๋ค.curl -s https://apigeeconnect.googleapis.com/v1/projects/YOUR_GCP_PROJECT_ID/endpoints/apigee_mart/connections \ -H "Authorization: Bearer $TOKEN"
{ "connections": [ { "endpoint": "projects/865098068308/endpoints/apigee_mart", "cluster": { "name": "apigee-connect-test-cluster2", "region": "australia-southeast1" }, "streamCount": 4 }, { "endpoint": "projects/865098068308/endpoints/apigee_mart", "cluster": { "name": "apigee-connect-test-cluster", "region": "us-central1" }, "streamCount": 2 } ] }
- Apigee Connect ์์ด์ ํธ ๋ก๊ทธ๋ฅผ ํ์ธํฉ๋๋ค.
kubectl logs -n namespace apigee-connect-agent-YOUR_GCP_PROJECT_ID-<....>
๋ค์ ๋ก๊ทธ๋ Apigee Connect ์์ด์ ํธ๊ฐ ์์๋์๊ณ ์ฌ๋ฐ๋ฅด๊ฒ ํต์ ํ๊ณ ์์์ ๋ํ๋ ๋๋ค.
I0719 11.66:10.765526 2314949 main.go:47] Agent's flag values below I0719 11.66:10.765928 2314949 main.go:50] "alsologtostderr" : false I0719 11.66:10.765940 2314949 main.go:50] "cluster_name" : testABC I0719 11.66:10.765947 2314949 main.go:50] "cluster_region" : us-west2 I0719 11.66:10.765953 2314949 main.go:50] "cpu_profile_enabled" : false I0719 11.66:10.765959 2314949 main.go:50] "http_client_timeout" : 2m0s I0719 11.66:10.765966 2314949 main.go:50] "http_port" : 7070 I0719 11.66:10.765972 2314949 main.go:50] "http_server" : false I0719 11.66:10.765978 2314949 main.go:50] "insecure_ssl" : false I0719 11.66:10.765984 2314949 main.go:50] "local_cert" : I0719 11.66:10.765990 2314949 main.go:50] "log_backtrace_at" : :0 I0719 11.66:10.766001 2314949 main.go:50] "log_dir" : I0719 11.66:10.766007 2314949 main.go:50] "logtostderr" : true I0719 11.66:10.766012 2314949 main.go:50] "mem_profile_enabled" : false I0719 11.66:10.766018 2314949 main.go:50] "project" : projects/apigee-connect-hybrid-prod I0719 11.66:10.766025 2314949 main.go:50] "resource_id" : I0719 11.66:10.766031 2314949 main.go:50] "server_addr" : apigeeconnect.googleapis.com:443 I0719 11.66:10.766036 2314949 main.go:50] "server_cert" : ./server.crt I0719 11.66:10.766042 2314949 main.go:50] "server_key" : ./server.key I0719 11.66:10.766047 2314949 main.go:50] "stderrthreshold" : 2 I0719 11.66:10.766054 2314949 main.go:50] "target_server" : http://127.0.0.1/ I0719 11.66:10.766059 2314949 main.go:50] "tether_endpoint" : APIGEE_MART I0719 11.66:10.766065 2314949 main.go:50] "v" : 0 I0719 11.66:10.766072 2314949 main.go:50] "vmodule" : I0719 11.66:10.845441 2314949 agent.go:400] successfully initiated http client I0719 11.66:10.845772 2314949 agent.go:728] starting metrics http server at ":7070" I0719 11.66:11.231.69 2314949 agent.go:245] listening on tether 6407043920806543360 I0719 11.68:11.346544 2314949 agent.go:245] listening on tether 2101602677040349184 I0719 12:00:11.461084 2314949 agent.go:245] listening on tether 9109203697228840960 I0719 12:02:11.683743 2314949 agent.go:245] listening on tether 8978599308035096576 I0719 12:02:40.325633 2314949 agent.go:255] tether id 6407043920806543360 is closed ...
- ํ์ด๋ธ๋ฆฌ๋ UI์์ API ์ ํ, ๊ฐ๋ฐ์, ๊ฐ๋ฐ์ ์ฑ์ ๋ง๋ญ๋๋ค. ๊ทธ๋ฐ ํ ํ๋ก์์ ๋ํด API ํธ์ถ์ ์ํํฉ๋๋ค.
์์ฒญ์ ์ฒ๋ฆฌํ๋ ๋์ ์์ฑ๋ Connect ์์ด์ ํธ ๋ก๊ทธ๋ ์ํ ๋๋ ์ค๋ฅ๋ฅผ ํ์ธํ๋๋ฐ ๋์์ด ๋ฉ๋๋ค.
kubectl logs -n namespace apigee-connect-agent-YOUR_GCP_PROJECT_ID-<....>
INFO: 2020/04/13 03:29:08 "961ff385-600a-427a-8864-ba066ff42330": received response from target "apigee-mart-apigee-connect-hybrid-prod.apigee.svc.cluster.local:8843", status code: 200 INFO: 2020/04/13 03:29:08 Attempting to send response 961ff385-600a-427a-8864-ba066ff42330 on tether 16734438331890270208 INFO: 2020/04/13 03:29:09 "e2fc0492-6e78-4c58-972b-7de8258b9e86": received response from target "apigee-mart-apigee-connect-hybrid-prod.apigee.svc.cluster.local:8843", status code: 200 INFO: 2020/04/13 03:29:09 Attempting to send response e2fc0492-6e78-4c58-972b-7de8258b9e86 on tether 12483040283652521984 INFO: 2020/04/13 03:29:10 "1ab3023b-b763-4b91-bf4f-ca8c02f62e50": received response from target "apigee-mart-apigee-connect-hybrid-prod.apigee.svc.cluster.local:8843", status code: 200 INFO: 2020/04/13 03:29:10 Attempting to send response 1ab3023b-b763-4b91-bf4f-ca8c02f62e50 on tether 12483040283652521984 INFO: 2020/04/13 03:29:12 "1fa3e3c3-a36e-4ff1-b2d3-5cf14f2f8fdd": received response from target "apigee-mart-apigee-connect-hybrid-prod.apigee.svc.cluster.local:8843", status code: 200 INFO: 2020/04/13 03:29:12 Attempting to send response 1fa3e3c3-a36e-4ff1-b2d3-5cf14f2f8fdd on tether 16734438331890270208 INFO: 2020/04/13 03:29:13 "09b7ef9d-f53d-466a-a174-e88fc7e5286d": received response from target "apigee-mart-apigee-connect-hybrid-prod.apigee.svc.cluster.local:8843", status code: 200 INFO: 2020/04/13 03:29:13 Attempting to send response 09b7ef9d-f53d-466a-a174-e88fc7e5286d on tether 16734438331890270208 INFO: 2020/04/13 03:29:14 "c2ce8b73-8faf-4a05-88d9-24fb2bf45552": received response from target "apigee-mart-apigee-connect-hybrid-prod.apigee.svc.cluster.local:8843", status code: 200 INFO: 2020/04/13 03:29:14 Attempting to send response c2ce8b73-8faf-4a05-88d9-24fb2bf45552 on tether 12483040283652521984 INFO: 2020/04/13 03:29:15 "fdc3bac5-2b83-4b57-a28d-d8b455dae71e": received response from target "apigee-mart-apigee-connect-hybrid-prod.apigee.svc.cluster.local:8843", status code: 200 INFO: 2020/04/13 03:29:15 Attempting to send response fdc3bac5-2b83-4b57-a28d-d8b455dae71e on tether 12483040283652521984 INFO: 2020/04/13 03:29:16 "260026a9-f578-4447-a1d2-d8e49cf181d8": received response from target "apigee-mart-apigee-connect-hybrid-prod.apigee.svc.cluster.local:8843", status code: 200 INFO: 2020/04/13 03:29:16 Attempting to send response 260026a9-f578-4447-a1d2-d8e49cf181d8 on tether 12483040283652521984 INFO: 2020/04/13 03:29:17 "bf3d74a1-94ae-4041-892f-56f1ed9c9cff": received response from target "apigee-mart-apigee-connect-hybrid-prod.apigee.svc.cluster.local:8843", status code: 200 INFO: 2020/04/13 03:29:17 Attempting to send response bf3d74a1-94ae-4041-892f-56f1ed9c9cff on tether 16734438331890270208 INFO: 2020/04/13 03:29:18 "6d017278-3b7a-40fb-9c63-7c34320e7df1": received response from target "apigee-mart-apigee-connect-hybrid-prod.apigee.svc.cluster.local:8843", status code: 200
IAM ๊ถํ ๊ฑฐ๋ถ ์ค๋ฅ๋ก ์ธํด ์์ด์ ํธ๊ฐ ์ถฉ๋ํ๊ณ Connect ์์ด์ ํธ ์ค๋ฅ๋ก ์์ฑ๋ ๋ก๊ทธ:
F0719 12:34:33.128565 2326128 tether.go:29] failed to register stream with Apigee Connect, got 'PermissionDenied': rpc error: code = PermissionDenied desc = Permission denied on resource '// apigeeconnect.googleapis.com/projects/apigee-connect-hybrid-prod/endpoints/APIGEE_MART' (or it may not exist).
F0719 12:34:33.128565 2326128 tether.go:29] failed to register stream with Apigee Connect, got 'PermissionDenied': rpc error: code = PermissionDenied desc = Permission denied on resource pro ject apigee-connect-hybrid-prod.
Apigee Connect ์ญ์
Apigee Connect ๋ฐฐํฌ๋ฅผ ์ญ์ ํ ๊ฒฝ์ฐ pod ์ํ๋ ์ต๋ 7๋ถ ๋์ '์ข ๋ฃ ์ค' ์ํ๋ก ์ ์ง๋ ์ ์์ต๋๋ค. ์ด ์๊ฐ์ ์์ ๊ฐ์ ๋๋ค. Apigee Connect ์์ด์ ํธ๋ ์ฐ๊ฒฐ์ ๊ฐ์๊ธฐ ์ค์งํ๋ ๋์ ๊ธฐ์กด ์ฐ๊ฒฐ์ด ์ข ๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค. ์ด๋ฌํ ์ง์ฐ ์๊ฐ์ ์งํ ์ค์ธ ์์ฒญ์ด ์์ค๋์ง ์๋๋ก ๋ณด์ฅํฉ๋๋ค.