建立、設定和刪除 Amazon EC2 的安全群組 - AWS Command Line Interface

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立、設定和刪除 Amazon EC2 的安全群組

您可以為您的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體建立基本上作為防火牆執行的安全群組,並使用規則來判斷哪些網路流量可以進入和離開。

使用 AWS Command Line Interface (AWS CLI) 可建立安全性群組、將規則新增至現有安全性群組,以及刪除安全性群組。

注意

如需其他指令範例,請參閱參考指南

必要條件

若要執行 ec2 命令,您需要:

建立安全群組

您可以建立與虛擬私有雲端 (VPC) 相關聯的安全性群組。

下列 aws ec2 create-security-group 範例顯示如何為指定的 VPC 建立安全群組。

$ aws ec2 create-security-group --group-name my-sg --description "My security group" --vpc-id vpc-1a2b3c4d { "GroupId": "sg-903004f8" }

若要檢視安全群組的初始資訊,請執行 aws ec2 describe-security-groups 命令。您只能依 vpc-id 參考 EC2-VPC 安全群組,不能使用其名稱。

$ aws ec2 describe-security-groups --group-ids sg-903004f8 { "SecurityGroups": [ { "IpPermissionsEgress": [ { "IpProtocol": "-1", "IpRanges": [ { "CidrIp": "0.0.0.0/0" } ], "UserIdGroupPairs": [] } ], "Description": "My security group" "IpPermissions": [], "GroupName": "my-sg", "VpcId": "vpc-1a2b3c4d", "OwnerId": "123456789012", "GroupId": "sg-903004f8" } ] }

新增規則至安全群組

當您執行 Amazon EC2 執行個體,您必須啟用安全群組中的規則,以允許傳入網路流量來連線到映像。

例如,如果您正在啟動 Windows 執行個體,則通常需新增規則以允許 TCP 連接埠 3389 上的對內流量來支援遠端桌面通訊協定 (RDP)。如果您正在啟動 Linux 執行個體,則通常必須新增規則以允許 TCP 連接埠 22 上的對內流量來支援 SSH 連線。

使用 aws ec2 authorize-security-group-ingress 命令以新增規則至安全群組。此命令的一項必要參數為您電腦的公有 IP 地址或您電腦連接的網路 (採用地址範圍的形式),使用 CIDR 符號。

注意

我們提供以下服務 (https://checkip.amazonaws.com/),讓您能夠判斷您的公有 IP 地址。若要尋找可協助您識別 IP 地址的其他服務,請使用瀏覽器來搜尋「我的 IP 地址是什麼」。如果您透過 ISP 或從防火牆後方使用動態 IP 地址來連線 (透過私有網路的 NAT 閘道),則您的地址可能會定期變更。在這種情況下,您必須找出用戶端電腦所用 IP 地址的範圍。

以下範例顯示如何新增 RDP 的規則 (TCP 連接埠 3389) 到使用您的 IP 地址、ID 為 sg-903004f8 的 EC2-VPC 安全群組。

若要開始,請找出 IP 地址。

$ curl https://checkip.amazonaws.com x.x.x.x

然後您就可以透過執行 aws ec2 authorize-security-group-ingress 命令來將 IP 地址新增至安全群組。

$ aws ec2 authorize-security-group-ingress --group-id sg-903004f8 --protocol tcp --port 3389 --cidr x.x.x.x/x

以下命令會新增另一個規則,以啟用 SSH 連線到相同安全群組中的執行個體。

$ aws ec2 authorize-security-group-ingress --group-id sg-903004f8 --protocol tcp --port 22 --cidr x.x.x.x/x

若要檢視安全群組的任何變更,請執行 aws ec2 describe-security-groups 命令。

$ aws ec2 describe-security-groups --group-ids sg-903004f8 { "SecurityGroups": [ { "IpPermissionsEgress": [ { "IpProtocol": "-1", "IpRanges": [ { "CidrIp": "0.0.0.0/0" } ], "UserIdGroupPairs": [] } ], "Description": "My security group" "IpPermissions": [ { "ToPort": 22, "IpProtocol": "tcp", "IpRanges": [ { "CidrIp": "x.x.x.x/x" } ] "UserIdGroupPairs": [], "FromPort": 22 } ], "GroupName": "my-sg", "OwnerId": "123456789012", "GroupId": "sg-903004f8" } ] }

刪除您的安全群組

若要刪除安全群組,請執行 aws ec2 delete-security-group 命令。

注意

您不能刪除目前已經連接到環境的安全群組。

下列命令範例會刪除 EC2-VPC 安全群組。

$ aws ec2 delete-security-group --group-id sg-903004f8

參考

AWS CLI 參考:

其他參考: