AWS Networking Fundamentals Sinhala Guide | VPC, Security, CDN, DNS

AWS Networking Fundamentals Sinhala Guide | VPC, Security, CDN, DNS

ආයුබෝවන් යාළුවනේ! අද අපි කතා කරන්න යන්නේ Cloud Computing වල හරිම වැදගත් කොටසක් ගැන – ඒ තමයි AWS Networking Fundamentals. Cloud එක කියන්නේ අහසේ තියෙන දෙයක් වුණාට, ඇත්තටම ඒක අපිට අපේම විදියට හදාගන්න පුළුවන් දැවැන්ත Network එකක්. ඒක හරියට, ඔයාට ඕන විදියට හදාගන්න පුළුවන් ඔයාගේම Virtual Data Center එකක් වගේ. Cloud කියන මේ දැවැන්ත අවකාශය ඇතුළේ, ඔයාට ඔයාගේ Servers, Databases, Applications වගේ හැමදේම තියාගන්න පුළුවන්, ඒවට ආරක්ෂාව සලසන්න පුළුවන්, සහ ලෝකේ ඕනෑම තැනක ඉන්න User කෙනෙක්ට ඒවාට සම්බන්ධ වෙන්න ඉඩ සලසන්නත් පුළුවන්. මේ හැමදේටම පදනම තමයි Network එක. ඒක තේරුම් ගන්න එක ඔබේ Cloud ගමනේ හරිම ප්‍රබල පියවරක්.

මේ Guide එකෙන් අපි AWS වල Network එක හදලා, Security කරලා, manage කරන්නේ කොහොමද කියලා සරලව, පැහැදිලිව කතා කරමු. අපි Virtual Private Cloud (VPC) එකක ඉඳන්, Subnets, Route Tables, Internet Gateway, NAT Gateway වගේ දේවල් ගැනත්, Security Groups සහ Network ACLs වලින් Network එක ආරක්ෂා කරගන්න විදිය ගැනත් බලමු. ඒ වගේම, On-Premises Network එකක් Cloud එකට සම්බන්ධ කරන විදිය (Direct Connect, VPN, Transit Gateway) සහ CloudFront, Route 53 වගේ Service වලින් Content Deliver කරලා Traffic Manage කරන හැටිත් අපි මේ Tutorial එකෙන් ආවරණය කරන්න බලාපොරොත්තු වෙනවා. ඔයා AWS අලුතින් පටන් ගත්ත කෙනෙක් වුණත්, දැනටමත් වැඩ කරන කෙනෙක් වුණත්, මේක ඔයාට ගොඩක් වටිනවා!

1. AWS VPC - ඔබේම පුද්ගලික Cloud අවකාශය

හිතන්න, ඔයාට Cloud එකේ ඔයාගේම Private Data Center එකක් හදාගන්න ඕන කියලා. ඒකට තමයි AWS Virtual Private Cloud (VPC) කියන්නේ. VPC එක කියන්නේ AWS Cloud එක ඇතුළේ තියෙන, ඔයාට සම්පූර්ණයෙන්ම වෙන් කරපු, logically isolated Network එකක්. මේක ඇතුළේ ඔයාට ඔයාගේම IP Address Range එකක් (CIDR Block) define කරලා, Subnets හදලා, Route Tables, Network Gateways වගේ දේවල් Configure කරන්න පුළුවන්. හරියට ඔයාගේ ගෙදර Network එක වගේම තමයි, ඒත් මේක Cloud එකේ.

Subnets (උප-ජාල)

