# 安全组

虚拟防火墙用于控制弹性算力实例的入站和出站流量，以提高安全性。虚拟防火墙提供状态包检测 (SPI) 和包过滤功能。您可以使用虚拟防火墙及其规则在云中定义安全域。

## **限制** <a href="#limits" id="limits"></a>

<table><thead><tr><th width="641">项目</th><th>限制</th></tr></thead><tbody><tr><td>每个账户最多安全组数量</td><td>100</td></tr><tr><td>单个实例最多可部署的安全组数量</td><td>1</td></tr><tr><td>单个安全组中最多规则数量</td><td>250</td></tr></tbody></table>

## **实用建议** <a href="#practical-suggestions" id="practical-suggestions"></a>

* 如果您不创建虚拟防火墙，系统会为您的实例应用一个默认虚拟防火墙，该防火墙允许到 TCP 端口 22（Linux）、TCP 端口 3389（Windows）和 ICMP 协议的入站连接，以及允许所有流量的出站连接以实现远程登录。
* 您可以添加规则以允许特定目标或源在特定端口上的访问。
* 添加虚拟防火墙规则时遵循最小授权原则。例如，要允许 Linux 实例的端口 22 连接，建议您添加一条规则，仅允许来自特定 IP 地址的访问，而不是所有 IP 地址 (`0.0.0.0/0`)。
* 确保每个虚拟防火墙具有简单明了的规则。单个实例可以加入多个虚拟防火墙，单个虚拟防火墙可以有多个规则。如果一个实例应用了大量规则，管理会变得复杂，可能会引入未预见的风险。
* 将具有不同用途的实例加入不同的虚拟防火墙，并分别维护应用于这些实例的虚拟防火墙规则。例如，您可以将接受互联网访问的实例加入一个虚拟防火墙。然后，在此虚拟防火墙中，添加规则以允许仅用于提供外部服务的端口（如端口 80 和 443）的入站访问。同时，为了确保这些可通过互联网访问的实例不提供其他服务（如 MySQL 和 Redis），建议您在无法从互联网访问的实例上部署内部服务，并将这些实例加入另一个虚拟防火墙。
* 不要修改生产环境中使用的虚拟防火墙。对虚拟防火墙的所有更改都会自动应用于该虚拟防火墙内的实例。在更改虚拟防火墙之前，您可以在测试环境中克隆、修改和调试它，以确保更改不会中断相关实例之间的通信。
* 为虚拟防火墙指定可识别的名称和描述，以便于搜索和管理。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.console.zenlayer.com/welcome/cn/elastic-compute/security/security-group.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
