Apigee ๋ฐ Apigee Hybrid ํ”Œ๋ ˆ์ด๋ถ ์†Œ๊ฐœ

Apigee ๋ฐ Apigee Hybrid ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค.
Apigee Edge ๋ฌธ์„œ ๋ณด๊ธฐ

๋ฌธ์ œ ํ•ด๊ฒฐ์€ ์˜ˆ์ˆ ์ด์ž ๊ณผํ•™์ž…๋‹ˆ๋‹ค. Apigee ๊ธฐ์ˆ  ์ง€์›ํŒ€์€ ์ด๋Ÿฌํ•œ ์˜ˆ์ˆ ์ ์ธ ๊ณผ์ •์˜ ๋น„๋ฐ€์„ ํŒŒํ—ค์น˜๊ณ  ๋ฌธ์ œ๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๋Š” ๊ณผ์ • ์ด๋ฉด์˜ ๊ณผํ•™์ ์ธ ์š”์†Œ๋“ค์„ ๋“œ๋Ÿฌ๋‚ด๊ธฐ ์œ„ํ•ด ์ง€๊ธˆ๊นŒ์ง€ ์ง€์†์ ์œผ๋กœ ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”Œ๋ ˆ์ด๋ถ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

Apigee ๊ธฐ์ˆ  ์ง€์›ํŒ€๊ณผ์˜ ํ˜‘๋ ฅ์— ๋”ฐ๋ผ ๊ฐœ๋ฐœ๋œ Apigee ๋ฌธ์ œ ํ•ด๊ฒฐ ํ”Œ๋ ˆ์ด๋ถ์€ Apigee ์ œํ’ˆ์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜ ๋˜๋Š” ๊ธฐํƒ€ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋น ๋ฅด๊ณ  ํšจ๊ณผ์ ์ธ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋„๋ก ๋””์ž์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋Œ€์ƒ

๋ฌธ์ œ ํ•ด๊ฒฐ ํ”Œ๋ ˆ์ด๋ถ์€ Apigee ๋ฐ ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ ์ดํ•ด ์ˆ˜์ค€์ด ๋†’์€ ๋…์ž์™€ ์ •์ฑ… ๋ฐ ๋ถ„์„๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ ๊ฐœ๋…์„ ์ดํ•ดํ•˜๊ณ  ์žˆ๋Š” ๋…์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ถ€ ๋ฌธ์ œ๋Š” Apigee Hybrid ์‚ฌ์šฉ์ž๋งŒ ์ง„๋‹จ ๋ฐ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๊ณ , Cassandra ๋ฐ Postgres Datastore, ๋ฉ”์‹œ์ง€ ํ”„๋กœ์„ธ์„œ, ๋ผ์šฐํ„ฐ ๋“ฑ์˜ ๋‚ด๋ถ€ ๊ตฌ์„ฑ์š”์†Œ์— ๋Œ€ํ•œ ์ง€์‹์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Apigee๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํ‘œ์‹œ๋œ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ๋ฐ ์ง€์›์„ ๋ฐ›๊ธฐ ์œ„ํ•ด Google Cloud Customer Care์— ์—ฐ๋ฝํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ช…ํ™•ํ•˜๊ฒŒ ํ‘œ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”Œ๋ ˆ์ด๋ถ