VPC එකක් හදාගත්තාම, ඊළඟට අපි ඒක පොඩි පොඩි කොටස් වලට කඩනවා. ඒවා තමයි Subnets. Subnet එකක් කියන්නේ ඔයාගේ VPC එක ඇතුළේ තියෙන IP Address Range එකක කොටසක්. මේ Subnets තියෙන්නේ Availability Zones (AZ) ඇතුළේ. එක AZ එකක එක Subnet එකක් විතරක් තියෙන්න පුළුවන්. සාමාන්‍යයෙන් Subnets දෙවර්ගයක් තියෙනවා:

  • Public Subnet: මේ Subnet එකේ තියෙන resources වලට Internet එකෙන් direct access වෙන්න පුළුවන්. ඒකට හේතුව, මේවා Internet Gateway (IGW) එකකට සම්බන්ධ කරලා තියෙන නිසා.
  • Private Subnet: මේ Subnet එකේ තියෙන resources වලට Internet එකෙන් direct access වෙන්න බැහැ. සාමාන්‍යයෙන් Databases වගේ sensitive data තියෙන servers අපි Private Subnets වල තමයි දාන්නේ. ඒත්, මේ Private Subnets වල තියෙන resources වලට Internet එකට යන්න ඕන නම්, NAT Gateway එකක් හරහා යන්න පුළුවන්.

Internet Gateway (IGW)

Internet Gateway එකක් කියන්නේ ඔයාගේ Public Subnet එකේ තියෙන resources වලට Internet එකට සම්බන්ධ වෙන්න සහ Internet එකෙන් එන requests පිළිගන්න උදව් කරන VPC component එකක්. මේකෙන් ඔයාගේ VPC එකයි Internet එකයි අතර connection එකක් හදනවා. හැබැයි මේකෙන් විතරක් Traffic යන්නේ නෑ, Route Tables හරහා Route කරන්නත් ඕනේ.

Route Tables (මාර්ග වගු)

Route Table එකක් කියන්නේ ඔයාගේ Subnets වල Traffic යන්න ඕන කොහාටද කියලා කියන රීති (Rules) එකතුවක්. උදාහරණයක් විදියට, "මේ IP Address Range එකට යන Traffic එක මෙන්න මේ Gateway එකෙන් යවන්න" වගේ. හැම Subnet එකකටම Route Table එකක් සම්බන්ධ වෙලා තියෙනවා. මේක තමයි Traffic ගමන තීරණය කරන්නේ.

ප්‍රායෝගික උදාහරණයක්: Public Subnet එකක Route Table එකක්

Public Subnet එකකට Internet එකට යන්න පුළුවන් වෙන්නේ Route Table එකක් හරහා Internet Gateway (IGW) එකට Traffic යොමු කිරීමෙන්. අපි හිතමු ඔයාගේ VPC එකේ ID එක vpc-1234567890abcdef0, සහ ඔයාට igw-xxxxxxxxxxxxxxxxx කියලා Internet Gateway එකක් තියෙනවා කියලා. ඔයාගේ Public Subnet එකට අදාල Route Table එකේ මෙන්න මේ වගේ Entry එකක් තියෙන්න ඕනේ:


Destination       Target
10.0.0.0/16       local  (මේක ඔබේ VPC එකේ CIDR Block එක නම්, VPC ඇතුළේ තියෙන Traffic වලට අදාලයි)
0.0.0.0/0         igw-xxxxxxxxxxxxxxxxx

මේකෙන් කියන්නේ:

  • 10.0.0.0/16 (මේක ඔබේ VPC එකේ CIDR Block එක නම්) කියන Destination එකට යන Traffic එක VPC එක ඇතුළේම (local) යවන්න කියලා.
  • 0.0.0.0/0 කියන්නේ 'anywhere' (ඕනෑම තැනකට) කියන එකයි. ඒ නිසා, මේ Destination එකට යන ඕනෑම Traffic එකක් (එනම්, Internet එකට යන Traffic) Internet Gateway (igw-xxxxxxxxxxxxxxxxx) එක හරහා යවන්න කියලා.

NAT Gateway (Network Address Translation Gateway)

