Kapag nagsimula ako na gamitin ang AWS EC2, naniniwala ko na ako ay bumalik sa isang server. Ito ang sinabi ng karamihan ng mga tutorials. Just “launch a instance” at ikaw ay mahusay. Ngunit kung ano ang hindi ko alam ay ito: ang EC2 ay simpleng sa surface, ngunit may maraming mga detalye na ibinigay na maaaring makakakuha ka ng oras, pera, at sanity. Narito ang lahat ng gusto ko na sinabi sa akin bago ko ginagamit ang EC2 para sa unang pagkakataon - kaya maaari mong maiwasan ang mga error na ginawa ko. Ang pagpipilian ng parehong uri ng instance ay hindi optional at malapit na ding maging isang trahedya na ang na ang at ang mga ito. t2.micro t3.medium m5.large Pagkatapos, pinili ko ang pinaka-mahal na - Libre ang buhay, hindi ba? t2.micro Ngunit ang aking app ay patuloy na crashing. Hindi ko alam kung paano gumagana ang mga “burstable” instances. : What I learned t2.micro ay gumagamit ng CPU credits. Maaari mo ang mga credits sa panahon at gumagamit ang mga ito kapag ang iyong app ay kailangan ng higit pa CPU. Kung i-execute ang isang long-running proseso ( tulad ng isang build o script), maaari mong i-execute ang mga credits mabilis. Kapag bumalik na ako sa UP, i'll start building a new me. : What to do instead Kung ikaw ay lamang eksperimento o hosting ng isang static site, t2.micro ay okay. Kung kailangan mo ng isang bagay na mas stable para sa mga trabaho ng background, gamitin ang serye ng t3 o m. Always matugunan ang instance sa iyong tunay na workload — hindi ang price tag. Ang mga grupo ng seguridad ay mga firewall (at ang mga ito ay mahalaga) Kapag inilunsad ko ang aking EC2 instance, hindi ko maaaring i-SSH sa kanya. Nagsimula ako sa broken. Ngunit ito ay lamang ang - Ang bersyon ng EC2 ng isang firewall - blocking ang aking access. security group : What I learned Sa default, EC2 blocks ang lahat ng incoming traffic. Kailangan mong manually i-open ang mga port, kahit na para sa SSH (port 22) o HTTP (port 80). Kung nais mong bisitahin ang iyong app sa isang browser, kailangan mong itakda ang port 80 (o 443 para sa HTTPS). : What to do instead Kapag i-set up ang iyong instance, i-add a rule to allow SSH mula sa iyong IP. Para sa mga public na mga website, i-enable ang HTTP at HTTPS. Huwag mag-open ang lahat ng mga port sa mundo. Ito ay nangangailangan ng mga problema. Ang EC2 ay lamang isang empty server Kapag bumalik na ako sa aking instance, tiped ko ang I-install ang aking Node app. node “Hindi pa rin ang command.” Ako ay nagtatrabaho Pero hindi naman ito ginagawa. git pull Then it hit me — ang EC2 ay lamang isang Walang bagay ay preinstalled. bare OS : What I learned Kailangan mo upang i-install ang lahat: Node, Python, Git, Nginx, ang anumang bagay. Walang GUI, lamang ang isang terminal. Basically, ito ay tulad ng pag-alok ng isang computer mula sa cloud. : What to do instead Gamitin ang isang startup script upang automatize ang initial setup. O lumikha ng iyong personal na AMI kapag ang lahat ay naka-configure tulad ng gusto mo. If you’re deploying often, consider using or with pre-installed stacks. Elastic Beanstalk AWS AMI images Ang EC2 ay hindi i-save ang iyong data kung hindi mo sinabi ito sa I've once restarted ang aking EC2 instance at ang lahat ng aking app files ay nawala. Gone ang Bakit? ako ay gumagamit ng — na tinutukoy clean sa stop/start. ephemeral storage : What I learned EC2 ay may dalawang pangunahing uri ng storage: Instance Store (temporary) at EBS (persistent). Ang mga volumes ng EBS lamang ay naglalaman ng iyong data pagkatapos ng shutdown. Some AMIs default to instance store unless changed. : What to do instead Always use EBS para sa anumang bagay na mahalaga. Makakuha ng mga snapshots ng iyong volume regularly. Kung kailangan mo ng mas mataas na durability, tingnan ang paglagay ng mga file sa S3 sa halip. Ang Public IPs ay maaaring mababago (hindi mo ginagamit ang Elastic IPs) Natuklasan ko ang isang maliit na app, i-deploy ito sa EC2, at ibinigay ang IP sa aking mga kaibigan. Pagkatapos ng ilang araw, sinabi nila na ito ay hindi gumagana. I checked. ang public IP ay nagbabago. : What I learned Ang EC2 ay naghahatid ng isang bagong public IP sa bawat pagkakataon na i-stop at i-start ang instance. Kung gusto mo ng isang stabilong IP, kailangan mong gamitin ang isang Elastic IP. : What to do instead Pumunta sa EC2 > Elastic IPs at i-allocate ang isa. Ipasok ito sa iyong instance. I-update ang iyong DNS o gamitin ang IP na ito sa iyong frontend code. Note: Maaari mong i-charge para sa unused Elastic IPs, kaya i-release ang mga ito kapag hindi kinakailangan. SSH Key Pairs ay ang lahat Hindi mo maaaring mag-login lamang sa isang password. Kapag bumalik na ako sa UP, i'll start building a new me. - ang ang file. key pair .pem I deleted my thinking na hindi ko kailangan ito lagi. Big ang error. : What I learned Walang .pem file, hindi mo maaaring SSH sa instance. Kung ikaw nawala ito, kailangan mo upang bumuo ng isang bagong instance o gamitin ang isang snapshot workaround. : What to do instead Pumunta ang iyong key sa seguridad. Huwag i-delete ito kung hindi mo 100% nagtatapos sa instance. Gamit ang isang password manager o isang secure backup tool. Kailangan mo upang i-set up ang Auto Shutdown o ikaw ay ibinigay I've once left a EC2 instance running para sa isang buwan. Hindi ko na alam ito. Pagkatapos ay dumating ang bill. : What I learned EC2 charges sa ikalawang, ngunit lamang habang ang instance ay gumagana. Walang warning o reminder kung ang isang bagay ay nagtatrabaho. : What to do instead I-set ang isang calendar reminder upang i-stop ang unused instances. Gamit ang AWS Budgets upang makakuha ng alerts sa gastos. Maaari kang mag-set up ng isang Lambda function para sa auto-stop idle EC2 instances. EC2 ay malakas, ngunit hindi pa rin ang pinakamahusay na pagpipilian Kung ikaw lamang ay naghost ng isang static website, EC2 ay overkill. Sama na kung hindi mo gustong pamahalaan ang Linux. : What I learned EC2 ay nagbibigay sa iyo ng kumpletong kontrol - na nangangahulugan ng kumpletong responsibilidad. For simpler use cases, AWS offers easier tools: for frontend apps Amplify for managed backends Elastic Beanstalk for WordPress or quick server setup Lightsail for serverless tasks Lambda : What to do instead Pag-iisip mo kung ano ang kailangan mo sa katotohanan. Kung ikaw ay lamang na-test ng isang bagay, ang EC2 ay okay. Ngunit huwag i-driving ang iyong sarili sa pag-manage ng infrastructure kung hindi ito may kaalaman. Final na mga ideya EC2 ay isang malakas na tool. Ngunit tulad ng karamihan sa mga serbisyo ng AWS, ito ay nangangahulugan na alam mo kung ano ang iyong ginagawa. Ang dokumento ay hindi palagi ang mga bagay simpleng. At isang maliit na setting ay maaaring humantong sa mga oras ng mga debugging o unforeseen costs. Ngunit kapag alam mo ang mga pangunahing - instances, IPs, storage, firewalls - ang EC2 ay nagsisimula na magkaroon ng kaalaman. Ito ay naging isang tool na maaari mong panatilihin. Pumunta lamang: magtatrabaho sa EC2 tulad ng isang tunay na server. Dahil ito ay exaktong kung ano ito ay. At isang maliit na pagsasanay ay makakuha ka ng maraming sakit pagkatapos.