AWS VPC คืออะไร? มาทำความรู้จักกัน [EP.1]

AWS Networking — AWS Series

KubeOps Skills
3 min readJun 10, 2021

VPC คืออะไร?

VPC ย่อมากจาก Virtual Private Cloud ทำหน้าที่ในการจัดการ Network แทบจะทั้งหมดภายใน AWS ในรูปแบบเสมือนจริง(Virtual) โดยที่เราไม่ต้องไปยุ่งกับ Physical layer

แต่สาเหตุที่ชื่อ VPC ทำไมไม่ใช้ชื่อ virtual network ที่น่าจะสื่อความหมายมากกว่า เป็นเพราะว่า Cloud อยากจะสื่อว่า “ผู้ใช้สามารถสร้าง private network เป็นของตัวเองได้”

VPC อยู่ส่วนไหนใน AWS

VPC เป็นตัวช่วยในการจัดการส่วน Network แทบจะทั้งหมดที่อยู่บน AWS Cloud จากรูปด้านล่าง หากเรา search คำว่า “VPC” ใน AWS Console เราจะพบว่า VPC คือ Service นึงที่ AWS ให้เราใช้งาน และนี่ก็คือเรื่องที่จะมาเล่าใน series นี้นี่เอง

Figure 1: VPC Path

สิ่งนึงที่อยากให้สนใจก็คือเรื่องของ Region จากในภาพเจ้าของบทความเลือก Region: Singapore อยู่ใน ap-southeast-1 ซึ่งอยู่ใกล้กับประเทศไทยมากที่สุด

Figure 2: Region

นั่นหมายความว่าเวลาที่เราทำการสร้าง resource หรือ service มันจะถูกไปสร้างที่ region นั้นทั้งหมด

Region คือภูมิภาคที่ทาง AWS ให้บริการ โดยเราสามารถเลือก region ที่ใกล้กับประเทศเรามากสุดได้ เพื่อให้ user ใช้งานได้อย่างรวดเร็วและมีประสิทธิภาพ

ซึ่ง VPC อยู่ภายใต้ Region ถ้าเราลองแปลงเป็นรูปภาพง่ายๆ จะได้ดังนี้

Figure 3: VPC Diagram

มาสร้าง VPC กันเถอะ

Path: VPC → Your VPCs → Create VPC

Figure 4: VPC Console

เมื่อเรากด Create VPC จะขึ้นแบบนี้

Figure 5: Create VPC

จากรูปภาพด้านบน

Name tag: คือชื่อที่เราตั้ง VPC ซึ่งเจ้าของบทความใช้ชื่อว่า kubeops-k8s-dev-vpc

ซึ่งมีรูปแบบการตั้งชื่อ หรือ Naming Convention ดังนี้

Name tag: <prefix>-<resource>-<project>-<environment>-vpc

<prefix>: คือคำขึ้นต้นเจ้าของใช้ชื่อ ลูกค้าหรือบริษัทเป็นตัวกำหนด
<resource>: คือชื่อของ service ที่เราใช้เช่น ec2, radis, rds เป็นต้น
<project>: คือชื่อ project ที่เราจะใช้ vpc ตัวนี้ในการจัดการ
vpc: คือ suffix หรือคำลงท้ายเพื่อให้ง่ายต่อการใช้งานเวลาใช้ vpc ร่วมกับตัวอื่น

IPv4 CIDR block: คือตัวกำหนด IPv4 CIDR block ให้กับ VPC ในช่วง /16 ถึง /28 โดยเจ้าของบทความใช้ 10.0.0.0/16 ซึ่งสามารถใช้ IPs ได้ถึง 65,536 IPs เลยทีเดียว <<อ่าน CIDR เพิ่มเติม>>

ส่วนอันที่เหลือ IPv6 CIDR Block และ Tenency ยังไม่ต้องสนใจตอนนี้เพราะยังไม่ได้ใช้ ให้เลือกตาม default ได้เลย

เมื่อเราสร้าง VPC เสร็จแล้ว เราจะพบว่าเราสามารถจัดการ resource ที่อยู่ภายใน VPC ได้ หนึ่งใน resource นั้นก็คือ AZ หรือ Availability Zone ทางเจ้าของบทความนั้นในตอนแรกได้เลือก region: Singapore ซึ่งทำให้เราสามารถจัดการ AZ ได้ 3 Zone คือ ap-southeast-1a, ap-southeast-1b และ ap-southeast-1c

Figure 6: VPC and AZ

AZ คืออะไร?

AZ หรือ Availability Zone ก็คือ data center ของ cloud ที่ตั้งเป็นตึกหรือสำนักงานอยู่ใน region นั้น โดยส่วนใหญ่แล้วในหนึ่ง region จะมี data center อยู่ประมาณ 2–3 แห่ง จุดประสงค์คือ เพื่อป้องกันภัยธรรมชาติ หรือเหตุการณ์ไม่คาดฝัน เมื่อแห่งนึงล่มไป ยังมีอีก 1–2 แห่งคอย support อยู่

ซึ่งเราสามารถเลือกที่จะใช้ AZ เดียวก็ได้ แต่เราต้องยอมรับนะ ว่าหากเกิดเหตุการณ์ไม่คาดฝันเกิดขึ้น ข้อมูลของเราสามารถสูญหายได้เช่นกัน

เมื่อเรารู้จัก Region, VPC, AZ กันไปแล้ว ยังมีอีกส่วนนึงที่สำคัญไม่แพ้กันก็คือ Subnet ที่จะกล่าวในบทความต่อไป

สรุป

ในบทความนี้ต้องการที่จะอธิบายผู้ที่สนใจอยากจะศึกษา AWS ในส่วนของ Networking ที่แทบจะเป็นส่วนที่สำคัญไม่แพ้ส่วนอื่นๆ โดยกล่าวถึง Service ที่ชื่อ VPC ก็คือตัวพระเอกที่ช่วยจัดการ Network ให้เราแทบจะทั้งหมด

ถ้าคิดว่าบทความนี้มีประโยชน์ ฝากกด clap, follow และ share บทความนี้ เพื่อเป็นกำลังใจให้ทีมงานของเรา KubeOps Skills ด้วยนะครับ

ช่องทางการติดตาม
Facebook: https://www.facebook.com/kubeOpsSkills
Youtube: https://www.youtube.com/c/kubeopsskills

--

--

KubeOps Skills

We are Cloud Native Developer Experts highly specialized in container technology and site reliability engineering.