Private Subnet එකක තියෙන Servers වලට Internet එකට යන්න ඕන නම් (උදාහරණයක් විදියට Software Updates Download කරන්න), ඒත් Internet එකෙන් ඒ Servers වලට direct access වෙන්න බැරි වෙන්න ඕන නම්, අපි NAT Gateway එකක් පාවිච්චි කරනවා. NAT Gateway එකක් තියෙන්නේ Public Subnet එකක. Private Subnet එකක තියෙන server එකකින් Internet එකට request එකක් ගියාම, ඒක NAT Gateway එක හරහා ගිහින්, NAT Gateway එකේ Public IP Address එකෙන් Internet එකට යනවා. එන response එක NAT Gateway එක හරහාම Private server එකට එනවා. මේකෙන් Private server වල ආරක්ෂාව වැඩි වෙනවා.

2. Network ආරක්ෂණ මූලිකාංග: Security Groups vs. Network ACLs

ඔයාගේ Network එක ආරක්ෂා කරගන්න එක Cloud එකේදී හරිම වැදගත්. AWS අපිට ඒකට ප්‍රබල Tools දෙකක් දීලා තියෙනවා: Security Groups සහ Network ACLs.

Security Groups (SG)

Security Group එකක් කියන්නේ Virtual Firewall එකක්. මේක EC2 Instance එකකට හරි Elastic Network Interface (ENI) එකකට හරි attach කරන්න පුළුවන්. Security Group එකක තියෙන්නේ Allow Rules විතරයි. ඒ කියන්නේ, මේකෙන් අපිට Traffic Allow කරන්න විතරයි පුළුවන්. Default විදියට සියලුම incoming (Inbound) Traffic Deny කරලා තියෙන්නේ, ඒත් outgoing (Outbound) Traffic Allow කරලා තියෙන්නේ. Security Groups Stateful වෙනවා, ඒ කියන්නේ, Inbound Traffic එකක් Allow කළාම, ඒකට එන Response Traffic එක Outbound Rules වලින් තොරවම නැවත එනවා.

ප්‍රායෝගික උදාහරණයක්: Web Server එකක් සඳහා Security Group Rule එකක්

Web server එකකට Security Group එකක් හදනවා නම්, අපිට incoming HTTP (Port 80) and HTTPS (Port 443) traffic වලට ඉඩ දෙන්න පුළුවන්. මේකෙන් කියන්නේ, Internet එකේ ඕනෑම තැනකින් HTTP/HTTPS traffic ඔයාගේ server එකට එන්න පුළුවන් කියන එකයි.


Inbound Rules:
Type       Protocol  Port Range  Source
HTTP       TCP       80          0.0.0.0/0 (Anywhere IPv4)
Https      TCP       443         0.0.0.0/0 (Anywhere IPv4)
SSH        TCP       22          Your_IP_Address/32 (ඔයාගේම IP Address එක)

Outbound Rules:
Type       Protocol  Port Range  Destination
All Traffic All       All         0.0.0.0/0

Network Access Control Lists (NACLs)

NACL එකක් කියන්නෙත් Firewall එකක් වගේම තමයි, ඒත් මේක Subnet level එකේදී ක්‍රියාත්මක වෙන්නේ. Security Groups Instance level එකේදී ක්‍රියාත්මක වෙනවා වගේ නෙවෙයි, NACL එක Subnet එකකට සම්බන්ධ කරලා තියෙන්නේ. NACLs වලට Allow සහ Deny Rules දෙකම තියෙනවා. මේවා Stateless වෙනවා. ඒ කියන්නේ, Inbound Traffic එකක් Allow කළා නම්, ඒකට එන Response එකට වෙනම Outbound Rule එකක් තියෙන්නම ඕනේ. NACLs Rules evaluation වෙන්නේ අංක අනුව (Lowest number first).

