# 3. HI GIO Auto Scale

## <mark style="color:green;">**Tổng quan**</mark>

Tài liệu này hướng dẫn cách sử dụng chức năng Auto Scale trên HI GIO CLOUD.

## <mark style="color:green;">Quy trình</mark>

* Mạng cần có các địa chỉ IP từ **Static IP Pool** (dùng cho ứng dụng **không** **sử dụng** HI GIO Load Balancing).
* **Load Balancer Pool** và **Virtual Service** (dùng cho ứng dụng có sử dụng HI GIO Load Balancing).
* Cần có mẫu vApp của máy ảo (VM) để thực hiện mở rộng.

{% tabs %}
{% tab title="I. Tạo Scale Group" %}
**Bước 1:** Đăng nhập vào **HI GIO Portal** > **Applications** > **Scale Groups** > **NEW SCALE GROUP**

<figure><img src="https://content.gitbook.com/content/dOZ82gj0wvhbAUlxBHpj/blobs/aUxdqm5d0n8q6LVbLfpT/image.png" alt=""><figcaption></figcaption></figure>

**Bước 2:** Trong phần **General Settings**:

* Chọn người sở hữu của nhóm Scale Group.
* Chọn **Organisation VDC**.
* Nhập **Group Name**.
* Nhập số lượng **Min VMs**.
* Nhập số lượng **Max VMs**.<br>

  <figure><img src="https://content.gitbook.com/content/dOZ82gj0wvhbAUlxBHpj/blobs/09eppTanzxcgmDGQScKD/image.png" alt=""><figcaption></figcaption></figure>

**Bước 3:** Trong phần **Application Settings**:

* Chọn mẫu **vApp template** của ứng dụng đã chuẩn bị từ trước.
* Chọn **Storage Policy**.<br>

  <figure><img src="https://content.gitbook.com/content/dOZ82gj0wvhbAUlxBHpj/blobs/U0yjXsa6qAWYa6tzUkQB/image.png" alt=""><figcaption></figcaption></figure>

  **Bước 4:** Trong phần **Network Settings**, chọn mạng cho nhóm mở rộng:

  * Nếu bạn tự quản lý **Load Balancer** hoặc không cần **Load Balancer**, chọn **I have a fully set-up network**:
    * Chọn **Network**.
    * Nhấn **CREATE GROUP AND ADD RULES**.<br>

      <figure><img src="https://content.gitbook.com/content/dOZ82gj0wvhbAUlxBHpj/blobs/UfacBYSGfzaZrY3wbZOC/image.png" alt=""><figcaption></figcaption></figure>

  <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>Đảm bảo mạng có sẵn các <strong>Static IP Pools</strong>.</p></div>

  * Nếu ứng dụng sử dụng **HI GIO Load Balancing**, chọn **I have set-up a Load Balancer**:
    * Nhập **Network CIDR**.
    * Chọn **Edge Gateway**.
    * Chọn **Server Pool**.
    * Nhấn **CREATE GROUP AND ADD RULES**.<br>

      <figure><img src="https://content.gitbook.com/content/dOZ82gj0wvhbAUlxBHpj/blobs/szx5TNH1CRNgPLa7tfys/image.png" alt=""><figcaption></figcaption></figure>

  **Bước 5:** Thiết lập quy tắc tường lửa (**Firewall Rules**) dựa trên yêu cầu của ứng dụng.
  {% endtab %}

{% tab title="II. Tạo Auto Scaling Rules" %}
**Bước 1:** Chọn **Scale Group** > **Rules** > **ADD RULE**.

<figure><img src="https://content.gitbook.com/content/dOZ82gj0wvhbAUlxBHpj/blobs/zZfsk7BLYfCEOap0buJ6/image.png" alt=""><figcaption></figcaption></figure>

**Bước 2:** Trong tab **General**:

* **Name:** Nhập tên quy tắc.
* **Number of VMs:** Số lượng VMs sẽ mở rộng hoặc thu nhỏ
* **Behavior:** Chọn cách thức nhóm mở rộng hoạt động khi quy tắc được kích hoạt:
  * Grow: Mở rộng (**scale out**).
  * Shink: Thu nhỏ (**scale in**).
* **Cool down:** Nhập thời gian chờ (**cooldown**) tính bằng phút sau mỗi lần tự động scale trong nhóm.

{% hint style="warning" %}
**Lưu ý:** Các điều kiện không thể kích hoạt lần mở rộng khác cho đến khi hết thời gian chờ. Thời gian chờ sẽ được đặt lại khi bất kỳ quy tắc nào trong nhóm scale được kích hoạt.
{% endhint %}

**Bước 3:** Trong tab **Conditions**, thêm điều kiện kích hoạt quy tắc:

* A**vg. Utilization:**
  * CPU usage.
  * memory usage.
* **Condition:**
  * greater or equal to.
  * lower or equal to.
* Amount: Nhập giá trị phần trăm (%).
* **Duration:** Khoảng thời gian mà điều kiện phải được duy trì để kích hoạt quy tắc.

{% hint style="warning" %}
**Lưu ý:** Toán tử **AND** được sử dụng để nhóm các điều kiện trong một quy tắc

Sau khi một điều kiện được đáp ứng, có thể mất **đến 5 phút** để thực thi.
{% endhint %}

<figure><img src="https://content.gitbook.com/content/dOZ82gj0wvhbAUlxBHpj/blobs/RBqqqWfTh0mhL3lNoQIO/image.png" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

### **Reference document**

[Auto Scale Groups](https://docs.vmware.com/en/VMware-Cloud-Director/10.4/VMware-Cloud-Director-Tenant-Portal-Guide/GUID-C179B853-709B-455D-94CA-2D5159D70A49.html)
