การใช้งาน VPC ในเชิงปฏิบัติกับ EC2

การใช้งาน VPC ร่วมกับ EC2 Instance สามารถสร้าง EC2 Instance ขึ้นมามากกว่า 1 Server โดยให้อยู่ใน Network เดียวกันได้ และการเชื่อมต่อ Server ของแต่ละ Instance นั้น สามารถเชื่อมต่อผ่าน Instance หลักได้เลย ซึ่งทำให้ Server ของเรามีความปลอดภัยในการใช้งานมากๆ

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

สวัสดีเพื่อนๆ ชาว AWS Service ทุกท่านด้วยครับ ผมป๊อปครับ

ในบทความนี้ผมได้เขียนอธิบายเกี่ยวกับ การใช้งาน VPC ในเชิงปฏิบัติกับ EC2 ครับ เข้าไปดูกันเลย

เป้าหมายการใช้งาน VPC ในเชิงปฏิบัติกับ EC2

ครั้งนี้เราจะมาทำการสร้าง Amazon EC2 (2) และทำการเชื่อมต่อกับ Amazon EC2 (1) ที่กำลังเชื่อมต่อกับ VPC กันครับ
vpc_diagram_1

สิ่งที่ต้องมี

ก่อนจะเริ่มทำตามขั้นตอนในบทความนี้ ให้ทำ การสร้าง VPC Beginner และเชื่อมต่อกับ EC2 Instance ให้เสร็จก่อน โดยทำตามหัวข้อที่อธิบายด้านล่างนี้ได้เลย

ในส่วนของชื่อ คุณจะตั้งชื่อ VPC, Key pair, EC2 Instance ว่าอะไรก็ได้ ซึ่งในตัวอย่างจะใช้ชื่อดังนี้

   Function         Name      
VPC tinnakorn-test
Key pair tinnakorn-test-ec2
Amazon EC2 (1) tinnakorn-test-ec2-1
Amazon EC2 (2) tinnakorn-test-ec2-2

บทความของ การสร้าง VPC Beginner และเชื่อมต่อกับ EC2 Instance มีทั้งหมด 3 หัวข้อหลักๆ แต่ให้ทำตามหัวข้อที่ต้องทำ ✅ดังต่อไปนี้

หัวข้อที่ต้องทำ ✅

หัวข้อที่ไม่ต้องทำ ❌

!ในแต่ละหัวข้อหลัก จะมีหัวข้อย่อยอยู่ข้างในอีก ต้องทำเรียงตามขั้นตอนนะครับ

เมื่อทำเสร็จแล้วจะได้โครงสร้างแบบนี้ ก็คือในส่วนของ VPC และ Amazon EC2 (1) เสร็จเรียบร้อยแล้ว
vpc_diagram_2

การใช้งาน VPC ในเชิงปฏิบัติกับ EC2

ขั้นตอนนี้เราจะมาสร้าง Amazon EC2 (2) ขึ้นมาโดยการเชื่อมต่อกับ Amazon EC2 (1) ที่ได้เชื่อมต่อกับ VPC ไว้อยู่กันครับ
vpc_diagram_3

การสร้าง Amazon EC2 (2) นี้ ไม่ต้องใช้ Key pair แต่การตั้งค่าจะแตกต่างจาก Amazon EC2 (1) เล็กน้อย ซึ่งการสาธิตการสร้าง Amazon EC2 (2) นี้ผมจะขอข้ามมาหน้าที่ต้องตั้งค่าเลยนะครับ เมื่อพร้อมแล้วเรามาเริ่มกันเลยครับ

Step 3: Configure Instance Details

เริ่มต้นการสร้าง Amazon EC2 (2) นี้ให้เริ่มต้นเหมือนกับการสร้าง Amazon EC2 (1) เลยครับ และเมื่อมาถึงขั้นตอน Step 3: Configure Instance Details ให้ทำตามขั้นตอนด้านล่างนี้

» เลือก Network ที่สร้างขึ้นใน Service VPC เช่นtinnakorn-test-vpcจากนั้น Subnet ก็จะเปลี่ยนให้โดยอัตโนมัติ
» เลือก Auto-assign Public IP:Disable
» แล้วเลื่อนลงไปด้านล่างสุด
create_ec2_vpc_2-1

» เมื่อเลื่อนลงมาแล้วให้ใส่ Primary IP:192.168.1.11
» คัดลอก Code ด้านล่างนี้วางในช่องของ User data และเปลี่ยน your_password ให้เป็นรหัสของคุณ เช่นtest2022เป็นต้น
สามารถอ่านรายละเอียดเพิ่มเติมได้ที่: การสร้างรหัสผ่านเข้าสู่ระบบระหว่างทำการสร้าง EC2 Instance โดยใช้ UserData

#cloud-config
password: your_password
chpasswd: { expire: False }
ssh_pwauth: True

» คลิกNext: Add Storage
create_ec2_vpc_2-2

Step 6: Configure Security Group