කවදාද Security Groups පාවිච්චි කරන්නේ, කවදාද NACLs පාවිච්චි කරන්නේ?

  • Security Groups: Instance level එකේ Security අවශ්‍ය නම් (e.g., specific ports for a web server), Stateful Firewall එකක් අවශ්‍ය නම්, Traffic Allow කරන්න විතරක් අවශ්‍ය නම්.
  • NACLs: Subnet level එකේ Security අවශ්‍ය නම්, Allow සහ Deny Rules දෙකම අවශ්‍ය නම්, Stateless Firewall එකක් අවශ්‍ය නම් (තවත් එක් ආරක්ෂක තට්ටුවක් විදියට).

3. ඔබේ ලෝකය සම්බන්ධ කිරීම - Hybrid සහ Inter-VPC Networking

බොහෝ වෙලාවට අපිට AWS Cloud එකේ තියෙන Network එක, අපේ On-Premises Data Center එකක තියෙන Network එකක් එක්ක හරි, වෙනත් VPC එකක් එක්ක හරි සම්බන්ධ කරන්න වෙනවා. මේකට AWS අපිට විවිධ Service සපයනවා.

Direct Connect (DX)

Direct Connect කියන්නේ ඔයාගේ On-Premises Network එකයි AWS Network එකයි අතර Dedicated, Private Network Connection එකක්. මේක Public Internet එක හරහා යන්නේ නැති නිසා, Performance, Speed, සහ Security වැඩි වෙනවා. High Bandwidth, Low Latency Connection අවශ්‍ය නම් මේක ගොඩක් හොඳ විසඳුමක්.

AWS VPN (Site-to-Site VPN)

Site-to-Site VPN කියන්නේ Public Internet එක හරහා ඔයාගේ On-Premises Network එකයි AWS VPC එකයි අතර Encrypted Tunnel එකක් හදාගන්න පුළුවන් Solution එකක්. මේක Direct Connect තරම් වේගවත් නැති වුණත්, වඩාත් Cost-Effective සහ ඉක්මනින් Deploy කරන්න පුළුවන් Solution එකක්.

Transit Gateway (TGW)

විශාල සංවිධාන වලට තියෙන ලොකුම ප්‍රශ්නයක් තමයි ගොඩක් VPCs manage කරන එක. සමහරවිට එක කෙනෙක්ට VPCs 10ක්, 20ක් විතර තියෙන්න පුළුවන්. ඒ VPCs එකිනෙකට සම්බන්ධ කරන්න ඕන නම්, කලින් අපිට Multiple Peering Connections හදන්න සිද්ධ වුණා. ඒක හරිම අවුල් සහගතයි. Transit Gateway එකක් කියන්නේ Central Hub එකක් වගේ. මේකෙන් අපිට එක තැනකින් Multiple VPCs, On-Premises Networks, සහ වෙනත් AWS Accounts වල තියෙන VPCs සම්බන්ධ කරන්න පුළුවන්. මේකෙන් Network Topology එක සරල කරනවා, ඒ වගේම Security එකත් Manage කරන්න ලේසි වෙනවා.

4. අන්තර්ගතය ලබා දීම සහ Traffic කළමනාකරණය

ඔයාගේ Applications වල Performance එක වැඩි කරන්නයි, Global Audience එකක් Reach කරන්නයි AWS සතුව තවත් Service දෙකක් තියෙනවා.

CloudFront (Content Delivery Network - CDN)

CloudFront කියන්නේ AWS Global Content Delivery Network (CDN) Service එක. මේකෙන් ඔයාගේ Static Content (Images, Videos, CSS, JavaScript files) සහ Dynamic Content පවා ලෝකේ පුරා තියෙන AWS Edge Locations වල Cache කරනවා. User කෙනෙක් ඔයාගේ Website එකට Access කළාම, User ට ළඟම තියෙන Edge Location එකකින් Content එක Serve කරන නිසා, Latency එක අඩු වෙනවා, Page Load Time එක වේගවත් වෙනවා. මේකෙන් User Experience එක වැඩි දියුණු වෙනවා වගේම, ඔයාගේ Servers වල Traffic Load එකත් අඩු වෙනවා.

ප්‍රායෝගික ඉඟිය: CloudFront වලින් ඔබේ වෙබ් අඩවියේ වේගය වැඩි කරගන්න.

ඔබේ වෙබ් අඩවියේ හෝ Application එකේ Images, CSS files, JavaScript files වැනි Static Content S3 Bucket එකක Host කරලා, ඒ S3 Bucket එකට CloudFront Distribution එකක් Configure කරන්න. මේකෙන් User ලට Content එක වේගයෙන් ලැබෙනවා වගේම, AWS WAF වගේ Service එක්ක එකතු වෙලා Security එකත් වැඩි කරගන්න පුළුවන්.

Route 53 (DNS Service සහ Routing Policies)

Route 53 කියන්නේ AWS වල Highly Available සහ Scalable Domain Name System (DNS) Web Service එක. DNS කියන්නේ Internet එකේ Address Book එක වගේ. අපි www.example.com කියලා Type කළාම, ඒක IP Address එකකට (e.g., 192.0.2.1) convert කරලා අදාල Server එකට Traffic යොමු කරන්නේ DNS වලින්. Route 53 වලින් ඔයාට Domain Names Register කරන්නත්, DNS Records Manage කරන්නත් පුළුවන්.

Route 53 වල විවිධ Routing Policies තියෙනවා:

  • Simple Routing: සාමාන්‍ය DNS Routing එක. එක Record එකකට එක Value එකක්.
  • Failover Routing: Primary Resource එකකට මොකක් හරි වුණොත්, Traffic එක Backup Resource එකකට යොමු කරනවා. High Availability වලට හොඳයි.
  • Latency-based Routing: User කෙනෙක්ට අඩුම Latency එකක් තියෙන AWS Region එකේ Resource එකට Traffic යොමු කරනවා. Performance වැඩි කරන්න පුළුවන්.
  • Geolocation Routing: User ඉන්න Geographic Location එක අනුව Traffic එක යොමු කරනවා.
  • Weighted Routing: එක Record එකකට Multiple Values තියෙනකොට, ඒ එක් එක් Value එකට යන Traffic ප්‍රමාණය (Weight) Control කරන්න පුළුවන්. A/B Testing, Blue/Green Deployments වලට හොඳයි.

අවසන් වචන

අද අපි AWS Networking වල ගොඩක් වැදගත් Concepts කීපයක් ගැන කතා කළා. VPC එක හදන හැටි, Subnets, Route Tables, Internet Gateway, NAT Gateway ගැන වගේම Security Groups, NACLs ගැනත් දැන ගත්තා. ඒ වගේම, Direct Connect, VPN, Transit Gateway වලින් ඔයාගේ Network එකට සම්බන්ධතා හදාගන්න විදියයි, CloudFront, Route 53 වලින් Content Deliver කරලා, Traffic manage කරගන්න විදියයි මේ Guide එකෙන් ඔයාට පැහැදිලි කරන්න උත්සාහ කළා.

මේ දැනුම ඔයාගේ Cloud journey එකට ගොඩක් වැදගත් වෙයි කියලා මම හිතනවා. මතක තියාගන්න, practice කරන එක තමයි වැදගත්ම දේ. AWS Console එකට ගිහින් මේ Service ටික explore කරන්න, පොඩි පොඩි Projects කරලා බලන්න. Free Tier එකෙන් පටන් ගන්න පුළුවන් නිසා ඔයාට වැඩි වියදමක් යන්නේ නැතුවම මේ Service භාවිතා කරන්න පුළුවන්.

මේ ගැන ඔයාට මොනවා හරි ප්‍රශ්න තියෙනවා නම්, පහළින් comment කරන්න. ඔයාගේ අත්දැකීම් ගැනත් අපිට කියන්න. තවදුරටත් ඉගෙන ගන්න කැමති නම්, AWS Documentation බලන්නත් අමතක කරන්න එපා. අපි ඊළඟ Tutorial එකකින් හම්බවෙමු! තෙරුවන් සරණයි!