Kepiye carane kita nembus Tembok Api Agung China (Bagian 3)

Hello!
Kabeh crita apik rampung. Lan crita kita babagan carane nggawe solusi kanggo cepet ngliwati Firewall Cina ora ana sing istiméwa. Mulane, aku enggal-enggal nuduhake karo sampeyan sing pungkasan, bagean pungkasan ing topik iki.

Ing bagean sadurunge kita ngedika bab akeh bangku test sing kita teka munggah karo lan apa asil padha menehi. Lan kita mutusake babagan apa sing bakal ditambahake CDN! kanggo viskositas menyang skema kita.

Aku bakal pitutur marang kowe carane kita dites Alibaba Cloud CDN, Tencent Cloud CDN lan Akamai, lan apa kita rampung karo. Lan mesthi, ayo ngringkes.

Kepiye carane kita nembus Tembok Api Agung China (Bagian 3)

Alibaba Cloud CDN

Kita dadi tuan rumah ing Alibaba Cloud lan nggunakake IPSEC lan CEN saka dheweke. Iku bakal logis kanggo nyoba solusi sing pisanan.

Alibaba Cloud duwe rong jinis produk sing cocog karo kita: CDN и DCDN. Opsi pisanan yaiku CDN klasik kanggo domain tartamtu (subdomain). Pilihan kapindho stands for Rute Dinamis kanggo CDN (Aku nyebat CDN dinamis), bisa diaktifake ing mode Full-site (kanggo domain wildcard), uga nyimpen konten statis lan nyepetake konten dinamis dhewe, yaiku, dinamika kaca uga bakal dimuat liwat panyedhiya jaringan cepet. Iki penting kanggo kita, amarga dhasar situs kita dinamis, nggunakake akeh subdomain, lan luwih trep kanggo nyetel CDN sapisan kanggo "tanda bintang" - *.semrushchina.cn.

Kita wis ndeleng produk iki ing tahap awal proyek Cina, nanging durung bisa digunakake, lan para pangembang janji manawa produk kasebut bakal kasedhiya kanggo kabeh pelanggan. Lan iya.

Ing DCDN sampeyan bisa:

  • ngatur mandhek SSL karo sertifikat,
  • ngaktifake akselerasi konten dinamis,
  • fleksibel ngatur cache file statis,
  • ngresiki cache,
  • soket web maju,
  • ngaktifake kompresi lan malah HTML Beautifier.

Umumé, kabeh padha karo wong diwasa lan panyedhiya CDN gedhe.

Sawise Origin (panggonan ing ngendi server pinggiran CDN bakal dituju) ditemtokake, sing isih ana yaiku nggawe CNAME kanggo tanda bintang, referensi. all.semrushchina.cn.w.kunluncan.com (CNAME iki ditampa ing Alibaba Cloud console) lan CDN bakal bisa.

Adhedhasar asil tes, CDN iki mbantu kita akeh. Statistik kapacak ing ngisor iki.

kaputusan
Uptime
Median
75 persentil
95 persentil

cloudflare
86.6
18
30
60

IPsec
99.79
18
21
30

Cen
99.75
16
21
27

CEN/IPsec + GLB
99.79
13
16
25

Ali CDN + CEN/IPsec + GLB
99.75
10
12.8
17.3

Iki minangka asil sing apik banget, utamane yen sampeyan mbandhingake karo nomer kasebut ing wiwitan. Nanging kita ngerti manawa tes browser versi Amerika saka situs web kita www.semrush.com mlaku saka AS kanthi rata-rata 8.3s (nilai sing kira-kira banget). Ana papan kanggo dandan. Kajaba iku, ana uga panyedhiya CDN sing menarik kanggo dites.

Dadi lancar pindhah menyang raksasa liyane ing pasar Cina - Tencent.

Awan Tencent

Tencent mung ngembangake awan - iki bisa dideleng saka sawetara produk. Nalika nggunakake, kita pengin nyoba ora mung CDN, nanging uga infrastruktur jaringan kanthi sakabehe:

  • apa padha duwe sing padha karo CEN?
  • Kepiye IPSEC bisa digunakake kanggo dheweke? Apa cepet, apa uptime?
  • apa padha duwe Anycast?

