สร้าง VPN ของคุณเองด้วย SoftEther VPNServer + EC2

นี่เป็นบทความที่มีการดัดแปลงเนื้อหามาจากบทความภาษาญี่ปุ่นของ Classmethod, Inc. ในหัวข้อ「AWSにSoftEther VPNServerで簡単にVPN接続しよう」หากผู้อ่านสนใจอ่านเนื้อหาต้นฉบับสามารถอ่านได้ที่ลิ้งค์ "บทความต้นฉบับ" ด้านล่าง เนื้อหาในบทความนี้การอธิบายบางอย่างจะถูกปรับให้เข้าใจง่ายขึ้นทำให้แตกต่างจากต้นฉบับในบางจุด
2022.08.13

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

ต้า จาก Technical Support Team ครับ วันนี้ผมจะมาทำการติดตั้ง VPN ของคุณเอง
โดยเจ้าตัวนี้นอกจากจะใช้สำหรับการเพิ่ม Security ในงานระดับ business แล้ว ยังสามารถใช้แบบส่วนตัวในการเข้าใช้เว็บไซต์ต่างๆ ที่ถูกบล็อกด้วย IP ของเรา หรือต้องการใช้ IP ของต่างประเทศได้ด้วยครับ

โดยทั่วไปเราจะกำหนดการเชื่อมต่อของ EC2 เราจะไปตั้งค่า inbound ของ Security Group ซึ่งเป็นวิธีที่ ง่าย และ หลายคนรู้จัก แต่ในกรณีที่เราใช้งาน Service ที่จำเป็นต้อง Share Global IP เช่นพวก DS-Lite หรือ WiMAX ก็จะทำให้ Secure ไม่ได้ แล้วถ้า Global IP เปลี่ยน ก็จำเป็นต้องไปตั้งค่า Security Group ใหม่อีก ซึ่งนั่นก็อาจทำให้เกิด Human error ตามมา
ดังนั้นเราเลยจะมาใช้ SoftEther VPNServer ในการเชื่อมต่อ VPN กับ AWS ด้วยการ Remote access ครับ

ขั้นตอนโดยรวมในบทความนี้

  1. สร้าง EC2
  2. ติดตั้ง SoftEther VPNServer ใน EC2
  3. ตั้งค่า SoftEther VPNServer
  4. ใช้ Client(Windows) ทำการเชื่อมต่อ VPN
  5. ทดสอบการใช้

แผนภาพที่จะทำในครั้งนี้

สร้าง EC2

ก่อนอื่นให้เราสร้าง EC2 โดยมี Parameter ต่างๆ ตามที่เขียนไว้ด้านล่างนี้
โดยละเอียดตวิธีการสร้าง EC2 สามารรถดูได้ที่ลิ้งค์ต่อไปนี้

ในกรณีที่เราต้องการจะใช้ VPN สำหรับเข้าเว็บต่างๆที่ IP ของเราถูก Block หรือต้องการเข้าใช้เว็บไซต์ต่างๆใน IP ต่างประเทศ ให้เราทำการเลือก Region ที่เราต้องการจะใช้ IP ของประเทศนั้น เช่น อยากได้ IP ญี่ปุ่น ให้เลือก Asia Pacific(Tokyo) ap-northeast-1

การตั้งค่าพื้นฐาน

จุดสำคัญคือควรใส่ Elastic IP ไว้ และ ใช้ Linux เพื่อง่ายต่อการทำตามขั้นต่อในขั้นต่อไป

หัวข้อ การตั้งค่า
AMI Amazon Linux 2 Kernel 5.10 AMI
AMI-ID Amazon Linux 2 Kernel 5.10 AMI 2.0.20220719.0 x86_64 HVM gp2 (เป็นตัวใหม่ล่าสุด ณ ตอนทำการทดลอง)
Instance Type t2.micro
Storage SSD(GP2) 8GB
ElasticIP 1 ตัว

Security Group

การตั้งค่านี้สำคัญ ควรตั้งให้ตรงตามที่กำหนด

