我们使用机器学习技术将英文博客翻译为简体中文。您可以点击导航栏中的“中文(简体)”切换到英文版本。
在 亚马逊云科技 Snowball Edge 设备上使用和管理安全组
这篇博客文章由混合边缘解决方案专业架构师贾里德·诺沃特尼和塔雷克·拉贾比撰写。
安全组用于通过控制入口和出口流量来保护 EC2 实例。创建安全组并将其与实例关联后,客户可以添加入口和出口规则来控制数据流。就像区域中的默认 VPC 一样,Snow 设备上也有默认安全组。当实例启动且未指定其他安全组时,将应用默认安全组。该区域中的默认安全组允许来自分配给同一安全组的网络接口和实例的所有入站流量,并允许所有出站流量。在 Snowball Edge 上,默认安全组允许所有入站和出站流量。
在这篇文章中,我们将回顾在 Snowball Edge 设备上创建、管理和使用安全组所需的工具和命令。
需要记住的一些事情:
- 亚马逊云科技 Snowball Edge 仅限于 50 个安全组。
- 一个实例只有一个安全组,但每个组总共可以有 120 条规则。它由 60 条入站和 60 条出站规则组成。
- 安全组只能使用允许语句来允许网络流量。
- 不允许拒绝陈述。
- Snowball Edge 客户端 (亚马逊云科技 CLI) 中的某些命令不提供输出。
- 亚马逊云科技 CLI 命令可以使用名称或安全组 ID。
先决条件和工具
客户必须从其
入门
首先,当 Snow 设备到达客户站点时,客户必须解锁设备并启动 EC2 实例。这可以通过
查看安全组信息
亚马逊云科技 Snowball Edge 解锁、配置并运行 EC2 实例后,我们可以更深入地研究使用安全组充当虚拟防火墙并控制传入和传出流量。
尽管 亚马逊云科技 OpsHub 工具为计算和存储操作提供了各种功能,但它只能用于查看与 Snowball Edge 设备中的实例关联的安全组的名称:
与安全组的所有其他交互都必须通过 亚马逊云科技 CLI 进行。
以下命令显示如何轻松读取描述协议、源和目标的输出。此特定命令将显示有关默认安全组的信息,该安全组允许在 Snowball Edge 上运行的 EC2 实例上的所有入站和出站流量。
在以下部分中,我们将通过示例和输出回顾最常见的命令。
查看(全部)现有安全组:
创建新的安全组:
aws ec2 create-security-group--group-name allow-ssh--description “只允许 ssh 入站”--endpoint Htp: //mysnowipAddrectende
输出返回一个 groupID:
向安全组添加端口 22 入口:
aws ec2 authorize-security-group-group-ingress--group-ids.sg-8f25ee27cee870b4a--protocol tcp--port 22--cidr 10.100.10.0/24--endpoint Http: //mysnowipAddredge
请注意,如果您使用的是默认安全组,则出站规则仍然是允许所有流量。
从安全组撤消端口 22 的入口规则
aws ec2 撤消安全组入口--group-ids.sg-8f25eee27cee870b4a--ip-permissions ipprotocol=TCP,fromport=22,iPranges= [{cidrip=10.100.10.0/24}]--endpoint Http: //mysnowipAddredge
撤消默认出口规则:
aws ec2 撤销-security-group-egress--group-ids.sg-8f25ee27cee870b4a--ip-permissions ipProtocol=” -1",iPranges= [{cidrip=0.0.0.0/0}]--endpoint Http: //mysnowip地址:8008--profile SnowballeDge
请注意,此规则将删除所有出站临时端口。
添加默认出站规则(上面已撤销):
aws ec2 authorize-security-group-egress--group-id s.sg-8f25ee27cee870b4a--ip-permissions ipProtocol=” -1",iPranges= [{cidrip=0.0.0.0/0}]--endpoint Http: //mysnowip地址:8008--profile Snowballedge
更改实例的现有安全组:
aws ec2 修改实例属性--instance-id s.i-852971d05144e1d63--groups s.sg-8f25eee870b4a--endpoint Http: //mysnowipAddredge
请注意,此命令不产生任何输出。我们可以验证它是否与 “aws ec2 描述实例” 命令配合使用。参见以下示例(命令输出已简化):
aws ec2 describe-instance-id s.i-852971d05144e1d63--endpoint Http: //mysnowipAdd:8008--profile SnowballeDge
将实例的安全组更改回默认值:
请注意,此命令不产生任何输出。你可以验证它是否与 “aws ec2 describe-instances” 命令一起使用。参见以下示例:
aws ec2 describe-instance-ids.i-852971d05144e1d63 — 终端节点 Https: //mysnowipAddrectende 8008 — profile Snowballedg
删除安全组:
aws ec2 delete-security-group--group-ids.sg-8f25ee27cee870b4a--endpoint Http: //mysnowipAddredge
添加 SSH 安全组的示例演练
例如,假设一个 EC2 实例 “A” 在 Snowball Edge 设备上运行。默认情况下,允许所有流量流向 EC2 实例 “A”。如下图所示,我们希望加强安全性,只允许管理 PC 通过 SSH 连接到实例。
1。创建 SSH 安全组:
aws ec2 create-security-group--group-name myshGroup--描述 “ssh 访问”--endpoint Http: //mysnowipAddrectende 8008
2。这将返回 “groupID” 作为输出:
3。创建安全组后,我们必须允许端口 22 从管理 PC 的 IP 进入:
aws ec2 authorize-security-group-ingress--group-name myshGroup — 协议 tcp--port 22 — cidr 192.168.26.193/32--endpoint Http: //mysnowipAddredge
4。验证安全组是否已创建:
aws ec2 describe-security-group——组名 MysshGroup —端点 Http: //mysnowipAddrectende 8008--pro
5。创建安全组后,我们必须将其与实例关联:
aws ec2 修改实例属性 —-instance-id s.i-8f7ab16867ffe23d4 —-groups s.sg-8a420242d86dbbb89--endpoint Http: //mysnowipAdd:8008--profile Snowballedge
6。或者,我们可以在不再需要安全组后将其删除:
aws ec2 delete-security-group--group-id s.sg-8a420242d86dbbb89--endpoint Http: //mysnowipAddredge
请注意,对于上述关联,实例 ID 是 “aws ec2 describe-instances” 命令的输出,而安全组 ID 是 “describe-security-groups” 命令(或控制台在上述步骤 2 中返回的 “groupID”)的输出。
结论
这篇文章介绍了使用 亚马逊云科技 Snowball Edge 设备创建和管理安全组的最常见命令。我们探讨了用于查看、创建和修改安全组的先决条件、工具和命令,以确保在 亚马逊云科技 Snowball Edge 上部署的 EC2 实例仅限授权用户使用。最后,我们简单介绍了如何限制通过单个 IP 地址通过 SSH 访问 EC2 实例。如果您想了解有关 Snowball Edge 产品的更多信息, 可以在
*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。