Awọn Nẹtiwọọki Ifijiṣẹ Akoonu (CDNs) ni a lo ni awọn oju opo wẹẹbu ati awọn ohun elo ni akọkọ lati yara ikojọpọ awọn eroja aimi. Eyi ṣẹlẹ nitori fifipamọ awọn faili lori awọn olupin CDN ti o wa ni oriṣiriṣi awọn agbegbe agbegbe. Nipa bibere data nipasẹ CDN, olumulo gba lati ọdọ olupin to sunmọ.
Ilana ti iṣẹ ati iṣẹ ṣiṣe ti gbogbo awọn nẹtiwọọki ifijiṣẹ akoonu jẹ isunmọ kanna. Lẹhin ti o ti gba ibeere kan lati ṣe igbasilẹ faili kan, olupin CDN gba akoko kan lati olupin atilẹba ti o fun olumulo naa, ni akoko kanna fifipamọ rẹ fun akoko kan pato. Gbogbo awọn ibeere ti o tẹle ni idahun lati kaṣe. Gbogbo CDN ni awọn aṣayan lati ṣaju awọn faili, ko kaṣe kuro, ṣeto ọjọ ipari, ati diẹ sii.
O ṣẹlẹ pe, fun idi kan tabi omiiran, o nilo lati ṣeto nẹtiwọọki ifijiṣẹ akoonu tirẹ, ati lẹhinna - jẹ ki awọn ilana fun apejọ keke ti o tẹle jẹ iranlọwọ fun wa.
nigba ti ifẹ kan wa lati fi owo pamọ, ati awọn idiyele ṣiṣe paapaa nigba lilo awọn CDN ti ko gbowolori bi BunnyCDN iye to orisirisi awọn ọgọrun dọla osu kan
ti a ba fẹ lati gba kaṣe ayeraye tabi kaṣe laisi olupin ati awọn aladugbo ikanni
Awọn iṣẹ CDN ko ni awọn aaye ti wiwa ni agbegbe ti o nilo
eyikeyi awọn eto ifijiṣẹ akoonu pataki ti o nilo
a fẹ lati ṣe iyara ifijiṣẹ akoonu ti o ni agbara nipa gbigbe olupin iṣelọpọ sunmọ awọn olumulo
ibakcdun kan wa pe iṣẹ CDN ẹni-kẹta le gba ni ilodi si tabi lo alaye nipa ihuwasi olumulo (hello awọn iṣẹ ti ko ni ibamu pẹlu GDPR) tabi ṣe awọn iṣẹ arufin miiran
Ni ọpọlọpọ awọn ọran miiran, o jẹ deede diẹ sii lati lo awọn solusan ti a ti ṣetan tẹlẹ.
Kini o nilo lati bẹrẹ
O jẹ ohun iyanu ti o ba ni Eto Adase ti tirẹ (AS). Pẹlu rẹ, o le fi IP kanna si awọn olupin pupọ ati gẹgẹ bi ilana yii ni ipele nẹtiwọki, taara awọn olumulo si ọkan ti o sunmọ julọ. O tọ lati sọ pe paapaa pẹlu bulọọki adirẹsi / 24, o ṣee ṣe lati kọ nẹtiwọọki ifijiṣẹ akoonu kan. Diẹ ninu awọn olupese olupin gba ọ laaye lati ṣe ikede fun lilo ni gbogbo awọn agbegbe ti o wa fun wọn.
Ti o ko ba jẹ oniwun idunnu ti bulọọki ti awọn adirẹsi IP, lẹhinna lati ṣiṣẹ CDN ti o rọrun iwọ yoo nilo:
ašẹ orukọ tabi subdomain
o kere ju meji olupin ni orisirisi awọn agbegbe. Awọn olupin le jẹ boya igbẹhin tabi foju
geoDNS ọpa. Pẹlu rẹ, olumulo, ti o ba ti koju agbegbe naa, yoo ṣe itọsọna si olupin ti o sunmọ julọ
Forukọsilẹ agbegbe ati paṣẹ awọn olupin
Pẹlu iforukọsilẹ agbegbe, ohun gbogbo rọrun - a forukọsilẹ ni agbegbe eyikeyi pẹlu Alakoso eyikeyi. O tun le lo subdomain fun CDN, fun apẹẹrẹ nkankan bi cdn.domainname.com. Ní ti gidi, nínú àpẹẹrẹ wa, a óò ṣe bẹ́ẹ̀.
Bi fun pipaṣẹ awọn olupin, wọn yẹ ki o yalo ni awọn agbegbe ati awọn orilẹ-ede nibiti olugbo olumulo rẹ wa. Ti iṣẹ akanṣe naa ba jẹ intercontinental, lẹhinna o rọrun lati yan awọn olupese alejo gbigba ti o pese awọn olupin ni gbogbo agbaye ni ẹẹkan. Awọn apẹẹrẹ: OVH, iyalo wẹẹbu и 100TB - fun awọn olupin ifiṣootọ, Lọ и DigitalOcean — fun foju awọsanma.
Fun CDN aladani wa, a yoo paṣẹ awọn olupin foju 3 lori awọn kọnputa oriṣiriṣi. Ni Lọ lori olupin fun $5 fun osu kan ao gba 25GB SSD ibi ati 1TB ti ijabọ. Nigbati o ba nfi sii, yan Debian tuntun. Awọn olupin wa:
Frankfurt, IP: 199.247.18.199
Chicago, IP: 149.28.121.123
Сингапур, IP: 157.230.240.216
* Vultr ati DigitalOcean ṣe ileri kirẹditi $ 100 si awọn olumulo ti o forukọsilẹ nipasẹ awọn ọna asopọ ninu nkan naa lẹsẹkẹsẹ lẹhin fifi ọna isanwo kun. Onkọwe tun gba iyin kekere kan lati eyi, eyiti o ṣe pataki pupọ fun u ni bayi. Jọwọ jẹ oye.
Ṣiṣeto geoDNS
Ni ibere fun olumulo lati dari si olupin ti o fẹ (sunmọ) nigbati o n wọle si aaye kan tabi CDN subdomain, a nilo olupin DNS pẹlu iṣẹ geoDNS.
Ilana ati iṣẹ ti geoDNS jẹ bi atẹle:
Ni pato IP ti alabara ti o firanṣẹ ibeere DNS, tabi IP ti olupin DNS loorekoore ti o lo nigba ṣiṣe ibeere alabara. Iru awọn olupin ti n ṣe atunṣe nigbagbogbo jẹ awọn DNS-s ti awọn olupese.
IP ti alabara mọ orilẹ-ede tabi agbegbe rẹ. Fun eyi, awọn apoti isura infomesonu GeoIP ti lo, eyiti ọpọlọpọ wa loni. Awọn ti o dara wa free awọn aṣayan.
Ti o da lori ipo ti alabara, yoo fun ni adiresi IP ti olupin CDN ti o sunmọ.
Olupin DNS pẹlu iṣẹ geoDNS le jẹ kojọpọ funrararẹ, ṣugbọn o dara lati lo awọn iṣeduro ti a ti ṣetan pẹlu nẹtiwọki ti awọn olupin DNS ni ayika agbaye ati Anycast lati apoti:
Clouds lati $9.95 fun osu kan, GeoDNS idiyele, nipa aiyipada nibẹ ni ọkan DNS Ikuna
Ọna Amazon 53 lati $35 fun osu kan fun net 50M geo-ibeere. Ikuna DNS jẹ owo sisan lọtọ
DNS Ṣe Rọrun lati $125 fun osu kan, o wa 10 DNS Ikuna
Oju awọsanma, "Geo Steering" ẹya wa ni awọn eto Idawọlẹ
Nigbati o ba n paṣẹ geoDNS, o yẹ ki o san ifojusi si nọmba awọn ibeere ti o wa ninu owo idiyele ati ki o ranti pe nọmba gangan ti awọn ibeere si agbegbe le kọja awọn ireti nipasẹ ọpọlọpọ igba. Awọn miliọnu awọn alantakun, awọn ọlọjẹ, awọn spammers ati awọn ẹmi buburu miiran n ṣiṣẹ lainidi.
Fere gbogbo awọn iṣẹ DNS pẹlu iṣẹ ti ko ṣe pataki fun kikọ CDN kan – Ikuna DNS. Pẹlu iranlọwọ rẹ, o le ṣeto ibojuwo iṣẹ ti awọn olupin rẹ ati, ni laisi awọn ami ti igbesi aye, rọpo adirẹsi ti olupin ti kii ṣe iṣẹ pẹlu ọkan afẹyinti ni awọn idahun DNS.
Jẹ ki a ṣafikun agbegbe DNS tuntun ninu akọọlẹ ti ara ẹni, ti n ṣalaye agbegbe rẹ. Ti a ba n kọ CDN kan lori subdomain, ati pe agbegbe akọkọ ti wa ni lilo tẹlẹ, lẹhinna lẹsẹkẹsẹ lẹhin fifi agbegbe kun, maṣe gbagbe lati ṣafikun awọn igbasilẹ DNS ti n ṣiṣẹ tẹlẹ. Igbesẹ t’okan ni lati ṣẹda ọpọlọpọ awọn igbasilẹ A fun agbegbe CDN / subdomain, ọkọọkan eyiti yoo lo si agbegbe ti a pato. O le pato awọn continents tabi awọn orilẹ-ede bi awọn agbegbe, awọn agbegbe-ipin wa fun USA ati Canada.
Ninu ọran wa, CDN yoo dide lori subdomain kan cdn.sayt.in. Nipa fifi agbegbe kan kun sọ.in, ṣẹda igbasilẹ A-akọkọ fun subdomain ati tọka gbogbo Ariwa America si olupin ni Chicago:
Jẹ ki a tun iṣẹ naa fun awọn agbegbe miiran, ni iranti lati ṣẹda titẹsi kan fun awọn agbegbe aiyipada. Eyi ni ohun ti o ṣẹlẹ ni ipari:
Akọsilẹ aiyipada ti o kẹhin ninu sikirinifoto tumọ si pe gbogbo awọn agbegbe ti a ko sọ pato (ati iwọnyi jẹ Yuroopu, Afirika, awọn olumulo Intanẹẹti satẹlaiti, ati bẹbẹ lọ) yoo firanṣẹ si olupin ni Frankfurt.
Eyi pari iṣeto ipilẹ DNS. O ku lati lọ si oju opo wẹẹbu Alakoso agbegbe ati rọpo NSs lọwọlọwọ pẹlu awọn ti a gbejade nipasẹ ClouDNS. Ati nigba ti NS yoo wa ni imudojuiwọn, a yoo mura awọn olupin.
Fifi sori ẹrọ ti awọn iwe-ẹri SSL
CDN wa yoo ṣiṣẹ lori HTTPS, nitorina ti o ba ti ni awọn iwe-ẹri SSL tẹlẹ fun agbegbe kan tabi subdomain, gbe wọn si gbogbo awọn olupin, fun apẹẹrẹ, si itọsọna naa. /ati be be lo/ssl/agbegbe rẹ/
Ti ko ba si awọn iwe-ẹri, o le gba ọkan ọfẹ lati Jẹ ki a Encrypt. Pipe fun eyi ACME Shellscript. Onibara jẹ rọrun ati rọrun lati ṣeto, ati pataki julọ, o fun ọ laaye lati fọwọsi agbegbe kan / subdomain nipasẹ DNS nipasẹ ClouDNS API.
A yoo fi acme.sh sori ọkan ninu awọn olupin nikan - European 199.247.18.199, eyiti awọn iwe-ẹri yoo ṣe daakọ si gbogbo awọn miiran. Lati fi sori ẹrọ, ṣiṣẹ:
Lakoko fifi sori ẹrọ ti iwe afọwọkọ, iṣẹ CRON yoo ṣẹda fun isọdọtun siwaju ti awọn iwe-ẹri laisi ikopa wa.
Nigbati o ba n funni ni ijẹrisi kan, agbegbe naa yoo ṣayẹwo ni lilo DNS nipa lilo API, nitorinaa ninu akọọlẹ ti ara ẹni ti ClouDNS ninu atokọ Alatunta API, o nilo lati ṣẹda API olumulo tuntun ati ṣeto ọrọ igbaniwọle kan fun rẹ. Abajade auth-id pẹlu ọrọ igbaniwọle kan yoo kọ sinu faili naa ~/.acme.sh/dnsapi/dns_cloudns.sh (kii ṣe idamu pẹlu faili dns_clouddns.sh). Eyi ni awọn laini ti o nilo lati jẹ aibikita ati ṣatunkọ:
Ninu awọn aṣayan, fun ọjọ iwaju, a ti ṣalaye aṣẹ kan lati tun ṣe atunto atunto olupin wẹẹbu laifọwọyi lẹhin isọdọtun kọọkan ti akoko ifọwọsi ijẹrisi ni ọjọ iwaju.
Gbogbo ilana ti gbigba ijẹrisi le gba to awọn iṣẹju 2, ma ṣe da duro. Ti aṣiṣe afọwọsi agbegbe kan ba waye, gbiyanju ṣiṣe aṣẹ naa lẹẹkansi. Ni ipari a yoo rii ibiti a ti gbe awọn iwe-ẹri silẹ:
Ranti awọn ọna wọnyi, wọn yoo nilo lati wa ni pato nigbati didakọ iwe-ẹri si awọn olupin miiran, bakannaa ninu awọn eto olupin wẹẹbu. A ko san ifojusi si aṣiṣe ti atunko awọn atunto Nginx - kii yoo wa lori olupin ti a tunto ni kikun nigbati o nmu awọn iwe-ẹri ṣiṣẹ.
Gbogbo ohun ti a ti fi silẹ fun SSL ni lati daakọ iwe-ẹri ti o gba si awọn olupin meji miiran lakoko mimu ọna si awọn faili naa. Jẹ ki a ṣẹda awọn ilana kanna lori ọkọọkan wọn ki o ṣe ẹda kan:
aláìṣiṣẹ́ - akoko ipamọ data ti a fipamọ ti ko si ẹnikan ti o wọle si
ssl_ijẹrisi и ssl_certificate_key - awọn ọna si ijẹrisi SSL ati awọn faili bọtini
proxy_cache_valid - akoko ipamọ ti data ipamọ
aṣoju-kọja - adirẹsi ti olupin atilẹba lati eyiti CDN yoo beere awọn faili fun caching. Ninu apẹẹrẹ wa, eyi sọ.in
Bi o ti le ri, ohun gbogbo ni o rọrun. Iṣoro le dide nikan ni ṣiṣeto akoko caching nitori ibajọra ti awọn itọsọna naa aláìṣiṣẹ́ и proxy_cache_valid. Jẹ ki a ṣe ayẹwo wọn pẹlu apẹẹrẹ wa. Eyi ni ohun ti o ṣẹlẹ nigbati aláìṣiṣẹ́mọ́=7d и proxy_cache_valid 90d:
Ti ibeere naa ko ba tun ṣe laarin awọn ọjọ 7, lẹhinna data naa yoo paarẹ lati kaṣe lẹhin asiko yii
Ti ibeere naa ba tun ṣe ni o kere ju lẹẹkan ni gbogbo ọjọ 7, lẹhinna data ti o wa ninu kaṣe naa yoo gba pe o jẹ arugbo lẹhin awọn ọjọ 90 ati Nginx yoo ṣe imudojuiwọn pẹlu ibeere atẹle, mu lati olupin atilẹba.
Ti pari lati ṣatunkọ nginx.conf, tun atunto sori ẹrọ:
root@cdn:~# service nginx reload
CDN wa ti šetan. Fun $15 fun osu kan. a gba awọn aaye ti wiwa lori awọn kọnputa mẹta ati TB 3 ti ijabọ: 1 TB ni ipo kọọkan.
Ṣiṣayẹwo iṣẹ ti CDN
Jẹ ki a wo awọn pings si CDN wa lati oriṣiriṣi awọn ipo agbegbe. Eyikeyi iṣẹ ping yoo ṣiṣẹ fun eyi.
Australia, Sydney
cdn.sayt.in
157.230.240.216
95.9
Awọn esi ti o dara. Bayi a yoo gbe aworan idanwo kan sinu gbongbo aaye akọkọ idanwo.jpg ati ṣayẹwo iyara igbasilẹ rẹ nipasẹ CDN. O ti wa ni wi - ṣe. Akoonu ti wa ni jiṣẹ ni kiakia.
Jẹ ki a kọ iwe afọwọkọ kekere kan ni ọran ti a fẹ lati ko kaṣe kuro lori aaye CDN. wẹ.sh
#!/bin/bash
if [ -z "$1" ]
then
echo "Purging all cache"
rm -rf /var/cache/cdn/*
else
echo "Purging $1"
FILE=`echo -n "$1" | md5sum | awk '{print $1}'`
FULLPATH=/var/cache/cdn/${FILE:31:1}/${FILE:29:2}/${FILE}
rm -f "${FULLPATH}"
fi
Lati pa gbogbo kaṣe rẹ, o kan ṣiṣẹ, faili lọtọ le di mimọ bi eleyi:
root@cdn:~# ./purge.sh /test.jpg
Dipo awọn ipinnu
Nikẹhin, Mo fẹ lati fun awọn imọran to wulo lati le ṣe igbesẹ lẹsẹkẹsẹ lori rake ti o jẹ ki ori mi dun ni akoko naa:
Lati mu ifarada aṣiṣe ti CDN pọ si, o niyanju lati tunto Iṣiṣe DNS, eyiti o ṣe iranlọwọ lati yi igbasilẹ A ni kiakia ni iṣẹlẹ ti didenukole olupin. Eyi ni a ṣe ni igbimọ iṣakoso awọn igbasilẹ DNS ti agbegbe naa.
Awọn aaye ti o ni agbegbe agbegbe ti o gbooro laisi iyemeji nilo nọmba nla ti CDN, ṣugbọn jẹ ki a maṣe jẹ agba. O ṣeese julọ olumulo kii yoo ṣe akiyesi iyatọ nla ni akawe si CDN ti o san ti o ba gbe awọn olupin si awọn ipo 6-7: Yuroopu, Ariwa America (ila-oorun), North America (oorun), Singapore, Australia, Ilu họngi kọngi tabi Japan
Nigba miiran awọn agbalejo ko gba laaye lilo awọn olupin iyalo fun awọn idi CDN. Nitorinaa, ti o ba pinnu lojiji lati fi nẹtiwọọki ifijiṣẹ akoonu ranṣẹ bi iṣẹ kan, maṣe gbagbe lati ka awọn ofin ti olupese alejo gbigba kan ni ilosiwaju.
Ye labeomi ibaraẹnisọrọ maplati ṣe aṣoju bi awọn kọnputa naa ṣe sopọ ki o ṣe akiyesi eyi nigbati o ba kọ nẹtiwọọki ifijiṣẹ akoonu kan
Gbiyanju lati ṣayẹwo pings lati yatọ si ibiti si awọn olupin rẹ. Ni ọna yii o le rii awọn agbegbe ti o sunmọ awọn aaye CDN ati tunto GeoDNS diẹ sii ni deede
Ti o da lori awọn iṣẹ-ṣiṣe, yoo jẹ iwulo lati tunne Nginx daradara fun awọn ibeere caching kan pato ati ni akiyesi fifuye lori olupin naa. Awọn nkan nipa kaṣe Nginx ṣe iranlọwọ fun mi pupọ pẹlu eyi - nibi ati isare ti ise labẹ eru eru: nibi и nibi