Type Protocol Port Source คำอธิบาย
SSH TCP 22 0.0.0.0/0 ใช้จนกว่าขั้นตอนการติดตั้งเสร็จ แล้วสามารถกลับมาเปลี่ยนได้
Custom UDP UDP 500 0.0.0.0/0 -
Custom UDP UDP 4500 0.0.0.0/0 -

หลังจากที่เราสร้างเสร็จแล้ว ให้ทำการทำการสวม Elastic IP ให้กับ EC2 ที่เราสร้างขึ้นโดยสำหรับผู้ที่ไม่เคยสามารถดูวิธีทำได้ตามลิ้งค์ด้านล่างครับ

ติดตั้ง SoftEther VPNServer ใน EC2

เมื่อเราสร้าง EC2 เสร็จแล้ว ให้เราทำการเชื่อมต่อไป EC2 โดยจะใช้ Putty หรือ โปรแกรมอื่นๆก็ได้ แต่ตัวผู้เขียนจะใช้ Visual studio ในการเชื่อมต่อครับ (หากสนใจรายละเอียดเกี่ยวกับการเชื่อมต่อ EC2 โดยใช้ Visual Studio สามารถดูรายละเอียดได้ที่บทความต่อไปนี้ ทำการติดตั้ง Extention Remote – SSH ใน VSCode และทดลองใช้งาน EC2 โดยตรงใน VSCode | DevelopersIO)

หลังจากนั้นให้เราทำการอัพเดทตัวไฟล์ต่างๆใน Linux และ Install gcc ที่เป็นตัวรันภาษาต่างๆ

sudo yum update
sudo yum install gcc

จากนั้นให้เข้าไปเว็บไซต์ต่อไปนี้เพื่อทำการโหลด SoftEther VPNServer ที่ตัวเองสามารถใช้ได้
SoftEther Download Center
หากทำตาม Tutorial ด้านบนทุกอย่าง ให้เลือกได้เหมือนกับภาพด้านล่างเลยครับ

จากนั้นให้เราคลิกขวา Copy URL เพื่อใช้ในขั้นตอนต่อไปครับ

จากนั้นเราจะทำการโหลดและแตกไฟล์ตัว server yes 1 | make หมายถึงเราจะยอมรับทุกเงื่อนไขการใช้งานโปรแกรม

cd ~/
curl -L -O {ตรงนี้ใส่ URL ที่ Copy มา}
tar zxvf {ตรงนี้ใส่ชื่อไฟล์ที่คุณโหลดมา เช่น softether-vpnserver-v4.39-9772-beta-2022.04.26-linux-x64-64bit.tar.gz}
cd vpnserver
yes 1 | make
cd ..

หลังจากนั้นเราจะเอาตัวไฟล์ vpnserver ไปใส่ไว้ที่ /opt/vpnserver เนื่องจาก Linux ไม่อนุญาตให้เรารันไฟล์ที่ Root นะครับ
จากนั้นเราจะสร้างไฟล์ vpnserver.service ขึ้นมาที่ /etc/systemd/system/ ครับ

sudo mv vpnserver /opt/vpnserver
sudo vi /etc/systemd/system/vpnserver.service

จากนั้นกด i แล้วก็อบข้อความด้านล่างนี้ไปลง แล้วกด Esc : w q แล้วกด Enter ครับ

[Unit]
Description=Softether VPN Server Service
After=network.target

[Service]
Type=forking
User=root
ExecStart=/opt/vpnserver/vpnserver start
ExecStop=/opt/vpnserver/vpnserver stop
Restart=on-abort
WorkingDirectory=/opt/vpnserver/
ExecStartPre=/sbin/ip link set dev eth0 promisc on

[Install]
WantedBy=multi-user.target

จากนั้นใช้ cmod 755 ให้ เจ้าของอ่าน เขียน และประมวลผลได้ แต่คนอื่นสามารถอ่านและทำการประมวลผลได้เท่านั้น

sudo chmod 755 /etc/systemd/system/vpnserver.service

จากนั้นรัน 3 บรรทัดล่างนี้เพื่อเปิดให้ใช้งาน vpnserver ได้ครับ

sudo systemctl daemon-reload
sudo systemctl start vpnserver
sudo systemctl enable vpnserver