ให้ทำการตั้งค่าตามนี้
เปลี่ยนชื่อ Security group name กับ Description เป็นชื่ออะไรก็ได้ เช่นtinnakorn-test-ec2-2
เลือก Type ให้เป็นAll traffic ⌵(การเชื่อมต่อทั้งหมดมาจาก Subnet เดียวกันใน SecurityGroup นี้)
ใส่ IP ที่ Source:192.168.1.0/24(การเชื่อมต่อทั้งหมดมาจาก Subnet เดียวกันใน SecurityGroup นี้)
คลิกReview and Launch
create_ec2_vpc_2-3

Step 7.Review

คลิกLaunch
เมื่อ POPUP แสดงขึ้นมา ให้เปลี่ยน Choose an existing key pair เป็นProceed without a key pairแล้ว Select a key pair จะหายไป และคลิก Checkbox
คลิกLaunch Instances
create_ec2_vpc_2-4

เมื่อสร้าง Amazon EC2 (2) เสร็จแล้ว จะได้หน้าตาแบบนี้ แต่ว่าจะไม่มี Public IPv4 address เพราะว่าตอนสร้าง Instance เราได้ทำการ Disable Auto-assign Public IP เอาไว้นั่นเอง
create_ec2_vpc_2-5-1

การเชื่อมต่อ Server Amazon Linux 2 ของ Amazon EC2 (2)

vpc_diagram_4

(a)

กลับมาที่หน้า Terminal ของ PuTTy แล้วทำการเชื่อมต่อ Server Amazon Linux 2 ของ Amazon EC2 (1) โดยใช้ Key pair ให้เรียบร้อย

แต่ถ้าทำการเชื่อมต่อไว้อยู่แล้วให้ทำตามขั้นตอนถัดไปได้เลย

(b)

ให้รันคำสั่งนี้เพื่อเชื่อมต่อ Server Amazon Linux 2 ของ Amazon EC2 (2)

[ec2-user@ip-192-168-1-16 ~]$ ssh ec2-user@192.168.1.11    // รันคำสั่งนี้เพื่อเชื่อมต่อ Server Amazon Linux 2 ของ Amazon EC2 (2)
The authenticity of host '192.168.1.11 (192.168.1.11)' can't be established.
ECDSA key fingerprint is SHA256:FsO33zzPNBAj9meQWvQDZNl8bYsBVHZlMg0uRNkV8vI.
ECDSA key fingerprint is MD5:d6:de:5e:4d:cc:5b:f7:f3:47:05:1b:a5:46:8d:61:d0.
Are you sure you want to continue connecting (yes/no)? yes    // พิมพ์ yes เพื่อยืนยัน
Warning: Permanently added '192.168.1.11' (ECDSA) to the list of known hosts.
ec2-user@192.168.1.11's password: "[your_password]"    // พิมพ์รหัสผ่านของคุณ !ระหว่างพิมพ์รหัสจะไม่แสดงให้เห็น

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-192-168-1-11 ~]$

 
สุดท้ายนี้จะเป็นการตรวจสอบ Private IPv4 addresses ของ Amazon EC2 (2)
รันคำสั่งด้านล่างนี้เพื่อตรวจสอบ Private IP ได้เลย

[ec2-user@ip-192-168-1-11 ~]$ ifconfig    // inet 192.168.1.11 นี้คือ Private IP
eth0: flags=4163  mtu 9001
        inet 192.168.1.11  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::45f:cfff:feae:cfe6  prefixlen 64  scopeid 0x20
        ether 06:5f:cf:ae:cf:e6  txqueuelen 1000  (Ethernet)
        RX packets 699  bytes 78158 (76.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 827  bytes 91347 (89.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 24  bytes 1944 (1.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 24  bytes 1944 (1.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[ec2-user@ip-192-168-1-11 ~]$

การลบ VPC และฟังก์ชันต่างๆ ใน EC2

วิธีการลบ VPC และฟังก์ชันต่างๆ ใน EC2 สามารถดูได้ที่บทความของ การสร้าง VPC Beginner และเชื่อมต่อกับ EC2 Instance ในหัวข้อ การลบ VPC ได้ที่ลิงก์ด้านล่างนี้เลยครับ

สรุป

การสาธิตวิธีการใช้งาน VPC ในเชิงปฏิบัติกับ EC2 นี้เราจะเน้นที่ Network ที่ใช้ในการเชื่อมต่อกับ Server Amazon Linux 2 เป็นหลักครับ เพราะว่าการที่เราใช้ VPC ร่วมกับ EC2 Instance จะทำให้มีความปลอดภัยในการใช้งานมากขึ้นนั่นเอง

นอกจากนี้ถ้าเราต้องการเชื่อมต่อ Server ของ Amazon EC2 (2) เราสามารถเชื่อมต่อผ่าน Server ของ Amazon EC2 (1) ได้เลย ซึ่งอำนวยความสะดวกมากๆ ยังไงก็ลองใช้กันดูนะครับ

บทความที่เกี่ยวข้อง

อ้างอิง: [小ネタ] プライベートIPアドレスを指定して EC2 インスタンスを起動する方法