Kepiye carane kita nembus Tembok Api Agung China (Bagian 3)

Ayo goleki pitakonan iki kanthi kapisah.

Analog CEN

Tencent duwe produk Jaringan Cloud Connect (CCN), ngidini sampeyan nyambungake VPC saka macem-macem wilayah, kalebu wilayah ing njero lan njaba China. Produk saiki ing beta internal, lan sampeyan kudu nggawe tiket takon kanggo nyambung menyang. Kita sinau saka dhukungan manawa akun global (kita ora ngomong babagan warga China utawa entitas hukum) ora bisa melu program uji coba beta lan, umume, nyambungake wilayah ing China karo wilayah njaba. 1-0 kanggo Ali Cloud

IPSEC

Wilayah paling kidul ing Tencent yaiku Guangzhou. Kita ngumpulake trowongan lan nyambungake menyang wilayah Hong Kong ing GCP (banjur wilayah iki wis kasedhiya). Trowongan kapindho ing Ali Cloud saka Shenzhen menyang Hong Kong uga diunggahake ing wektu sing padha. Ternyata liwat jaringan Tencent, latensi menyang Hong Kong umume luwih apik (10ms) tinimbang saka Shenzhen menyang Hong Kong nganti Ali (120ms - apa?). Nanging iki ora kanthi cara apa wae nyepetake karya situs sing dituju kanggo nggarap Tencent lan trowongan iki, sing dhewe minangka kasunyatan sing nggumunake lan maneh mbuktekake ing ngisor iki: latensi - kanggo China iki dudu indikator sing bener-bener worth. mbayar manungsa waé kanggo nalika ngembangaken solusi kanggo maringaken firewall Chinese.

Akselerasi Internet Anycast

Produk liyane sing ngidini sampeyan bisa kerja liwat IP anycast yaiku AIA. Nanging uga ora kasedhiya kanggo akun global, mula aku ora bakal ngandhani babagan iki, nanging ngerti manawa ana produk kasebut bisa uga migunani.

Nanging tes CDN nuduhake sawetara asil sing menarik. CDN Tencent ora bisa diaktifake ing situs lengkap, mung ing domain tartamtu. Kita nggawe domain lan ngirim lalu lintas menyang:

Kepiye carane kita nembus Tembok Api Agung China (Bagian 3)

Ternyata CDN iki nduweni fungsi ing ngisor iki: Optimasi Lalu Lintas Lintas Wates. Fitur iki kudu nyuda biaya nalika lalu lintas liwat firewall Cina. Minangka Asal Alamat IP Google GLB (GLB anycast) wis ditemtokake. Mangkono, kita pengin nyederhanakake arsitektur proyek.

Asil kasebut apik banget - ing tingkat Ali Cloud CDN, lan ing sawetara panggonan malah luwih apik. Iki nggumunake, amarga yen tes kasebut sukses, sampeyan bisa ninggalake bagean penting saka infrastruktur, terowongan, CEN, mesin virtual, lsp.

Kita ora bungah suwe, amarga ana masalah: tes ing Catchpoint gagal kanggo panyedhiya Internet China Mobile. Saka ngendi wae, kita nampa wektu entek liwat CDN Tencent. Correspondence karo technical support ora mimpin kanggo apa-apa. Kita nyoba kanggo ngatasi masalah iki kanggo bab dina, nanging ora ana sing bisa.

Aku ana ing China nalika iku, nanging ora bisa nemokake Wi-Fi umum ing jaringan panyedhiya iki kanggo verifikasi masalah pribadi. Yen ora, kabeh katon cepet lan apik.
Nanging, amarga China Mobile minangka salah siji saka telung operator paling gedhe, kita kepeksa bali menyang Ali CDN.
Nanging sakabèhé, iki minangka solusi sing rada menarik sing kudu diuji maneh lan ngatasi masalah masalah iki.

Akamai