์ด ์„น์…˜์—์„œ๋Š” ํ˜„์žฌ ํ”Œ๋ ˆ์ด๋ถ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์ด ํ‘œ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๋ ค๋ฉด ์นดํ…Œ๊ณ ๋ฆฌ ์„ ํƒ, ์ œํ’ˆ ์„ ํƒ, ๊ฒ€์ƒ‰์–ด ์ž…๋ ฅ ๋˜๋Š” ์—ด ์ œ๋ชฉ์„ ํด๋ฆญํ•˜์—ฌ ์ •๋ ฌ ์ค‘์—์„œ ํ•˜๋‚˜ ์ด์ƒ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์นดํ…Œ๊ณ ๋ฆฌ ํ”Œ๋ ˆ์ด๋ถ/๋ฌธ์ œ ์„ค๋ช… ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ํ”Œ๋ ˆ์ด๋ถ ์ ์šฉ ๋Œ€์ƒ
Cassandra Cassandra TLS ์ธ์ฆ์„œ ํ™•์ธ ์‹คํŒจ ํด๋Ÿฌ์Šคํ„ฐ ๊ฐ„์— Apigee CA ์ธ์ฆ์„œ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด Cassandra์˜ TLS ์ธ์ฆ์„œ ํ™•์ธ์— ์‹คํŒจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Apigee Hybrid์—๋งŒ ํ•ด๋‹น
Cassandra Cassandra ๋ณต์› ๋ฌธ์ œ ํ•ด๊ฒฐ Apigee Hybrid์—์„œ Cassandra ๋ณต์›์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋™์•ˆ ๋ณต์› ๋กœ๊ทธ์— ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Apigee Hybrid์—๋งŒ ํ•ด๋‹น
์ž๋™ ๋ฌธ์ œ ํ‘œ์‹œ ๋Ÿฐํƒ€์ž„ ์˜์—ญ๊ณผ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ ์‚ฌ์ด์— ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ์—†์Œ

Apigee API ๊ด€๋ฆฌ ์š”์ฒญ ์‹คํŒจ:

  • API ์ œํ’ˆ, ๊ฐœ๋ฐœ์ž, ์•ฑ์ด Apigee UI์— ์ฑ„์›Œ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • API ํ”„๋ก์‹œ ๋ฐฐํฌ๊ฐ€ ์™„๋ฃŒ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Apigee API ๊ด€๋ฆฌ ์š”์ฒญ์ด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.
Apigee Hybrid์—๋งŒ ํ•ด๋‹น
์ž๋™ ๋ฌธ์ œ ํ‘œ์‹œ ํ™˜๊ฒฝ ๊ทธ๋ฃน์ด ๋ˆ„๋ฝ๋œ ๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ kubectl -n apigee get apigeeissues๋ฅผ ์‹คํ–‰ํ•˜๋ฉด AIS_VIRTUALHOST_MISSING_ENVGROUP ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. Apigee Hybrid์—๋งŒ ํ•ด๋‹น
์ž๋™ ๋ฌธ์ œ ํ‘œ์‹œ ์„ ํƒ๊ธฐ๊ฐ€ ๋ˆ„๋ฝ๋œ ๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ kubectl -n apigee get apigeeissues๋ฅผ ์‹คํ–‰ํ•˜๋ฉด AIS_VIRTUALHOST_MISSING_SELECTOR ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. Apigee Hybrid์—๋งŒ ํ•ด๋‹น
์ž๋™ ๋ฌธ์ œ ํ‘œ์‹œ ์ธ๊ทธ๋ ˆ์Šค ์ธ์ฆ์„œ ๋ถˆ์ผ์น˜ kubectl -n apigee get apigeeissues๋ฅผ ์‹คํ–‰ํ•˜๋ฉด AIS_INGRESS_CERT_MISMATCH ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. Apigee Hybrid์—๋งŒ ํ•ด๋‹น
์ž๋™ ๋ฌธ์ œ ํ‘œ์‹œ ์ธ๊ทธ๋ ˆ์Šค ์ธ์ฆ์„œ ๋งŒ๋ฃŒ kubectl -n apigee get apigeeissues๋ฅผ ์‹คํ–‰ํ•˜๋ฉด AIS_INGRESS_CERT_EXPIREY ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. Apigee Hybrid์—๋งŒ ํ•ด๋‹น
์ž๋™ ๋ฌธ์ œ ํ‘œ์‹œ ์ธ๊ทธ๋ ˆ์Šค mTLS CA ์ธ์ฆ์„œ ๋งŒ๋ฃŒ kubectl -n apigee get apigeeissues๋ฅผ ์‹คํ–‰ํ•˜๋ฉด AIS_INGRESS_MTLS_CA_CERT_EXPIREY ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. Apigee Hybrid์—๋งŒ ํ•ด๋‹น
์ž๋™ ๋ฌธ์ œ ํ‘œ์‹œ ์ธ๊ทธ๋ ˆ์Šค mTLS CA ์ธ์ฆ์„œ๊ฐ€ ์ž˜๋ชป๋จ kubectl -n apigee get apigeeissues๋ฅผ ์‹คํ–‰ํ•˜๋ฉด AIS_INGRESS_MTLS_CA_CERT_INVALID ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. Apigee Hybrid์—๋งŒ ํ•ด๋‹น
Cassandra Cassandra ๋ฐ์ดํ„ฐ ๋ณต์ œ ์‹คํŒจ ๋ฉ€ํ‹ฐ ๋ฆฌ์ „ ํ™•์žฅ ์ค‘์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์ œํ•  ๋•Œ CassandraDataReplication ์ƒํƒœ์— ์˜ค๋ฅ˜ ์ƒํƒœ๊ฐ€ ํ‘œ์‹œ๋˜๊ณ  ๋ฐ์ดํ„ฐ ๋ณต์ œ๊ฐ€ ์‹คํŒจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Apigee Hybrid์—๋งŒ ํ•ด๋‹น
Cassandra Cassandra Java ํž™ ๊ณต๊ฐ„ ๋ฌธ์ œ Cassandra ํž™ ๋ฌธ์ œ๋กœ ์ธํ•ด Apigee Hybrid ํ”„๋ก์‹œ ์‹คํ–‰ ์†๋„๊ฐ€ ๋А๋ ค์ง€๊ฑฐ๋‚˜ Datastore ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ์ƒ์ด ๋‚˜ํƒ€๋‚˜๊ธฐ ์ „์ด๋”๋ผ๋„ ๋กœ๊ทธ๊ฐ€ ์กฐ๊ธฐ ์ง€ํ‘œ๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Apigee Hybrid์—๋งŒ ํ•ด๋‹น
Cassandra ๋ณด์กฐ ๋ฆฌ์ „์—์„œ ์‹œ์ž‘๋˜์ง€ ์•Š๋Š” Cassandra ํฌ๋“œ Cassandra ํฌ๋“œ๊ฐ€ ๋ฉ€ํ‹ฐ ๋ฆฌ์ „ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์„ค์ •์˜ ๋ฆฌ์ „ ์ค‘ ํ•˜๋‚˜์—์„œ ์‹œ์ž‘ํ•  ๋•Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. Cassandra Pod ๋กœ๊ทธ์— node already exists ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜๊ฑฐ๋‚˜ Cassandra Pod ์ƒํƒœ์— FailedPreStopHook ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Apigee Hybrid์—๋งŒ ํ•ด๋‹น
Cassandra Cassandra ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ฐ€์ด๋“œ kubectl์„ ์‚ฌ์šฉํ•˜์—ฌ Pod ์ƒํƒœ๋ฅผ ๋ณด๋ฉด ํ•˜๋‚˜ ์ด์ƒ์˜ Cassandra ํฌ๋“œ๊ฐ€ ๋ฉˆ์ถฐ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” Cassandra ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด ๊ด€๋ จ ๋ฌธ์ œ์˜ ์ง„๋‹จ ๋ฐ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. Apigee Hybrid์—๋งŒ ํ•ด๋‹น
๋ฐฐํฌ ํ™œ์„ฑ ๋Ÿฐํƒ€์ž„ ํฌ๋“œ ์—†์Œ ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋˜๋ฉด์„œ API ํ”„๋ก์‹œ ๋ฐฐํฌ ์‹คํŒจ API ํ”„๋ก์‹œ ํŽ˜์ด์ง€์˜ ENVIRONMENT: REVISION_NUMBER์—์„œ ๋ฐฐํฌ ๋ฌธ์ œ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ์˜†์— ์žˆ๋Š” ์„ธ๋ถ€์ •๋ณด ๋Œ€ํ™”์ƒ์ž์— ํ™œ์„ฑ ๋Ÿฐํƒ€์ž„ pod ์—†์Œ ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. Apigee Hybrid์—๋งŒ ํ•ด๋‹น
Ingressgateway ์‹œ๊ฐ„ ์ดˆ๊ณผ ์˜ค๋ฅ˜๋กœ API ํ˜ธ์ถœ ์‹คํŒจ

