# Create Load Balancer

## Prerequisite

* มียอดคงเหลือใน Project มากกว่า 0 บาท ([ขั้นตอนการเติมเงินเข้าสู่ Project](https://docs-epc.gitbook.io/ncs-documents/nipa-cloud-space-overview/billing-and-wallet/topup-a-project-wallet))

## Instructions

### 1. เข้าสู่ Project

กดเลือก project จากหน้า ยrojects Management เพื่อเข้าสู่หน้า Project Detail

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2FWSuXmwtyaAJWnDNMdbdA%2Fimage.png?alt=media&#x26;token=2e6422df-9d4e-4059-b15f-be14fc4d3b8a" alt=""><figcaption><p>Project Detail</p></figcaption></figure>

### 2. เลือกคำสั่ง Create Load Balancer

เข้าสู่หน้า Load Balancer โดยกด menu Load Balancing - Load Balancer ภายใต้ sidebar และกดปุ่ม Load Balanacer ที่มุมขวาบนของหน้า Load Balancer

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2FGZFLaRLqKbltKZPm2jQm%2Fimage.png?alt=media&#x26;token=3d327349-b8c2-48d3-84d0-fcbd43232d3f" alt=""><figcaption><p>Load Balancer Create Button</p></figcaption></figure>

### 3. เลือก Availability Zone, กำหนดชื่อและคำอธิบายเพิ่มเติม ของ Load Balancer

ใน step แรก step Detail ให้เลือก Availability Zone, กำหนดชื่อและคำอธิบายของ Load Balancer เพื่อให้สามารถจำแนกออกจาก Load Balancer ตัวอื่นได้

{% hint style="info" %}
แนะนำให้ Load Balancer และ Compute Instance ที่จะมาเป็น Member ของ Backend Group อยู่บน Availability Zone เดียวกัน เพื่อ performance สูงสุด
{% endhint %}

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2Ftqq1ieAZ8l9cbNrFMVne%2Fimage.png?alt=media&#x26;token=d39c180b-b377-4cb1-9e89-7a98d757d283" alt=""><figcaption><p>Create Load Balancer - Detail</p></figcaption></figure>

### 4. เลือก Purpose ของ Load Balancer

เลือก Purpose ของ Load Balancer โดยคำนึงจากรูปแบบการใช้งาน โดย&#x20;

* **Development** เหมาะสำหรับงานที่รับการแปรผันของ performance ได้เล็กน้อย หรืองานใน environment test โดยจะมีแต่ standalone topology เท่านั้น
* **Production** เหมาะสำหรับงานที่ต้องการความเสถียรของ performance โดยจะมี topology ทั้งแบบ standalone และ high availability

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2F1WWjE2khHAfKHeddChIU%2Fimage.png?alt=media&#x26;token=f08a388a-b2f1-4199-90d9-0216aa323974" alt=""><figcaption><p>Create Load Balancer - Purpose</p></figcaption></figure>

### 5. เลือก Specification ของ Load Balancer

เลือก Topology และ Specification หรือขนาดของ Load Balancer ว่าต้องการรองรับการทำงานระดับใด และ ยอมรับ downtime ได้นานแค่ไหน โดย

Topology จะระบุจำนวนเครื่อง compute ที่ทำงานเป็น Load Balancer โดยมี 2 รูปแบบ คือ

* Standalone มี compute 1 เครื่อง ในกรณีที่ compute มีปัญหา จะมีการ self-healing ขึ้นมาภายใน 5 นาที
* High Availability มี compute 2 เครื่อง ทำงานแบบ active/standby ทำให้เมื่อ compute ที่ Active มีปัญหา จะสามารถสลับมาใช้ standby compute ได้ ภายใน 5 วินาที

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2FvAwWEqyaz0r3SLl3hZFO%2Fimage.png?alt=media&#x26;token=f25cedf4-4701-4715-b2e1-5e226d663372" alt=""><figcaption><p>Create Load Balancer - Specification</p></figcaption></figure>

### 6. เลือก Virtual Network และ External Network

เลือก VPC Network สำหรับใช้งานเป็น Virtual Network ของ Load Balancer และ ตัวเลือก External IP กรณีที่ต้องการออก public internet

{% hint style="info" %}
แนะนำให้ Load Balancer ใช้ VPC Network เดียวกันกับ Compute Instance ที่จะมาเป็น Member ของ Backend Group
{% endhint %}

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2FlQbhqAswcc1dn9F7P1Gt%2Fimage.png?alt=media&#x26;token=775f172a-c785-43ad-853e-65226dc5a45a" alt=""><figcaption><p>Create Load Balancer - Network</p></figcaption></figure>

### 7. ตรวจสอบการตั้งค่าของ Load Balancer ก่อน Confirm การสร้าง

ตรวจสอบความถูกต้องของการตั้งค่า และกดปุ่ม CREATE เพื่อสร้าง Load Balancer

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2FamHaylmf4aL53ykOVsY1%2Fimage.png?alt=media&#x26;token=2665e03d-cd82-475e-b7b0-d4f4dce42385" alt=""><figcaption><p>Create Load Balancer - Summary</p></figcaption></figure>

### 9. ดูรายละเอียดของ Load Balancer ที่สร้าง

รอจน Load Balancer Status กลายเป็น HEALTHY และกดที่ชื่อของ Load Balancer เพื่อเข้าหน้า Load Balancer Detail

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2Ftcp4Xb1ozsW3vBhRNn3D%2Fimage.png?alt=media&#x26;token=8eab74a8-903e-4c32-991d-00801878f337" alt=""><figcaption><p>Load Balancer List</p></figcaption></figure>

### 10. สร้าง Backend Group&#x20;

ในหน้า Load Balancer Detail ที่ tab Overview จะแสดงรายละเอียดของ Load Balancer โดยจะต้องสร้าง Backend Group เพื่อเริ่มใช้งาน โดยกดปุ่ม CREATE BACKEND GROUP ที่แถบ menu ด้านบน หรือ instruction card ที่ด้านขวาบน

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2Fd4HxhuNS3mFOcwM4TC63%2Fimage.png?alt=media&#x26;token=26f9f371-b39d-4cc8-adaa-6265f56d55fb" alt=""><figcaption><p>Load Balancer Overview - Create Backend Group Button</p></figcaption></figure>

ในขั้นตอนต่อจากนี้ จะเป็นการแยกประเภทของ Load Balancing ที่ต้องการใช้งาน จะที่จะเป็น Network Load Balancing หรือ Application Load Balancing โดยให้ทางการเลือกรูปแบบนี้ต้องการจากตัวเลือกด้านล่าง

* หากต้องการใช้ Network Load Balancing [using-network-load-balancing](https://docs-epc.gitbook.io/ncs-documents/load-balancing/load-balancer/using-network-load-balancing "mention")
* หากต้องการใช้ Application Load Balancing [using-application-load-balancing](https://docs-epc.gitbook.io/ncs-documents/load-balancing/load-balancer/using-application-load-balancing "mention")
