---
description: >-
  วิธีสร้าง Compute Instance หรือที่เรียกว่าการ launch Compute Instance
  ในรูปแบบต่างๆ
---

# Launching Compute Instance

## Prerequisite

* ต้องมียอดคงเหลือใน Project มากกว่า 0 บาท หากไม่มีเงินอยู่ใน project ศึกษาวิธีเติมเงินได้ที่ [ขั้นตอนการเติมเงินเข้าสู่ Project](../../nipa-cloud-space-overview/billing-and-wallet/topup-a-project-wallet)

## Instructions

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

เข้าสู่หน้า project detail จากการเลือก project ที่ต้องการที่หน้า projects management

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2FlBs0kX8oYAS4dWVtk257%2FScreen%20Shot%202567-10-30%20at%209.07.10%20AM.png?alt=media&#x26;token=9b01b7dc-146b-4453-8ed8-1bdce040f32a" alt=""><figcaption><p>Project Overview</p></figcaption></figure>

### 2. เข้าสู่หน้า Compute Instance

ที่แถบเมนูทางซ้าย คลิกเลือกเมนู​ COMPUTE > Compute Instance เพื่อเข้าสู่หน้า Compute Instance list&#x20;

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2FKf6LvyNCKn285QFqWPuI%2FScreen%20Shot%202567-10-30%20at%209.08.56%20AM.png?alt=media&#x26;token=e57ee357-e85e-4429-927e-af07cf238d4c" alt=""><figcaption><p>Compute Instance list</p></figcaption></figure>

### 3. เข้าหน้า Launch Compute Instance

คลิกปุ่ม "Compute Instance(s)" ที่มุมขวาบนของหน้า จะเปิดหน้าต่างสำหรับสร้าง instance ขึ้นมาดังภาพ

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2FqIHkCwZTlUWHPCPzUM6x%2Fimage.png?alt=media&#x26;token=9a83277e-7fc1-4d0e-b8be-6236a6119496" alt=""><figcaption><p>launch Compute Instance button</p></figcaption></figure>

### 4. กำหนด Compute Instance detail&#x20;

เลือก option ดังนี้

* **Availability Zone**: เลือก site ที่ต้องการสำหรับ Compute Instance โดยแนะนำว่าให้เลือก Availability Zone ที่อยู่ใกล้กับผู้ใช้ของ application บน Compute Instance นี้มากที่สุด เพื่อให้ได้ latency ที่ต่ำที่สุด
* **Quantity**: จำนวน Compute Instance ที่จะ launch ในครั้งนี้ โดยทุก Compute Instance จะได้ config เดียวกัน และจำเป็นต้องสร้าง component ที่ attach กับ Compute Instance ใหม่ทั้งหมด เช่น Volume (ทำให้ไม่สามารถใช้ Bootable Volume ได้), Network Port และ External IP&#x20;
* **Instance Name**: ชื่อที่จะแสดงใน NCS และ เป็น hostname ของ Compute Instance&#x20;

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2FOmNPnlmL8NpYpcllch0B%2Fimage.png?alt=media&#x26;token=807269c2-a003-4250-8dca-a407dc28581d" alt=""><figcaption><p>launch Compute Instance - Instance detail</p></figcaption></figure>

### 5. เลือก source ของ Compute Instance

ใน step ถัดมา คือการเลือก source หรือข้อมูลตั้งต้นที่จะ OS (Operating System) ของ Compute Instance โดยแบ่งออกเป็น

* **Public Image**: Compute Image ที่ระบบมีให้ โดยจะเป็น OS  พื้นฐานที่นิยมใน version ต่างๆ
* **Custom Image**: Compute Image ที่ถูกสร้างเองโดย user จากการ [upload จาก Volume](../compute-image/create-image-from-a-bootable-volume) หรือ [import จากภายนอก](../compute-image/importing-your-own-image)
* **Bootable Volume**: Volume ที่มีข้อมูล OS อยู่ภายใน อาจได้มาจากการ delete Compute Instance แล้วเก็บ Volume ที่เป็น OS Disk ไว้ หรือสร้าง Volume โดยใช้ source เป็น Compute Image
* **Deployment Script**: launch จาก Compute Image ที่กำหนดไว้เป็น Base Image ของ [Deployment Script](../deployment-script) และ run script หลัง Compute Instance boot เรียบร้อยแล้ว เพื่อติดตั้ง software หรือปรับการตั้งค่าต่างๆ

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2FLQ3CXjCdmiQVrqWCHNAP%2Fimage.png?alt=media&#x26;token=2fff84a0-0831-4a10-a350-b28badca47bb" alt=""><figcaption><p>launch Compute Instance - source </p></figcaption></figure>

