Anda sedang melihat dokumentasi Apigee dan Apigee Hybrid.
Tidak ada dokumentasi
Apigee Edge yang setara untuk topik ini.
Gejala
Masalah konektivitas jaringan antara Apigee dan layanan target menuju selatan yang terhubung oleh Private Service Connect (PSC).
Pesan error
Masalah koneksi jaringan atau waktu tunggu TCP antara Apigee dan layanan target akan muncul sebagai respons error 503
dan akan menampilkan error seperti di bawah ini jika Anda membuat sesi debug.
{"fault":{"faultstring":"The Service is temporarily unavailable","detail":{"errorcode":"messaging.adaptors.http.flow.ServiceUnavailable","reason":"TARGET_CONNECT_TIMEOUT"}}}
Kemungkinan Penyebab
Penyebab | Deskripsi |
Region yang berbeda antara lampiran layanan dan instance Apigee | Region instance Apigee dan region Service attachment berbeda. |
Tidak ada aturan firewall masuk untuk subnet PSC dalam project target | Dalam project target, pastikan bahwa ada aturan firewall masuk untuk mengizinkan alamat IP dan port rentang subnet PSC. |
Konfigurasi lampiran layanan yang salah dalam project target | Verifikasi Lampiran layanan dalam project target. |
Status lampiran endpoint salah di Apigee | Verifikasi lampiran Endpoint di Apigee. |
Ketidakcocokan pada port yang dikonfigurasi di TargetEndpoint dan ILB | Pastikan TargetEndpoint di proxy API menggunakan port yang sama dengan yang diekspos oleh load balancer internal (ILB) dalam project target. |
Penyebab: Region yang berbeda antara lampiran Service dan instance Apigee
Diagnosis
-
Periksa region instance Apigee menggunakan salah satu metode berikut:
- Menggunakan UI Apigee klasik:
- Login ke UI Apigee.
- Klik Admin > Instance
- Klik sebuah instance.
- Periksa Runtime hosting location di panel Instance details.
- Menggunakan UI Apigee di Konsol Google Cloud:
-
Di konsol Google Cloud, buka halaman Apigee Instances.
- Klik sebuah instance.
- Periksa Runtime hosting location di panel Instance details.
-
- Menggunakan
panggilan API:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://apigee.googleapis.com/v1/organizations/ORG_NAME/instances"
Dengan ORG_NAME adalah nama organisasi. Contoh,
example-apigee-support
.Sesuatu yang mirip dengan berikut ini ditampilkan. Lokasi hosting runtime adalah nilai yang ditampilkan untuk
location
di bawah. Misalnya,asia-northeast1
."instances": [ { "name": "asia-northeast1", "location": "asia-northeast1", "host": "10.117.0.2", "port": "443", "createdAt": "1628150049760", "lastModifiedAt": "1682139265367", "diskEncryptionKeyName": "projects/apigee-x-support-apac-05/locations/asia-northeast1/keyRings/phanim-disk-key-1/cryptoKeys/phanim-disk-key-ring-1", "state": "ACTIVE", "peeringCidrRange": "SLASH_20", "runtimeVersion": "1-9-0-apigee-25", "consumerAcceptList": [ "example-apigee-support", "example-neg-project" ], "serviceAttachment": "projects/xb363132eb41cb643p-tp/regions/asia-northeast1/serviceAttachments/apigee-asia-northeast1-yp9o" }
- Menggunakan UI Apigee klasik:
-
Periksa region lampiran endpoint menggunakan
panggilan API:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://apigee.googleapis.com/v1/organizations/ORG_NAME/endpointAttachments/ENDPOINT_ATTACHMENT_NAME"
Dengan keterangan:
- ORG_NAME adalah nama organisasi.
Contoh,
example-apigee-support
. - ENDPOINT_ATTACHMENT_NAME adalah nama lampiran endpoint. Contoh,
example-ea
.
Sesuatu yang mirip dengan berikut ini ditampilkan. Region lampiran endpoint adalah nilai yang ditampilkan untuk
location
di bawah. Misalnya,asia-northeast1
.{ "name": "organizations/example-apigee-support/endpointAttachments/example-ea", "location": "asia-northeast1", "host": "7.0.4.2", "state": "ACTIVE", "connectionState": "ACCEPTED", "serviceAttachment": "projects/target-project/regions/asia-northeast1/serviceAttachments/gkebackend" }
- ORG_NAME adalah nama organisasi.
Contoh,
-
Periksa region Service attachment menggunakan Cloud Console:
-
Di Konsol Google Cloud, buka halaman Private Service Connect .
- Periksa kolom Wilayah untuk lokasi.
-
Resolusi
Pastikan region instance Apigee, Endpoint attachment, dan Service attachment sama. Misalnya:
asia-northeast1
.
Seperti dijelaskan dalam
Batasan, akses global tidak didukung. Artinya, lampiran layanan dan lampiran endpoint harus berada di region yang sama. Misalnya, jika instance Apigee Anda berada di region us-west1
, Anda tidak dapat menghubungkan layanan yang ada di us-east2
atau region lain ke instance Apigee tersebut.
Jika regionnya berbeda, maka Anda akan melihat masalah konektivitas antara Apigee dan layanan target.
Penyebab: Aturan firewall masuk untuk subnet PSC tidak ada dalam project target
Diagnosis
Periksa aturan firewall dalam project target yang mengizinkan alamat IP rentang subnet PSC untuk terhubung ke layanan target:
-
Di Konsol Google Cloud, buka halaman Firewall.
-
Di panel Aturan firewall VPC, pastikan aturan seperti contoh berikut sudah ada:
- Arah: Ingress
- Tindakan pada kecocokan: Izinkan
- Filter Sumber: Rentang IPv4/IPv6
- IP Ranges: Rentang alamat IP dari Subnet PSC
(
ipCidrRange
) yang bisa Anda dapatkan dengan perintah gcloud berikut ini untuk menjelaskan subnet PSC:gcloud compute networks subnets describe PSC_SUBNET_NAME --region=REGION
Dengan keterangan:
-
PSC_SUBNET_NAME adalah nama subnet PCS.
Contoh,
pscsub
. -
REGION adalah lokasinya. Misalnya:
asia-northeast1
.
Sesuatu yang mirip dengan yang berikut ini ditampilkan:
creationTimestamp: '2023-04-19T03:33:29.371-07:00' fingerprint: 1JPKY66teTg= gatewayAddress: 10.10.0.1 id: '5645967773396008342' ipCidrRange: 10.10.0.0/24 kind: compute#subnetwork name: pscsub network: https://www.googleapis.com/compute/v1/projects/target-project/global/networks/default privateIpGoogleAccess: false privateIpv6GoogleAccess: DISABLE_GOOGLE_ACCESS purpose: PRIVATE_SERVICE_CONNECT ....
-
PSC_SUBNET_NAME adalah nama subnet PCS.
Contoh,
- Protokol dan port: Protokol dan port ini harus dicantumkan sesuai dengan konfigurasi layanan target Anda.
Contoh:
Resolusi
Jika aturan firewall tidak diterapkan, buat subnet PSC seperti yang dijelaskan dalam Membuat lampiran layanan, langkah 2.
Penyebab: Konfigurasi lampiran layanan tidak benar dalam project target
Diagnosis
Periksa region Service attachment menggunakan salah satu metode berikut:
- Menggunakan Konsol Cloud:
-
Di Konsol Google Cloud, buka halaman Private Service Connect .
- Klik Layanan yang dipublikasikan.
- Klik layanan.
- Periksa baris Region untuk lokasi.
-
- Menggunakan
gcloud command
:gcloud compute service-attachments describe SERVICE_ATTACHMENT --region=REGION
Dengan keterangan:
-
SERVICE_ATTACHMENT adalah nama lampiran layanan.
Contoh,
gkebackend
. -
REGION adalah lokasinya. Misalnya:
asia-northeast1
.
Sesuatu yang mirip dengan yang berikut ini ditampilkan:
connectedEndpoints: - endpoint: https://www.googleapis.com/compute/v1/projects/xb363132eb41cb643p-tp/regions/asia-northeast1/forwardingRules/example-ea pscConnectionId: '6816512648152066' status: ACCEPTED connectionPreference: ACCEPT_AUTOMATIC creationTimestamp: '2023-04-19T05:09:09.941-07:00' description: '' enableProxyProtocol: false fingerprint: 0BZDAZ3zDCs= id: '4503680255626733322' kind: compute#serviceAttachment name: gkebackend natSubnets: - https://www.googleapis.com/compute/v1/projects/target-project/regions/asia-northeast1/subnetworks/pscsub pscServiceAttachmentId: high: '21570167574103266' low: '4503680255626733322' region: https://www.googleapis.com/compute/v1/projects/target-project/regions/asia-northeast1 selfLink: https://www.googleapis.com/compute/v1/projects/target-project/regions/asia-northeast1/serviceAttachments/gkebackend targetService: https://www.googleapis.com/compute/v1/projects/target-project/regions/asia-northeast1/forwardingRules/k8s2-tcp-b65prv8v-default-ilb-svc-tv2s6klz
-
SERVICE_ATTACHMENT adalah nama lampiran layanan.
Contoh,
Resolusi
-
Pastikan nilai
connectedEndpoints.endpoint
merujuk ke project tenant Apigee dan pastikan statusnya adalahACCEPTED
. Anda dapat menemukan project tenant dengan menggunakan Apigee mewujudkan API:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://apigee.googleapis.com/v1/organizations/ORG_NAME"
Dengan ORG_NAME adalah nama organisasi. Sebagai contoh,
example-apigee-support
.Sesuatu yang mirip dengan berikut ini ditampilkan. ID ada dalam kolom bernama
apigeeProjectId
. Sebagai contoh,xb363132eb41cb643p-tp
.{ "name": "example-apigee-support", "createdAt": "1628148440954", "lastModifiedAt": "1650563608527", "environments": [ "dev" ], "properties": { "property": [ { "name": "features.mart.connect.enabled", "value": "true" }, { "name": "features.hybrid.enabled", "value": "true" } ] }, "analyticsRegion": "asia-northeast1", "authorizedNetwork": "default", "runtimeType": "CLOUD", "subscriptionType": "PAID", "caCertificate": "CERTIFICATE_NUMBER", "runtimeDatabaseEncryptionKeyName": "projects/example-apigee-support/locations/asia-northeast1/keyRings/phanim-key-ring-1/cryptoKeys/phanim-app-key-1", "projectId": "example-apigee-support", "state": "ACTIVE", "billingType": "SUBSCRIPTION", "addonsConfig": { "advancedApiOpsConfig": {}, "integrationConfig": {}, "monetizationConfig": {} }, "apigeeProjectId": "xb363132eb41cb643p-tp" }
-
Pastikan Lampiran layanan memiliki konektivitas dengan
Lampiran endpoint seperti yang dijelaskan dalam
Pola jaringan arah selatan, Memeriksa dan mengelola konektivitas lampiran.
Di UI dari langkah 1 , pastikan
bahwa:
-
Baris Subnets mengacu pada subnet PSC. Misalnya:
pscsub
. - Baris Target merujuk ke load balancer internal yang tepat untuk backend target.
-
Baris Subnets mengacu pada subnet PSC. Misalnya:
Penyebab: Status lampiran endpoint di Apigee salah
Diagnosis
Lihat lampiran endpoint di Apigee menggunakan panggilan API:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://apigee.googleapis.com/v1/organizations/ORG_NAME/endpointAttachments/ENDPOINT_ATTACHMENT_NAME"
Dengan keterangan:
-
ORG_NAME adalah nama organisasi. Sebagai contoh,
example-apigee-support
. -
ENDPOINT_ATTACHMENT_NAME adalah nama lampiran endpoint. Contoh,
example-ea
.
Sesuatu yang mirip dengan yang berikut ini ditampilkan:
{ "name": "organizations/example-apigee-support/endpointAttachments/example-ea", "location": "asia-northeast1", "host": "7.0.4.2", "state": "ACTIVE", "connectionState": "ACCEPTED", "serviceAttachment": "projects/target-project/regions/asia-northeast1/serviceAttachments/gkebackend" }
Resolusi
Pastikan hal berikut:
state
ACTIVE
connectionState
ACCEPTED
-
serviceAttachment
merujuk ke project target dan nama lampiran layanan yang benar
Penyebab: Ketidakcocokan pada port yang dikonfigurasi di TargetEndpoint dan ILB
Diagnosis
- Dalam project target, temukan port yang diekspos oleh aturan penerusan menggunakan Konsol Cloud:
-
Di Konsol Google Cloud, buka halaman Private Service Connect .
- Klik Layanan yang dipublikasikan.
- Klik layanan. Seperti ditunjukkan dalam contoh berikut, port 80 diekspos.
-
Resolusi
Pastikan port 80 yang sama adalah port dalam TargetEndpoint
proxy API.
Untuk memeriksanya, buka Proxy API lalu verifikasi
URL TargetEndpoint
:
- Menggunakan UI Apigee klasik:
- Login ke UI Apigee.
- Klik Develop > API Proxy
- Klik proxy.
- Klik Develop.
- Periksa panel XML untuk hal berikut:
<HTTPTargetConnection> <URL>http://7.0.4.2:80</URL> </HTTPTargetConnection>
- Menggunakan UI Apigee di Konsol Google Cloud:
-
Di konsol Google Cloud, buka halaman Apigee.
- Di area Proxy development, klik API proxy.
- Klik proxy.
- Klik Develop.
- Periksa panel XML untuk hal berikut:
<HTTPTargetConnection> <URL>http://7.0.4.2:80</URL> </HTTPTargetConnection>
-
Harus mengumpulkan informasi diagnostik
Jika masalah terus berlanjut bahkan setelah mengikuti petunjuk di atas, kumpulkan informasi diagnostik berikut, lalu hubungi Google Cloud Customer Care:
- Organisasi Apigee
- Proxy lingkungan dan API mengalami masalah
- Sesi debug yang didownload (ini akan memberikan semua info di atas)
- Lampiran endpoint sedang digunakan
- Project target dan lampiran layanan