curl: (7) Failed to connect to example.apis.com port 443: Operation timed out
Apigee Hybrid์—๋งŒ ํ•ด๋‹น
Ingressgateway TLS ์˜ค๋ฅ˜๋กœ API ํ˜ธ์ถœ ์‹คํŒจ

curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to example.apis.com:443
Apigee Hybrid์—๋งŒ ํ•ด๋‹น
๋กœ๊น… Cloud Logging์—์„œ Apigee ๋กœ๊ทธ ๋ˆ„๋ฝ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ด ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋Š” ํ‘œ์‹œ๋˜๋„๋ก ์•Œ๋ ค์ง„ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. Apigee ๋ฐ Apigee Hybrid
๊ด€๋ฆฌ/UI ํ•˜์ด๋ธŒ๋ฆฌ๋“œ UI ๋˜๋Š” ๊ด€๋ฆฌ API์—์„œ ํ•ญ๋ชฉ์— ๋Œ€ํ•ด ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๊ด€์ธก๋˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ด€์ธก๋˜์ง€ ์•Š์Œ ์ด ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋Š” ํ‘œ์‹œ๋˜๋„๋ก ์•Œ๋ ค์ง„ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. Apigee Hybrid์—๋งŒ ํ•ด๋‹น
๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ Apigee์˜ ์•ก์„ธ์Šค ๋ผ์šฐํŒ… ๋ฌธ์ œ ์™ธ๋ถ€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์›ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ Apigee์— ์•ก์„ธ์Šคํ•˜๊ฑฐ๋‚˜ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ์‹คํŒจ(TLS ํ•ธ๋“œ์…ฐ์ดํฌ ์‹คํŒจ) ๋˜๋Š” Apigee์˜ 4xx/5xx ์‘๋‹ต์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. Apigee ๋ฐ Apigee Hybrid
๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ Southbound PSC ๋Œ€์ƒ๊ณผ์˜ Apigee ์—ฐ๊ฒฐ ๋ฌธ์ œ Apigee์™€ ๋Œ€์ƒ ์„œ๋น„์Šค ๊ฐ„์˜ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ๋ฌธ์ œ ๋˜๋Š” TCP ์‹œ๊ฐ„ ์ดˆ๊ณผ ์‹œ 503 ์˜ค๋ฅ˜ ์‘๋‹ต์ด ํ‘œ์‹œ๋˜๊ณ  ๋””๋ฒ„๊ทธ ์„ธ์…˜์„ ๋งŒ๋“ค ๊ฒฝ์šฐ ์•„๋ž˜์™€ ์œ ์‚ฌํ•œ ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
{"fault":{"faultstring":"The Service is temporarily unavailable","detail":{"errorcode":"messaging.adaptors.http.flow.ServiceUnavailable","reason":"TARGET_CONNECT_TIMEOUT"}}}
Apigee ๋ฐ Apigee Hybrid
๊ธฐํƒ€ ๋…ธ๋“œ ๋“œ๋ ˆ์ด๋‹ ์‹œ Istio ์†์„ฑ ๋ณต์ œ๋ณธ ์ˆ˜ ํ™•์žฅ Istio ํฌ๋“œ๋ฅผ ๋“œ๋ ˆ์ด๋‹ํ•  ๋•Œ ์ผ๋ถ€ ๋…ธ๋“œ์—๋Š” ๋ณต์ œ๋ณธ์ด 1๊ฐœ์ด์ง€๋งŒ ๋ณต์ œ๋ณธ์ด 3๊ฐœ ์ด์ƒ ํ•„์š”ํ•˜๋ฏ€๋กœ ์ผ๋ถ€ ๋…ธ๋“œ๊ฐ€ ๋“œ๋ ˆ์ด๋‹๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ์†์„ฑ๋งˆ๋‹ค ์ตœ์†Œ ๋ณต์ œ๋ณธ ์ˆ˜๋ฅผ ์ตœ์†Œ 3๊ฐœ ์ด์ƒ์œผ๋กœ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Apigee Hybrid์—๋งŒ ํ•ด๋‹น
๊ธฐํƒ€ ๋ฉ”์‹œ์ง€ ํ”„๋กœ์„ธ์„œ ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ฐ€์ด๋“œ ํ•˜๋‚˜ ์ด์ƒ์˜ apigee-runtime ํฌ๋“œ๊ฐ€ Ready ์ƒํƒœ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. kubectl์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํŒจํ•œ apigee-runtime ํฌ๋“œ๋ฅผ ์„ค๋ช…ํ•˜๋ฉด ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
Readiness probe failed: HTTP probe failed with statuscode: 500
Apigee Hybrid์—๋งŒ ํ•ด๋‹น
๊ธฐํƒ€ ๋นŒ๋“œ ์ •๋ณด ์ธ์‡„ buildinfo API๋Š” ๋Ÿฐํƒ€์ž„ ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ๋นŒ๋“œ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ •๋ณด๋Š” ์ง€์›ํŒ€์— ๋ฌธ์˜ํ•ด์•ผ ํ•  ๊ฒฝ์šฐ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Apigee Hybrid์—๋งŒ ํ•ด๋‹น
๊ธฐํƒ€ StreamingPull ์˜ค๋ฅ˜ 100% ์ธก์ •ํ•ญ๋ชฉ ๋Œ€์‹œ๋ณด๋“œ์—์„œ google.pubsub.vl.Subscriber.StreamingPull ๋ฉ”์„œ๋“œ๊ฐ€ 100% ์˜ค๋ฅ˜๋กœ ์‹คํŒจํ•˜๋Š” ๊ฒฝ์šฐ ๋ฌธ์ œ๋ฅผ ๋ฌด์‹œํ•ด๋„ ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ •์ƒ์ ์ธ ๋™์ž‘์ž…๋‹ˆ๋‹ค. Apigee Hybrid์—๋งŒ ํ•ด๋‹น
๋ฐฐํฌ ์ธ์Šคํ„ด์Šค๊ฐ€ ํ™˜๊ฒฝ ๊ทธ๋ฃน์˜ ์ƒํƒœ๋ฅผ ๋ณด๊ณ ํ•˜์ง€ ์•Š์Œ API ํ”„๋ก์‹œ ๋ฐฐํฌ๊ฐ€ ์‹คํŒจํ•˜๊ณ  INSTANCE_NAME ์ธ์Šคํ„ด์Šค๊ฐ€ Apigee Hybrid UI์—์„œ ํ™˜๊ฒฝ ๊ทธ๋ฃน ENV_GROUP_NAME ์˜ค๋ฅ˜ ์ƒํƒœ๋ฅผ ๋ณด๊ณ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Apigee Hybrid์—๋งŒ ํ•ด๋‹น
๋ฐฐํฌ apigee-serving-cert๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๊ฑฐ๋‚˜ ๋งŒ๋ฃŒ๋˜์–ด API ํ”„๋ก์‹œ ๋ฐฐํฌ ์‹คํŒจ API ํ”„๋ก์‹œ ๋ฐฐํฌ๊ฐ€ ์‹คํŒจํ•˜๊ณ  apigee-watcher ๋กœ๊ทธ์— ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. Apigee Hybrid์—๋งŒ ํ•ด๋‹น
Ingressgateway Istio ๋…ธ๋“œ ๋“œ๋ ˆ์ด๋‹ ์‹œ ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•˜๋„๋ก Istio ์†์„ฑ ๋ณต์ œ๋ณธ ์ˆ˜ ํ™•์žฅ Istio ํฌ๋“œ๋ฅผ ๋“œ๋ ˆ์ด๋‹ํ•  ๋•Œ ์ผ๋ถ€ ๋…ธ๋“œ์—๋Š” ๋ณต์ œ๋ณธ์ด 1๊ฐœ์ด์ง€๋งŒ ๋ณต์ œ๋ณธ์ด 3๊ฐœ ์ด์ƒ ํ•„์š”ํ•˜๋ฏ€๋กœ ์ผ๋ถ€ ๋…ธ๋“œ๊ฐ€ ๋“œ๋ ˆ์ด๋‹๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ์†์„ฑ๋งˆ๋‹ค ์ตœ์†Œ ๋ณต์ œ๋ณธ ์ˆ˜๋ฅผ ์ตœ์†Œ 3๊ฐœ ์ด์ƒ์œผ๋กœ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Apigee Hybrid์—๋งŒ ํ•ด๋‹น
๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ IP ์ฃผ์†Œ ์—ฌ์œ  ๊ณต๊ฐ„ ์—†์Œ ๋ฌธ์ œ ํ•ด๊ฒฐ Apigee ํ”„๋กœ๋น„์ €๋‹ ์ค‘์— ์™„์ „ํžˆ ๋น„์–ด ์žˆ์ง€ ์•Š์€ ๋„คํŠธ์›Œํฌ CIDR ๋ฒ”์œ„๋ฅผ ์„ ํƒํ•˜๋ฉด ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Apigee ๋ฐ Apigee Hybrid
๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ TARGET_CONNECT_TIMEOUT๊ณผ ํ•จ๊ป˜ 503 ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ ์˜ค๋ฅ˜(์ธํ„ฐ๋„ท ๋ฐ VPC ํ”ผ์–ด๋ง ๋Œ€์ƒ) ์ด ๋ฌธ์„œ์—์„œ๋Š” ์ธํ„ฐ๋„ท ๋˜๋Š” VPC ํ”ผ์–ด๋ง ํƒ€๊ฒŸ์„ ์‚ฌ์šฉํ•  ๋•Œ TARGET_CONNECT_TIMEOUT๊ณผ ํ•จ๊ป˜ "503 ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ" ์˜ค๋ฅ˜๋ฅผ ์ง„๋‹จํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. Apigee
๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ 504 ๊ฒŒ์ดํŠธ์›จ์ด ์‹œ๊ฐ„ ์ดˆ๊ณผ - ๋Œ€์ƒ ์ฝ๊ธฐ ์‹œ๊ฐ„ ์ œํ•œ ์ด ๋ฌธ์„œ์—์„œ๋Š” TARGET_READ_TIMEOUT ์ด์œ ์™€ ํ•จ๊ป˜ '504 ๊ฒŒ์ดํŠธ์›จ์ด ์‹œ๊ฐ„ ์ดˆ๊ณผ' ์˜ค๋ฅ˜๋ฅผ ์ง„๋‹จํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. Apigee ๋ฐ Apigee Hybrid
๊ธฐํƒ€ Apigee Hybrid๊ฐ€ ์ƒ์„ฑ ๋˜๋Š” ์ถœ์‹œ ์ƒํƒœ์—์„œ ๋ฉˆ์ถ”๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ ์ด ๋ฌธ์„œ์—์„œ๋Š” Apigee Hybrid ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ creating ๋˜๋Š” releasing ์ƒํƒœ์—์„œ ์ค‘๋‹จ๋œ ๊ฒฝ์šฐ ์ด ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์žฌ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. Apigee Hybrid์—๋งŒ ํ•ด๋‹น