Panyedhiya CDN pungkasan sing dites yaiku Akamai. Iki minangka panyedhiya gedhe sing duwe jaringan ing China. Mesthi, kita ora bisa ngliwati.

Kepiye carane kita nembus Tembok Api Agung China (Bagian 3)

Wiwit awal, kita sarujuk karo Akamai kanggo periode nyoba supaya kita bisa ngalih domain lan ndeleng carane bakal bisa ing jaringan. Aku bakal njlèntrèhaké asil kabeh testing ing wangun "Apa aku disenengi" lan "Apa aku ora kaya,"Lan aku uga bakal menehi asil test.

Sing disenengi:

  • Wong lanang saka Akamai mbiyantu banget ing kabeh pitakonan lan ngiringi kita ing kabeh tahap tes. Kita terus-terusan nyoba nambah apa wae ing sisih kita. Dheweke menehi saran teknis sing apik.
  • Akamai udakara 10-15% luwih alon tinimbang solusi kita liwat Ali Cloud CDN. Sing nggumunake yaiku ing Origin for Akamai kita nemtokake alamat IP GLB, tegese lalu lintas ora ngliwati solusi kita (berpotensi kita bisa ninggalake bagean saka infrastruktur kasebut). Nanging isih, asil tes nuduhake yen solusi iki luwih elek tinimbang versi saiki (asil komparatif ing ngisor iki).
  • Dites loro Origin GLB lan Origin ing China. Kaloro opsi kasebut kira-kira padha.
  • Ana Mesthi Rute (optimasi rute otomatis). Sampeyan bisa dadi tuan rumah obyek tes ing Origin, lan server Akamai Edge bakal nyoba njupuk (GET biasa). Kanggo panjaluk kasebut, kacepetan lan metrik liyane diukur, adhedhasar jaringan Akamai ngoptimalake rute supaya lalu lintas luwih cepet kanggo situs kita lan jelas yen ngaktifake fitur iki pancen duwe pengaruh sing kuat ing kacepetan situs kasebut.
  • Versi konfigurasi ing antarmuka web iku keren. Sampeyan bisa nindakake Bandingake kanggo versi, katon ing diff. Deleng versi sadurunge.
  • Sampeyan bisa miwiti versi anyar mung ing jaringan Akamai Staging - jaringan sing padha karo produksi, mung kanthi cara iki ora bakal mengaruhi pangguna nyata. Kanggo test iki, sampeyan kudu spoof cathetan DNS ing mesin lokal.
  • Kacepetan download cepet banget liwat jaringan kanggo file statis gedhe, lan, ketoke, file liyane. Berkas saka cache "kadhemen" dijupuk kaping pirang-pirang luwih cepet tinimbang file sing padha saka cache "kadhemen" Ali CDN. Saka cache "panas", kacepetan wis padha, plus utawa minus.

Tes Ali CDN:

root@shenzhen1:~# curl -o /dev/null -w@curl_time https://en.semrushchina.cn/my_reports/build/scripts/simpleInit.js?v=1551879212
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 5757k    0 5757k    0     0   513k      0 --:--:--  0:00:11 --:--:--  526k
time_namelookup:  0.004286
time_connect:  0.030107
time_appconnect:  0.117525
time_pretransfer:  0.117606
time_redirect:  0.000000
time_starttransfer:  0.840348
----------
time_total:  11.208119
----------
size_download:  5895467 Bytes
speed_download:  525999.000B/s

Tes Akamai:

root@shenzhen1:~# curl -o /dev/null -w@curl_time https://www.semrushchina.cn/my_reports/build/scripts/simpleInit.js?v=1551879212
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 5757k    0 5757k    0     0  1824k      0 --:--:--  0:00:03 --:--:-- 1825k
time_namelookup:  0.509005
time_connect:  0.528261
time_appconnect:  0.577235
time_pretransfer:  0.577324
time_redirect:  0.000000
time_starttransfer:  1.327013
----------
time_total:  3.154850
----------
size_download:  5895467 Bytes
speed_download:  1868699.000B/s