สำหรับการติดตั้ง SoftEther ก็มีเพียงเท่านี้ครับ ต่อไปเราจะคุยกันในหัวข้อการตั้งค่ากันครับ

ตั้งค่า SoftEther VPNServer

Password ต่างๆที่ใช้ในการตั้งค่าในหัวข้อนี้ แนะนำให้จดไว้เนื่องจากจะใช้ในหัวข้อต่อไป

การตั้งค่าในครั้งนี้เราจะใช้ VPN ประเภท L2TP/IPSec ซึ่งสามารถอ่านรายละเอียดเพิ่มเติมได้ที่ L2TP/IPsec คืออะไร? | Website Rating

SoftEther VPNServer มีวิธีการตั้งค่าต่างๆตามด้านล่างนี้

โดยในบทความนี้จะพาคุณใช้ command tool vpncmd ในการตั้งค่าครับ

ก่อนอื่นให้เราใช้คำสั่งด้านล่างนี้จะปรากฎหน้าต่างการตั้งค่า SoftEther VPN ขี้นมา

sudo /opt/vpnserver/vpncmd

โดยจะถามว่าเราต้องการใช้งานโปรแกรมอะไร มีให้เลือก 1 2 3 โดยให้เราพิมพ์ 1

vpncmd command - SoftEther VPN Command Line Management Utility
SoftEther VPN Command Line Management Utility (vpncmd command)
Version 4.39 Build 9772   (English)
Compiled 2022/04/26 18:00:50 by buildsan at crosswin
Copyright (c) SoftEther VPN Project. All Rights Reserved.

By using vpncmd program, the following can be achieved. 

1. Management of VPN Server or VPN Bridge 
2. Management of VPN Client
3. Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool)

Select 1, 2 or 3:

ต่อมาเขาจะให้เราระบุ Host name หรือ IP address ของคอมพิวเตอร์ที่ Server VPN ปลายทางหรือ VPN Bridge ทำงานอยู่ โดยเรายังไม่ได้สร้างอะไรเลย
ให้ทำปล่อยว่าง ไม่ต้องเขียนอะไร กด Enter ไปเลยครับ

Specify the host name or IP address of the computer that the destination VPN Server or VPN Bridge is operating on. 
By specifying according to the format 'host name:port number', you can also specify the port number. 
(When the port number is unspecified, 443 is used.)
If nothing is input and the Enter key is pressed, the connection will be made to the port number 8888 of localhost (this computer).
Hostname of IP Address of Destination:

ต่อไปเข้าจะถามถึง Virtual Hub name ซึ่งเราต้องการเข้าใช้ใน admin mode เพราะฉนั้นให้ปล่อยว่าง แล้วกด Enter ไปเลยครับ

If connecting to the server by Virtual Hub Admin Mode, please input the Virtual Hub name. 
If connecting by server admin mode, please press Enter without inputting anything.
Specify Virtual Hub Name:

หลังจากนั้นให้เราRun Command ต่อไปนี้เพื่อทำการสร้าง Virtual Hub

HubCreate main

หลังจากนั้นจะมีหน้าต่างขึ้นมาให้เราใส่ Password ของ Virtual Hub ที่เราจะสร้าง
เพื่อกันลืม แนะนำให้จด Password ไว้สักที่ เพราะเรากำลังจะสร้างอีกหลาย Password

VPN Server> HubCreate main
HubCreate command - Create New Virtual Hub
Please enter the password. To cancel press the Ctrl+D key.

Password: ********
Confirm input: ********


The command completed successfully.

ต่อไปเราจะทำการเลือก Hub main โดยให้ใช้คำสั่งด้านล่างนี้

Hub main

ผลลัพท์ที่ได้ จะได้ตามด้านล่างนี้

VPN Server>Hub main
Hub command - Select Virtual Hub to Manage
The Virtual Hub "main" has been selected.
The command completed successfully.

ต่อไปเราจะสร้าง User ขึ้นมาสำหรับใช้ในการเชื่อมต่อ VPN ครับ โดยจะให้ชื่อว่า user001 ครับ

UserCreate user001 /GROUP:none /REALNAME:none /NOTE:none