### 5.1 ปรับแต่ง Deployment Script (กรณีที่เลือก source เป็น Deployment Script)&#x20;

ในกรณีที่เลือก source เป็น Deployment Script ขั้นตอนของการปรับแต่ง Deployment Script จะ enable ให้สามารถเข้าไปปรับแต่ script ได้

โดยการปรับแต่ง script ในขั้นตอนนี้ จะไม่ถูก save เป็นไว้ที่ Deployment Script เหมาะกับการใช้ set variable เฉพาะต่างๆ เช่น password ของ software&#x20;

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2Frsbm21Y6l1pqwOosuoX7%2Fimage.png?alt=media&#x26;token=c989d706-a592-4f83-a4f6-d5cacf4b648d" alt=""><figcaption><p>launch Compute Instance - Deployment Script</p></figcaption></figure>

### 6. เลือก Machine Type

เลือก machine type หรือ ขนาดของ Compute Instance โดยสามารถเลือก Machine Type ขนาดเล็ก เพื่อใช้ในการ setup ก่อน แล้ว resize ในภายหลังได้ &#x20;

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2Fessv8qSuOGtPq7O9Xihf%2Fimage.png?alt=media&#x26;token=332a819d-5f19-404b-a3a2-8872d68ef375" alt=""><figcaption><p>launch Compute Instance - Machine Type</p></figcaption></figure>

Machine type ของ NIPA Cloud Space แบ่งได้เป็น 3 purposes ดังนี้

* **Compute Intensive** : ย่อว่า **co** เป็น machine type กลุ่มที่เน้นการใช้งาน compute ประมวลผลเยอะ มีปริมาณ vCPU:RAM เป็นอัตราส่วน **1:2**
* **All Purpose** : ย่อว่า **ap** เป็น machine type สำหรับใช้งานทั่วไป มีปริมาณ vCPU:RAM เป็นอัตราส่วน **1:4**
* **Shared-Core** : ย่อว่า **as** เป็น machine type สำหรับใช้งานทั่วไป ที่ไม่ได้ต้องการประสิทธิภาพคงที่ตลอดเวลา เนื่องจากแชร์ resource pool กับผู้ใช้งานอื่น ๆ มีปริมาณ vCPU:RAM เป็นอัตราส่วน **1:2** หรือ **1:4**

### 7. กำหนดการใช้งาน Storages&#x20;

ปรับแต่ง storages สำหรับ Compute Instance โดนแบ่งเป็น

* **OS Disk**: เป็น storage หลักของ Compute Instance ที่จะทำการติดตั้ง OS ลงไป โดยจะไม่สามารถเปลี่ยนแปลงได้ในกรณีที่ใช้ source เป็น Bootable Volume
* **Data Disk**: เป็น storage เสริม ที่จะสามารถเพิ่มได้หลาย Volume รวมถึง detach ออก หรือ attach เพิ่มเมื่อไหร่ก็ได้

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2Frr5ZxhV4gFJAUyTH2jx3%2Fimage.png?alt=media&#x26;token=b1a2d159-fe1d-4380-bf47-42ea61e33b42" alt=""><figcaption><p>launch Compute Instance - Storages</p></figcaption></figure>

{% hint style="info" %}
การ launch Compute Instance มากกว่า 1 instance ในครั้งเดียวจะไม่สามารถเลือก volume ที่มีอยู่แล้วมาเป็น OS Disk (Bootable Volume) หรือ Data Disk ของ Compute Instance ได้ แต่ก็ยังสามารถ attach เพิ่มได้เองภายหลัง
{% endhint %}

### 8. กำหนดการใช้งาน Network

ตั้งค่ารูปแบบเครือข่ายของ Compute Instance ดังนี้