Kita ngerteni manawa kahanan ing conto ing ndhuwur gumantung saka macem-macem faktor. Nalika nulis titik iki, aku nglakokake tes maneh. Asil kanggo loro platform padha kira-kira padha. Iki ngandhani yen Internet ing China, sanajan kanggo operator gedhe lan panyedhiya awan, tumindak beda saka wektu kanggo wektu.

Kanggo titik sadurunge, aku bakal nambah plus gedhe kanggo Akamai: yen Ali nuduhake kelip-kelip padha kinerja dhuwur lan kinerja banget kurang (iki ditrapake kanggo Ali CDN, Ali CEN, lan Ali IPSEC), banjur Akamai, saben wektu, ora ketompo. carane aku nyoba jaringan, kabeh bisa digunakake kanthi stabil.
Akamai duwe akeh jangkoan ing China lan bisa digunakake liwat akeh panyedhiya.

Apa sing ora disenengi:

  • Aku ora seneng antarmuka web lan cara kerjane - iku banget miskin. Nanging dhasar sampeyan wis biasa (mbokmenawa).
  • Asil tes luwih elek tinimbang situs kita.
  • Ana luwih akeh kesalahan sajrone tes tinimbang ing situs kita (uptime ing ngisor iki).
  • Kita ora duwe server DNS dhewe ing China. Mula ana akeh kesalahan ing tes amarga wektu entek mutusake DNS.
  • Dheweke ora nyedhiyakake kisaran IP -> ora ana cara kanggo ndhaptar sing bener set_nyata_ip_saka ing server kita.

Metrik (~ 3626 mlaku; kabeh metrik kajaba Uptime, ing ms; statistik kanggo siji wektu):

Panyedhiya CDN
Median
75%
95%
Response
Tanggapan kaca web
Uptime
DNS
Sambungake
ngenteni
load
SSL

AliCDN
9195
10749
17489
1,715
10,745
99.531
57
17
927
479
200

Akamai
9783
11887
19888
2,352
11,550
98.980
424
91
1408
381
50

Distribusi miturut Persentil (ing ms):

Persentil
Akamai
AliCDN

10
7,092
6,942

20
7,775
7,583

30
8,446
8,092

40
9,146
8,596

50
9,783
9,195

60
10,497
9,770

70
11,371
10,383

80
12,670
11,255

90
15,882
13,165

100
91,592
91,596

Kesimpulane yaiku: opsi Akamai sregep, nanging ora nyedhiyakake stabilitas lan kacepetan sing padha karo solusi kita dhewe ditambah karo Ali CDN.

Cathetan cilik

Sawetara wektu ora kalebu ing crita, nanging aku uga pengin nulis babagan.

Beijing + Tokyo lan Hong Kong

Kaya sing dakkandhakake ing ndhuwur, kita nyoba terowongan IPSEC menyang Hong Kong (HK). Nanging kita uga dites CEN kanggo HK. Regane luwih murah, lan aku mikir kepiye cara kerjane ing antarane kutha kanthi jarak ~100 km. Pranyata menarik yen latensi ing antarane kutha-kutha kasebut 100ms luwih dhuwur tinimbang versi asli kita (menyang Taiwan). Kacepetan, stabilitas uga luwih apik kanggo Taiwan. Akibaté, kita ninggalake HK minangka wilayah IPSEC serep.

Kajaba iku, kita nyoba nginstal instalasi ing ngisor iki:

  • mungkasi klien ing Beijing,
  • IPSEC lan CEN menyang Tokyo,
  • ing Ali CDN server ing Beijing dituduhake minangka asal.

Skema iki ora stabil, sanajan saka segi kacepetan umume ora kalah karo solusi kita. Babagan trowongan, aku wis weruh irungnya intermiten malah kanggo CEN, kang kudu wis stabil. Mulane, kita bali menyang rencana lawas lan dismantled pementasan iki.

Ing ngisor iki ana statistik babagan latensi antarane wilayah sing beda kanggo saluran sing beda. Mungkin wong bakal kasengsem ing.

IPsec
Ali cn-beijing GCP asia-northeast1 — 193ms
Ali cn-shenzhen GCP asia-wétan2 — 91ms
Ali cn-shenzhen GCP us-east4 — 200ms

Cen
Ali cn-beijing Ali ap-northeast-1 — 54ms (!)
Ali cn-shenzhen Ali cn-hongkong — 6ms (!)
Ali cn-shenzhen Ali us-east1 — 216ms

Informasi umum babagan Internet ing China

Minangka tambahan kanggo masalah karo Internet diterangake ing awal banget, ing bagean pisanan saka artikel.

  • Internet ing China cukup cepet nang.
    • Kesimpulan kasebut digawe adhedhasar uji coba jaringan Wi-Fi umum ing macem-macem lokasi ing ngendi jaringan kasebut digunakake dening akeh wong.
    • Kecepatan download lan upload menyang server ing China kira-kira 20 Mbit / s lan 5-10 Mbit / s.
    • Kacepetan menyang server ing njaba China mung sithik, kurang saka 1 Mbit / s.
  • Internet ing China ora stabil banget.
    • Kadhangkala situs bisa mbukak kanthi cepet, kadhangkala alon-alon (ing wektu sing padha ing dina sing beda), yen konfigurasi ora owah. Kita mirsani iki kanthi conto semrushchina.cn. Iki bisa digandhengake karo Ali CDN, sing uga dianggo kanthi cara iki lan gumantung saka wektu, posisi lintang, lsp.
  • Internet seluler meh nang endi wae 4G utawa 4G+. Nyekel ing subway, elevator - ing cendhak, nang endi wae.
  • Iku mitos yen pangguna Cina mung dipercaya domain ing zona .cn. Kita sinau iki langsung saka pangguna.
    • Sampeyan bisa ndeleng carane http://baidu.cn pangalihan menyang www.baidu.com (ing daratan China uga).
  • Akeh sumber daya sing diblokir. Primitif: google.com, Facebook, Twitter. Nanging akeh sumber daya Google sing bisa digunakake (mesthi, ora kabeh Wi-Fi lan VPN ora digunakake (ing sisih router uga, mesthine).
  • Akeh domain "teknis" saka perusahaan sing diblokir uga bisa digunakake. Iki tegese sampeyan ora kudu ngethok kabeh Google lan sumber daya liyane sing katon diblokir. Sampeyan kudu nggoleki sawetara dhaptar domain sing dilarang.
  • Dheweke mung duwe telung operator Internet utama: China Unicom, China Telecom, China Mobile. Malah ana sing luwih cilik, nanging pangsa pasare ora pati penting

Bonus: diagram solusi pungkasan

Kepiye carane kita nembus Tembok Api Agung China (Bagian 3)

Asile

Setaun wis liwati wiwit wiwitan proyek kasebut. Kita miwiti kanthi kasunyatan manawa situs kita umume ora gelem kerja kanthi normal saka China, lan mung GET curl butuh 5.5 detik.

Banjur, kanthi indikator kasebut ing solusi pisanan (Cloudflare):

kaputusan
Uptime
Median
75 persentil
95 persentil

cloudflare
86.6
18
30
60

We pungkasane tekan asil ing ngisor iki (statistik kanggo sasi pungkasan):

kaputusan
Uptime
Median
75 persentil
95 persentil

Ali CDN + CEN/IPsec + GLB
99.86
8.8
9.5
13.7

Kaya sing sampeyan ngerteni, kita durung bisa nggayuh 100% uptime, nanging kita bakal nemokake apa wae, banjur kita bakal ngandhani babagan asil ing artikel anyar :)

Ngaturaken sugeng riyadi dhumateng ingkang maos tigang perangan ngantos rampung. Muga-muga sampeyan nemokake kabeh iki minangka menarik kaya nalika aku nindakake.

P.S. Bagean sadurunge

Bagéan saka 1
Bagéan saka 2

Source: www.habr.com

Tuku hosting sing dipercaya kanggo situs kanthi proteksi DDoS, server VPS VDS 🔥 Tuku hosting situs web sing bisa dipercaya nganggo proteksi DDoS, server VPS VDS | ProHoster