แล้วจะได้ผลลัพท์ดังต่อไปนี้ครับ

VPN Server/main> UserCreate user001 /GROUP:none /REALNAME:none /NOTE:none
UserCreate command - Create User
The command completed successfully.

จากนั้นเราจะทำการสร้าง Password ให้กับ user001

UserPasswordSet user001
VPN Server/main>UserPasswordSet user001
UserPasswordSet command - Set Password Authentication for User Auth Type and Set Password
Please enter the password. To cancel press the Ctrl+D key.

Password: ********
Confirm input: ********


The command completed successfully.

ต่อไปเราจะใช้ Command IPsecEnable เพื่อเปิดการใช้งาน L2TP เพื่อให้ Windows หรือ Android สามารถทำการเชื่อมต่อจาก Client ได้ ซึ่งในส่วนนี้เราจำเป็นต้องสร้าง Pre Shared Key สำหรับ IPsec โดยแนะนำให้ใช้ให้ไม่เกิน 9 ตัวอักษร เนื่องจาก Google Android 4.0 จะไม่สามารถทำการเชื่อมต่อ VPN ได้หาก PSK มีความยาวเกิน 10 ตัวอักษร โดยสามารถดูรายละเอียดเพิ่มเติมได้ที่ลิงค์นี้ 6.3 VPN Server / VPN Bridge Management Command Reference (For Entire Server) - SoftEther VPN Project

Please note: Google Android 4.0 has a bug which a Pre-Shared Key with 10 or more letters causes a unexpected behavior. For that reason, the letters of a Pre-Shared Key should be 9 or less characters.

แต่หากเราไม่ได้กังวลเกี่ยวกับ Google Android 4.0 ก็แนะนำให้ใส่ PSK ที่มีความยาวมากๆ
command ที่ใช้

IPsecEnable /L2TP:yes /L2TPRAW:no /ETHERIP:no /DEFAULTHUB:main

ผลลัพท์ที่ได้

VPN Server/main> IPsecEnable /L2TP:yes /L2TPRAW:no /ETHERIP:no /DEFAULTHUB:main
IPsecEnable command - Enable or Disable IPsec VPN Server Function
Pre Shared Key for IPsec (Recommended: 9 letters at maximum): ********

The command completed successfully.

ต่อไปเราจะใช้ command SecureNatEnable เพื่อทำการเปิดใช้งานฟังก์ชัน Secure NAT

command ที่ใช้

SecureNatEnable

ผลลัพท์ที่ได้

VPN Server/main> SecureNatEnable
SecureNatEnable command - Enable the Virtual NAT and DHCP Server Function (SecureNat Function)
The command completed successfully.