* **Instance Network**: หรือ [VPC network](../../networking/vpc-network) ที่ใช้งานได้เฉพาะภายใน Project ปัจจุบัน ไม่สามารถข้าม project หรือออก Internet ได้
* **IP Address**: หรือ Internal IP ที่ใช้เป็นที่อยู่ในการสื่อสารกันภายใน VPC network เช่น ระหว่าง Compute Instance, [Load Balancer](../../load-balancing) และ [Database Instance](../../database-as-a-service/sql-database) ที่ใช้ VPC Network เดียวกัน
* **External Network**: Network สำหรับติดต่อกับ Internet ภายนอก
* **External IP Address**: หรือ External IP ที่ใช้เป็นที่อยู่ในการสื่อสารกับ Internet ภายนอก หรือแม้กระทั้งกับ resource ใน Project เดียวกัน แต่จะมีค่าใช้จ่าย และ latency ที่สูงกว่าการใช้ Internal IP

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2FRblqmSXtHw7FdEIsnqVl%2Fimage.png?alt=media&#x26;token=58776f70-ce0a-4b95-9158-d4cc4288af7a" alt=""><figcaption><p>launch Compute Instance - Network</p></figcaption></figure>

{% hint style="info" %}
การ launch Compute Instance มากกว่า 1 instance ในครั้งเดียว จะไม่สามารถเลือก Internal IP หรือ External IP ที่มีอยู่แล้วมาใช้ได้ แต่ก็ยังสามารถ attach เพิ่มได้เองภายหลัง
{% endhint %}

### 9. กำหนดรูปแบบความปลอดภัยของ Compute Instance

ตั้งค่าความปลอดภัยของ Compute Instance ดังนี้

* [**Security Group**](../../networking/security-group): กำหนด firewall ของ Compute Instance ที่จะ allow เฉพาะ protocol และ port ที่ต้องการ&#x20;
* **Authentication**:&#x20;
  * **User/Password**: เข้าใช้งาน Compute Instance โดยการใช้รหัสผ่าน สำหรับ [Windows](remote-desktop-to-windows-instance) และ [Linux](ssh-to-linux-compute-instance)
  * **Key Pairs**: เข้าใช้งาน Compute Instance โดยการใช้ Key Pairs สำหรับ [Linux](ssh-to-linux-compute-instance) based OS เท่านั้น
  * **Key Pairs & User/Password**: เข้าใช้งาน Compute Instance โดยการใช้ Key Pairs หรือรหัสผ่าน สำหรับ [Linux](ssh-to-linux-compute-instance) based OS เท่านั้น
  * **Image** **Preference**: สำหรับ Custom Image ที่ import เข้ามาในระบบเอง

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2Fmc6bHHCktvCPDZtcfum9%2Fimage.png?alt=media&#x26;token=15abd4fa-fb77-460e-9d05-5e2ff2006786" alt=""><figcaption><p>launch Compute Instance - Security</p></figcaption></figure>

### 10. Review การตั้งค่า Compute Instance

review การตั้งค่าต่าง ๆ ของการ launch Compute Instance โดยสามารถย้อนกลับไปแก้ไขได้ หากมีการตั้งค่าใดไม่ถูกต้อง

โดยเมื่อ review เรียบร้อยแล้วให้คลิกปุ่ม "LAUNCH" เพื่อเริ่มต้นการ launch

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2FpPjgFBAnCxLuzr4SYtuQ%2Fimage.png?alt=media&#x26;token=d6ec65c9-3465-4838-af48-0b8aba720b45" alt=""><figcaption><p>launch Compute Instance - launch summary</p></figcaption></figure>

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2FzDbBQLqbzxP2bMl0rfKO%2Fimage.png?alt=media&#x26;token=fbbba978-8489-4c17-8ac5-a902cce94dca" alt=""><figcaption><p>launch Compute Instance - success</p></figcaption></figure>

### 11. รอให้ Compute Instance status เปลี่ยนเป็น active

หลัง Compute Instance status กลายเป็น HEALTHY active จึงสามารถ [SSH](ssh-to-linux-compute-instance) หรือ [RDP](remote-desktop-to-windows-instance) เข้าใช้งาน Compute Instance ได้

<figure><img src="https://1352697161-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq2BYmWTMiaonrEL8QBP2%2Fuploads%2FUsgULdL0WnQi0CrunsMG%2Fimage.png?alt=media&#x26;token=14fbbd66-dc2b-44f0-a516-ad1aac4d515a" alt=""><figcaption><p>Compute Instance list - launch completed</p></figcaption></figure>

{% hint style="info" %}
เวลาที่ใช้ในการ launch ขึ้นอยู่กับประเภทและขนาดของ Compute Image
{% endhint %}
