ЁЯЫ╡ рдзрдбрд╛ 08 тАФ Types & pricing: scooters, trucks, рдЖрдгрд┐ standby seats
ЁЯУН рддреБрдореНрд╣реА рдЗрдереЗ рдЖрд╣рд╛рдд: 12 рдкреИрдХреА рдзрдбрд╛ 08 ┬╖ рдорд╛рдЧреЗ: lesson-07-what-is-ec2 ┬╖ рдкреБрдвреЗ: lesson-09-connecting
ЁЯУж рдпрд╛ рдмреНрд░рдБрдЪрдордзреНрдпреЗ рдХрд╛рдп рдЖрд╣реЗ
рдзрдбреЗ 01тАУ07, рдЖрдгрд┐ рддреНрдпрд╛рд╕реЛрдмрдд: instance-type рдЪреА рдирд╛рд╡реЗ рд╕рд╣рдЬ рд╡рд╛рдЪрдгреЗ рдЖрдгрд┐ payment plan рдирд┐рд╡рдбрдгреЗ тАФ рдкреНрд░рддреНрдпреЗрдХ AWS bill рдорд╛рдЧрдЪреЗ рджреЛрди рдирд┐рд░реНрдгрдп.
ЁЯзТ 5 рд╡рд░реНрд╖рд╛рдВрдЪреНрдпрд╛ рдореБрд▓рд╛рд▓рд╛ рд╕рдордЬрд╛рд╡рд▓реНрдпрд╛рд╕рд╛рд░рдЦреЗ
рд╡рд╛рд╣рди рдирд┐рд╡рдбрдгреЗ ЁЯЪЧ тАФ рднрд╛рдбреНрдпрд╛рдЪреНрдпрд╛ рдХрд╛рдЙрдВрдЯрд░рдЪреЗ garage, рдХрд╛рдорд╛рдиреБрд╕рд╛рд░:
- ЁЯЫ╡ t-family (t3.microтАж) тАФ scooters: рд╕реНрд╡рд╕реНрдд, рдереЛрдбреНрдпрд╛ рд╡реЗрд│рд╛рдЪреНрдпрд╛ рдЭрдЯрдХреНрдпрд╛рдВрд╕рд╛рдареА рдЪрдкрд│, рд╕рддрддрдЪреНрдпрд╛ рднрд╛рд░рд╛рдЦрд╛рд▓реА рдзрд╛рдкрд╛ рдЯрд╛рдХрдгрд╛рд░реЗ ("burstable"). Dev boxes, рд▓рд╣рд╛рди sites, labs тАФ рдЖрдкрд▓рд╛ t3.micro рдЖрд╣реЗ.
- ЁЯЪЧ m-family тАФ sedans: CPU/RAM рд╕рдВрддреБрд▓рд┐рдд. рд╕рд╛рдорд╛рдиреНрдп apps рд╕рд╛рдареА рдкрд╣рд┐рд▓рд╛ рдЕрдВрджрд╛рдЬ; EKS node groups рдмрд╣реБрддреЗрдХрджрд╛ рдЗрдереЗрдЪ рдЕрд╕рддрд╛рдд (k8s course рдиреЗ рд╕реНрд╡рд╕реНрдд рд░рд╛рд╣рдгреНрдпрд╛рд╕рд╛рдареА t3.small рд╡рд╛рдкрд░рд▓рд╛).
- ЁЯПОя╕П c-family тАФ race cars: рдкреНрд░рддрд┐ GB рднрд░рдкреВрд░ CPU. Encoding, compiling, рдЖрдХрдбреЗрдореЛрдб.
- ЁЯЪЪ r-family тАФ moving trucks: рдкреНрд░рддрд┐ CPU рднрд░рдкреВрд░ RAM. Databases, caches.
рдирд╛рд╡ рд╡рд╛рдЪрдгреЗ: t3.micro = family t, generation 3, size micro.
рдореЛрдард╛ size = рдиреЗрдордХрд╛ рджреБрдкреНрдкрдЯ: large тЖТ xlarge тЖТ 2xlargeтАж
Payment plan рдирд┐рд╡рдбрдгреЗ ЁЯТ│ тАФ рддреЛрдЪ рдмрд╛рдХ, рддреАрди рдХрд┐рдорддреА:
- On-demand: рджрд░ second рд▓рд╛ рдкреИрд╕реЗ, рдХрдзреАрд╣реА рд╕реЛрдбрд╛. рд▓рд╡рдЪрд┐рдХ, рд╕рд░реНрд╡рд╛рдд рдорд╣рд╛рдЧ.
- Savings plan / reserved ЁЯОл: рдПрдХ season ticket тАФ 1тАУ3 рд╡рд░реНрд╖рд╛рдВрдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рдЪреЗ рд╡рдЪрди рджреНрдпрд╛, ~70% рдкрд░реНрдпрдВрдд рдмрдЪрдд рдХрд░рд╛. рдЬреЛ рднрд╛рд░ рдирдХреНрдХреА рдЕрд╕рдгрд╛рд░ рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдорд╛рд╣реАрдд рдЖрд╣реЗ рддреНрдпрд╛рд╕рд╛рдареА.
- Spot ЁЯОЯя╕П: рдПрдХ standby seat тАФ ~90% рдкрд░реНрдпрдВрдд рд╕рд╡рд▓рдд, рдкрдг рдкреВрд░реНрдг рднрд╛рдбреЗ рджреЗрдгрд╛рд░рд╛ рдЧреНрд░рд╛рд╣рдХ рдЖрд▓рд╛ рдХреА рддреБрдореНрд╣рд╛рд▓рд╛ 2 рдорд┐рдирд┐рдЯрд╛рдВрдЪреНрдпрд╛ рдЗрд╢рд╛рд▒реНрдпрд╛рдиреЗ рдЙрдард╛рдпрд▓рд╛ рд╕рд╛рдВрдЧрд┐рддрд▓реЗ рдЬрд╛рддреЗ. рднреАрддреАрджрд╛рдпрдХ рд╡рд╛рдЯрддреЗ тАФ рдкрдг рдмрд╛рдХ рдмрджрд▓реВ рд╢рдХрдгрд╛рд▒реНрдпрд╛ рдХрд╛рдорд╛рд╕рд╛рдареА рд╣реА рдорд╣рд╛рд╢рдХреНрддреА рдЖрд╣реЗ (рдЖрдгрд┐ k8s pods, тШ╕я╕П course рдЪрд╛ рдзрдбрд╛ 03, рдиреЗрд╣рдореАрдЪ рдмрд╛рдХ рдмрджрд▓реВ рд╢рдХрддрд╛рддтАж).
ЁЯЧ║я╕П рдЖрдХреГрддреА
flowchart TB
subgraph garage["ЁЯЪЧ pick the vehicle"]
t["ЁЯЫ╡ t3 - scooter<br/>bursty ┬╖ dev ┬╖ labs"]
m["ЁЯЪЧ m - sedan<br/>balanced ┬╖ default"]
c["ЁЯПОя╕П c - race car<br/>CPU-heavy"]
r["ЁЯЪЪ r - truck<br/>RAM-heavy ┬╖ DBs"]
end
subgraph lanes["ЁЯТ│ pick the plan"]
od["on-demand<br/>flexible ┬╖ priciest"]
sp["ЁЯОл savings plan<br/>1-3yr promise ┬╖ -70%"]
spot["ЁЯОЯя╕П spot<br/>-90% ┬╖ 2-min reclaim"]
end
rule["ЁЯза steady base тЖТ season ticket<br/>spiky extra тЖТ on-demand<br/>movable work тЖТ spot"]
garage --> rule
lanes --> rule
тЭУ рдХрд╛рдп
- рддреБрдореНрд╣рд╛рд▓рд╛ рднреЗрдЯрдгрд╛рд░реА suffixes:
g= Graviton/ARM (рдкреНрд░рддрд┐ рдХрд╛рдорд╛рдЪреНрдпрд╛ рдПрдХрдХрд╛рд╕рд╛рдареА рд╕реНрд╡рд╕реНрдд тАФ рд╡рд╛рдкрд░реВрди рдкрд╛рд╣рд╛),d= local NVMe disk,n= рдЬрд╛рд╕реНрддреАрдЪреЗ network. - Burst credits: t-family рд░рд┐рдХрд╛рдореА рдЕрд╕рддрд╛рдирд╛ credits рд╕рд╛рдард╡рддреЗ, рднрд╛рд░рд╛рдЦрд╛рд▓реА рдЦрд░реНрдЪ рдХрд░рддреЗ. рд▓рд╣рд╛рди, рдЕрдзреВрдирдордзреВрди рдЙрд╕рд│рдгрд╛рд▒реНрдпрд╛ рдЧреЛрд╖реНрдЯреАрдВрд╕рд╛рдареА рдЙрддреНрддрдо; рд╕рддрдд 100% CPU рд╕рд╛рдареА рдЪреБрдХреАрдЪреА.
- Bill рдордзрд▓реНрдпрд╛ рдЗрддрд░ рдУрд│реА: EBS disks (рдзрдбрд╛ 11), рдмрд╛рд╣реЗрд░ рдЬрд╛рдгрд╛рд░реЗ data transfer, рдЖрдгрд┐ NAT gateways (рдХрд╛ рддреЗ k8s course рдЪреНрдпрд╛ рдЦрд░реНрдЪрд╛рдЪреНрдпрд╛ рдЗрд╢рд╛рд▒реНрдпрд╛рд▓рд╛ рд╡рд┐рдЪрд╛рд░рд╛ ЁЯШД).
- рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд╛рдкрд░рд╛рддреАрд▓ рддрд╛рдлреНрдпрд╛рдЪрд╛ рдЖрдХрд╛рд░: savings-plan рдЪрд╛ рдкрд╛рдпрд╛ + on-demand рдЪреА рдореЛрдХрд│реАрдХ + рдерд╛рдВрдмрд╡рддрд╛ рдпреЗрдгреНрдпрд╛рдЬреЛрдЧреНрдпрд╛ рдореЛрдареНрдпрд╛ рдХрд╛рдорд╛рд╕рд╛рдареА spot. EKS рдордзрд▓реЗ managed node groups рдиреЗрдордХреЗ рдЕрд╕реЗрдЪ рдорд┐рд╕рд│рддрд╛рдд.
ЁЯдФ рдХрд╛
Instance рдирд┐рд╡рдб рдореНрд╣рдгрдЬреЗрдЪ cost engineering: рди рдЬреБрд│рдгрд╛рд▒реНрдпрд╛ types рдЖрдгрд┐ рдорд╛рд░реНрдЧрд╛рдВрд╡рд░ рддреЗрдЪ workload 5├Ч рдЬрд╛рд╕реНрдд рдЦрд░реНрдЪрд┐рдХ рд╣реЛрдК рд╢рдХрддреЗ. рдЖрдгрд┐ spot рд╣реА cloud-native рд╢рд┐рд╕реНрддреАрдЪреА рдкреНрд░рд╛рдорд╛рдгрд┐рдХ рдкрд░реАрдХреНрд╖рд╛ рдЖрд╣реЗ тАФ 2 рдорд┐рдирд┐рдЯрд╛рдВрдЪреНрдпрд╛ рд╕реВрдЪрдиреЗрд╡рд░ рдмрд╛рдХ рдЧрдорд╛рд╡рдгреЗ рддреБрдордЪреЗ app рд╕рд╣рди рдХрд░реВ рд╢рдХрдд рдирд╕реЗрд▓, рддрд░ k8s course рдЪреНрдпрд╛ рдзрдбреЗ 02тАУ03 рдордзреНрдпреЗ рддреБрдордЪреНрдпрд╛рд╕рд╛рдареА рдЧреГрд╣рдкрд╛рда рдЖрд╣реЗ.
ЁЯзк рдХрд░реВрди рдкрд╛рд╣рд╛ (рдореЛрдлрдд тАФ рдлрдХреНрдд рджреБрдХрд╛рдирд╛рдд рдкрд╛рд╣рдгреЗ)
# what does a t3.micro actually give you?
aws ec2 describe-instance-types --instance-types t3.micro t3.small m5.large \
--query 'InstanceTypes[].{type:InstanceType,vcpu:VCpuInfo.DefaultVCpus,memMiB:MemoryInfo.SizeInMiB}' --output table
# today's spot discount in your region (compare with on-demand ~$0.01/hr for t3.micro):
aws ec2 describe-spot-price-history --instance-types t3.micro \
--product-descriptions "Linux/UNIX" --max-items 3 \
--query 'SpotPriceHistory[].{az:AvailabilityZone,price:SpotPrice}' --output table
# your account's current desk count (should be 0 after lesson 07's destroy!):
aws ec2 describe-instances --query 'Reservations[].Instances[].State.Name' --output text | sort | uniq -c
тЬЕ рддрдкрд╛рд╕рд╛ тАФ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рдп рджрд┐рд╕рд╛рдпрд▓рд╛ рд╣рд╡реЗ
aws ec2 describe-spot-price-history --instance-types t3.micro console рдордзреНрдпреЗ рджрд┐рд╕рдгрд╛рд▒реНрдпрд╛ on-demand рдХрд┐рдорддреАрдЪреНрдпрд╛ рдХрд╛рд╣реА рдЕрдВрд╢рд╛рд╡рд░ spot рджрд╛рдЦрд╡рддреЛ.
ЁЯз╣ рд╕рд╛рдлрд╕рдлрд╛рдИ тАФ рдХрд╛рд╣реАрд╣реА рдЪрд╛рд▓реВ рдареЗрд╡реВ рдирдХрд╛
рд╕рд╛рдл рдХрд░рдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдХрд╛рд╣реА рдирд╛рд╣реА тАФ рд╣рд╛ рдзрдбрд╛ рдореЛрдлрдд рдЖрд╣реЗ ЁЯОЙ
тЪая╕П рдиреЗрд╣рдореАрдЪреНрдпрд╛ рдЪреБрдХрд╛
- workload рд╕реНрдерд┐рд░ рд╣реЛрдгреНрдпрд╛рдЖрдзреАрдЪ savings plan рдЪреЗ рд╡рдЪрди рджреЗрдгреЗ
- database рд╕рд╛рдареА spot тАФ 2 рдорд┐рдирд┐рдЯрд╛рдВрдЪреНрдпрд╛ рдЗрд╢рд╛рд▒реНрдпрд╛рдиреЗ рдкрд░рдд рдШреЗрддрд▓рд╛ рдЬрд╛рддреЛ
- рд╕рддрдд CPU рдЦрд╛рдгрд╛рд▒реНрдпрд╛ рдХрд╛рдорд╛рд╕рд╛рдареА
tburstable type тАФ credits рд╕рдВрдкрддрд╛рдд, рддреЗ рд░рд╛рдВрдЧреВ рд▓рд╛рдЧрддреЗ
тПня╕П рдкреБрдвреЗ
рддреБрдореНрд╣реА рдмрд╛рдХ рднрд╛рдбреНрдпрд╛рдиреЗ рдШреЗрддрд▓рд╛ тАФ рдЖрддрд╛ рддреНрдпрд╛рдЪреНрдпрд╛рдЬрд╡рд│ рдЬрд╛: key pairs, SSH, рдЖрдгрд┐ рдЙрдШрдбреЗ рджрд╛рд░ рдирд╕рд▓реЗрд▓рд╛ рдЖрдзреБрдирд┐рдХ рдорд╛рд░реНрдЧ (SSM).
git checkout lesson-09-connecting