ต่อไปเราจะใช้ Command (DhcpSet)[https://www.softether.org/index.php?title=4-docs/1-manual/3._SoftEther_VPN_Server_Manual/3.7_Virtual_NAT_%26_Virtual_DHCP_Servers] เพื่อทำการตั้งค่า Routing ให้การเชื่อมต่อที่เกิดขึ้นภายใน VPC ใช้งานผ่าน SoftEther VPN
ในส่วน 172.31.0.0/255.255.0.0 ต่อจาก /PUSHROUTE: จำเป็นต้องเปลี่ยนตาม CIDR ของ VPC ที่ใช้งานอยู่จริง
นอกจากนี้ การ Routing นั้นสามารถตั้งค่าได้ทั้งฝั่ง VPC server และ Routing Table ของฝั่ง Client
โดยหากต้องการตั้งค่าในฝั่ง Client สามารถข้าม command ด้านล่างนี้ไปได้เลย

command ที่ใช้

DhcpSet /START:192.168.30.10 /END:192.168.30.200 /MASK:255.255.255.0 /EXPIRE:7200 /GW:192.168.30.1 /DNS:192.168.30.1 /DNS2:none /DOMAIN:none /LOG:yes /PUSHROUTE:"172.31.0.0/255.255.0.0/192.168.30.1

ผลลัพท์ที่ได้

VPN Server/main> DhcpSet /START:192.168.30.10 /END:192.168.30.200 /MASK:255.255.255.0 /EXPIRE:7200 /GW:192.168.30.1 /DNS:192.168.30.1 /DNS2:none /DOMAIN:none /LOG:yes /PUSHROUTE:"172.31.0.0/255.255.0.0/192.168.30.1"
DhcpSet command - Change Virtual DHCP Server Function Setting of SecureNAT Function
The command completed successfully.

หลังจากนั้นให้ใช้ command exit เพื่อทำการออกจาก vpncmd เพระการตั้งค่าต่อนี้ไม่จำเป็นต้องเปิด SoftEther VPN Server อีก

VPN Server/main> exit

เพียงแค่นี้ก็ถือว่าจบการตั้งค่าในส่วนของ SoftEther VPN Server แล้วครับ

หากใครกังวลเรื่องความปลอดภัย อย่าลืมไปเปลี่ยน Port 22 ใน Security Group ให้เป็น MY IP กันด้วยนะครับ

ใช้ Client(Windows) ทำการเชื่อมต่อ VPN

ในส่วนนี้เราจะมาตั้งค่า Client(Windows) เพื่อทำการเชื่อมต่อ VPN
โดยในการตั้งค่าครั้งนี้ผมจะใช้ Windows 11(Windows 7 กับ 10 น่าจะไม่ต่างกันมาก) โดยก่อนอื่นให้เราทำการกดปุ่ม Windows บนคีย์บอร์ด แล้วค้นหาคำว่า VPN Setting ครับ(เอาง่ายๆคือเปิด VPN Setting) ครับ

จากนั้นให้ใส่การตั้งค่าต่างๆที่เราตั้งค่าไว้ในหัวข้อที่แล้ว แล้วกด Save

VPN provider: Windows (build-in)
Connection name: aws_vpn_test(ตั้งชื่อที่ตัวเองต้องการ)
Server name: Elastic IP (SoftEther VPN Server IP Address)
VPN Type: L2TP/IPsec with pre-shared key
Pre-shared key: ******** (ที่เราตั้งค่าไว้ในหัวข้อที่แล้วๆ)
Type of sign-in info: User name and password
User name (optional): user001
Password (optional): ******** (ที่เราตั้งค่าไว้ในหัวข้อที่แล้วๆ)

จากนั้นกด Connect ตามที่เห็นในรูปภาพ

เมื่อลองเข้าไปเช็ค IP ว่าเราอยู่ที่ไหน ก็จะพบว่า เราได้ IP เราได้เปลี่ยนไปแล้ว
โดยผมใช้เว็บนี้ในการเช็คครับ What Is My IP Address - See Your Public Address - IPv4 & IPv6

สำหรับขั้นตอนการตั้งค่า Client(Windows) ให้ทำการเชื่อมต่อ VPN ในขั้นพื้นฐานก็มีเพียงเท่านี้ครับ

การตั้งค่าเพิ่มเติม split tunneling

ในส่วนของ Windows นั้น เราตั้งค่าในฝั่ง Client ให้สามารถเปลี่ยนจาก
full tunneling (ใช้ IP ของ VPN ในการเชื่อมต่อ Internet ทุกอย่าง หรือก็คือ เอา IP ของ VPN มาใช้ในทุกกรณี)
ให้กลายเป็น
split tunneling (ใช้ IP ของ VPN ในกรณีที่การเชื่อมต่อเว็บไซต์ที่ใช้ IP ของเครื่องเราใช้ไม่ได้ หรือก็คือ เอา IP ของ VPN มาใช้ในกรณี IP ของเราถูกบล็อกจากการเชื่อมต่อปลายทาง)

โดยเราสามารถตั้งค่าได้ตามด้านล่างนี้(นี้คือในกรณีของ Windows 11 (Windows อื่นไม่น่าต่างกันมาก))

  1. เข้าไปที่ Network Connections โดยพิมพ์หาในช่องค้นหาของ windows หรือไปที่ [Control Panel] > [Network and Internet] > [Network Connections]
  2. คลิกขวาที่ VPN ที่เราสร้างขึ้น กด Properties
  3. ไปที่ Tab Network เลือก Internet Protocol Version 4(TCP/IPv4) กดที่ Properties
  4. ใน Tab General กด Advanced...
  5. เอาติ้ก Use default gateway on remote network ออกครับ

เท่านี้ก็ถือว่าเป็นการตั้งค่า split tunneling เสร็จเรียบร้อยแล้วครับ

ลองคำนวนค่าใช้จ่ายดู

สำหรับส่วนของค่าใช้จ่าย ผมคิดว่าเราจะแบ่งการใช้งานออกเป็น 2 กรณี กรณีแรกคือ

  • ใช้สำหรับการเพิ่ม Security ในงานระดับ business
  • ใช้แบบส่วนตัวในการเข้าใช้เว็บไซต์ต่างๆ ที่ถูกบล็อกด้วย IP ของเรา หรือต้องการใช้ IP ของต่างประเทศ

โดยในกรณีแรก ค่าใช้จ่ายจะค่อนข้างถูกอยู่แล้วเมื่อเปรียบเทียบกับ VPN ที่ใช้จ่ายเป็นรายเดือน ผมจึงขอไม่คำนวณค่าใช้จ่ายในส่วนนี้
แต่ในกรณีที่ 2 เนื่องจาก AWS มีค่าใช้จ่ายในส่วนของ Traffic ที่ผ่าน Internet Gateway อาจจะมีราคาแพงทำให้การใช้ส่วนในกรณีที่รับชมวิดีโอผ่าน youtube หรือ การโหลดไฟล์ต่างๆ จะเกิดค่าใช้จ่ายที่สูงมากๆจนไม่คุ้ม

รายละเอียดเกี่ยวกับส่วนค่าใช้จ่ายของ EC2 จะอยู่ในลิ้งค์ต่อไปนี้ Amazon EC2 Pricing - Amazon Web Services

ค่าใช้จ่ายในส่วนของ Amazon EC2 ไปที่ Outbound(ผ่าน Internet Gateway)

ราคาการถ่ายโอนข้อมูลออกจาก Amazon EC2 ไปยังอินเทอร์เน็ต

ในการเชื่อมต่อผ่าน Internet Gateway นั้น

  • ในส่วนที่ Internet Gateway → EC2 จะไม่เสียค่าใช้จ่าย
  • ในส่วนที่ EC2 → Client(เครื่องคอมพิวเตอร์ของเรา) จะเสียค่าใช้จ่าย  

โดยในแต่ละเดือน AWS จะให้การถ่ายโอนข้อมูลออกไปยังอินเทอร์เน็ตฟรี 100GB(EC2 → Client) ถ้าเราใช้ไม่เกินนี้ก็จะไม่เสียค่าใช้จ่าย
โดยหากใช้เกินก็จะเสียค่าใช้จ่าย โดยค่าใช้จ่ายจะแตกต่างกันตาม Region ครับ โดยหากเมื่อเทียบกรณีของผมที่ใช้ tokyo Region จะมีค่าใช้จ่ายอยู่ที่

  • 10 TB แรก/เดือน : 0.114 USD ต่อ GB

ค่าใช้จ่ายในส่วนของ EC2 Instance

จากการคำนวณในเว็บไซต์ต่อไปคำนวน AWS Pricing Calculator
โดยในการทดลองครั้งนี้ ผมได้ใช้

  • Instance type: t2.micro
  • EBS: 8 GB
  • Pricing strategy: On-Demand
  • Region: Tokyo

โดยเปิดใช้เป็นเวลา 30 วัน จะอยู่ที่ 12.06 USD(ec2:11.10USD, EBS:0.96USD)

เราใช้ Internet กี่ GB ในการใช้ชีวิตประจำวัน

ผมจะยกตัวอย่างปริมาณ Internet ที่เราจะใช้ในแต่ละกิจกรรมบทอินเตอร์เน็ตนะครับ

ประเภทกิจกรรม ปริมาณ Internet ที่ใช้ ต่อ 1 ชั่วโมงโดยประมาณ
เข้าเว็บไซต์ต่างๆ 16 MB
ดู วิดีโอ HD 0.87 GB
ดู วิดีโอ Full HD 1.37 GB
Google Map 15 KB
LINE(ข้อความ) 30 MB ต่อ 100 ข้อความ
LINE(โทร) 25 MB
LINE(โทรแบบเห็นหน้า) 300 MB

โดยผมคิดว่าเหตุผลที่เราจำเป็นต้องใช้ VPN น่าจะมีไม่กี่อย่างคือ เข้าใช้ Website หรือ การดู Streaming ต่างๆที่ไม่ได้ให้บริการในประเทศไทย เช่น ทีวีต่างประเทศ, Netflix, Amazon Prime Video

โดยผมก็คิดไว้ว่าเราดูหนัง Streaming Full HD วันละ 3 ชม เป็นเวลา 1 เดือน คิดเป็น

3 * 30 = 90 ชั่วโมง    
90 * 1.37 = 123.3 GB

ซึ่งเกินมาจากที่ AWS ให้มาฟรีอยู่ที่ 23.3 GB (มาจาก 123.3 - 100) โดย โดย 1 GB จะคิดอยู่ที่ 0.114 USD

23.3 * 0.114 = 2.6562 USD

แล้วเมื่อนำไปรวมกับ ค่า AWS ที่เราใช้ 1 เดือนจะอยู่ที่

12.06 + 2.6562 = 14.7162 USD
หรือประมาณ 523.68 บาท

ซึ่งเมื่อเราทำการค้นหาข้อมูล VPN รายเดือนที่มีอยู่ทั่วไป อาจจะมีหลายบริการที่ถูกกว่า 523.68 บาท
ทำให้เราไม่มีข้อจำเป็นที่จะต้องมาใช้ AWS ไปใช้ VPN อื่นๆ ที่ถูกๆอยู่ทั่วไปจะดีกว่า

แต่ทว่า

จุดเด่นของ AWS นั้นอยู่ที่ เราจ่ายเท่าที่เราใช้ หาก 1 เดือน เราใช้ไม่เกิน 100 GB เราจะไม่เสียค่าใช้จ่ายเพิ่มเติมในส่วนของการถ่ายโอนข้อมูลออกไปยังอินเทอร์เน็ต
และในส่วน Instance เอง หากเราทำการ Stop เมื่อไม่ทำการใช้งาน ก็จะได้ส่วนลดที่ถูกลงไปอีก

พอลองคำนวนเล่นๆ ดูก็จะได้ประมาณนี้ครับ

ดูหนังวันละ 3 ชม โดยใน 1 เดือน ใช้ไม่เกิน 100 GB
พอจะดูก็มาเปิด Instance พอไม่ใช้ก็ปิด  
ทำให้เราใช้ 3*30 = 90 ชม. ต่อ 1 เดือน
1 เดือนมี 720 ชั่วโมง 
90/720 = 0.125 
(0.125 * 11.10) + 0.96 = 2.3475 USD
หรือประมาณ 83.52 บาท

โดยเราจะจ่ายแค่ 83.52 บาท ต่อเดือนซึ่งถือว่าถูกมากๆครับ

นี่เป็นการประมาณค่าใช้จ่ายอย่างคร่าวๆ หากต้องการใช้จริงๆ ควรศึกษาด้วยตัวเองเพื่อความถูกต้องในค่าใช้จ่าย

สรุป

เป็นยังไงกันบ้างครับกับ SoftEther VPN Server โดยส่วนตัวผมคิดว่าเป็นเนื้อหาที่มีประโยชน์มากๆครับ สำหรับผู้ที่ต้องการใช้ VPN
โดยหากเราต้องการใช้ แปปๆ แล้วก็เลิกใช้ AWS ถือเป็น Service ที่ถูกมากครับ ตามแนวคิดที่จ่ายตามที่ใช้
ส่วนถ้าเกิดคนอื่นอยากใช้อินเตอร์เน็ตเยอะๆ ในแต่ละเดือน ผมแนะนำให้สมัคร VPN ที่มีอยู่ทั่วไปจะถูกกว่าครับ
สำหรับบทความนี้ก็จบเพียงเท่านี้ครับ แล้วเจอกันในบทความต่อไป สวัสดีครับ / ต้า

บทความต้นฉบับ

AWSにSoftEther VPNServerで簡単にVPN接続しよう | DevelopersIO

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