Amazon EC2 インスタンスのセキュリティグループの変更
Amazon EC2 インスタンスのセキュリティグループは、インスタンスの起動時に指定できます。インスタンスを起動した後、セキュリティグループを追加または削除することができます。また、関連付けられたセキュリティグループのセキュリティグループルールは、いつでも追加、削除、編集できます。
セキュリティグループはネットワークインターフェイスに関連付けられます。セキュリティグループを追加または削除すると、プライマリネットワークインターフェイスに関連付けられているセキュリティグループが変更されます。セカンダリネットワークインターフェイスに関連付けられているセキュリティグループも変更できます。詳細については、「ネットワークインターフェイス属性の変更」を参照してください。
セキュリティグループの追加または削除
インスタンスを起動した後、関連付けられているセキュリティグループのリストに対し、セキュリティグループを追加または削除できます。複数のセキュリティグループをインスタンスに関連付けると、各セキュリティグループのルールが効率的に集約され、1 つのルールセットが作成されます。Amazon EC2 はこのルールセットを使用して、トラフィックを許可するかを判断します。
- Console
-
インスタンスのセキュリティグループを変更するには
Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。
-
ナビゲーションペインで、[インスタンス] を選択します。
-
インスタンスを選択し、[アクション]、[セキュリティ]、[セキュリティグループの変更] の順に選択します。
-
[関連付けられたセキュリティグループ] で、リストからセキュリティグループを選択し、[セキュリティグループを追加] を選択します。
すでに関連付けられているセキュリティグループを削除するには、そのセキュリティグループで [削除] を選択します。
-
[保存] を選択します。
- AWS CLI
-
インスタンスのセキュリティグループを変更するには
次の modify-instance-attribute コマンドを使用します。
aws ec2 modify-instance-attribute \
--instance-id i-1234567890abcdef0
\
--groups sg-1234567890abcdef0
- PowerShell
-
インスタンスのセキュリティグループを変更するには
Edit-EC2InstanceAttribute コマンドレットを使用します。
Edit-EC2InstanceAttribute `
-InstanceId i-1234567890abcdef0
`
-Group sg-1234567890abcdef0
セキュリティグループルールの設定
セキュリティグループを作成したら、そのセキュリティグループルールを追加、更新、削除できます。ルールを追加、更新、または削除すると、その変更は、セキュリティグループに関連付けられているリソースに自動的に適用されます。
セキュリティグループに追加できるルールの例については、「さまざまなユースケースのセキュリティグループのルール」を参照してください。
送信元と送信先
インバウンドルールの送信元またはアウトバウンドルールの送信先として、以下を指定できます。
-
[カスタム] – IPv4 CIDR ブロック、および IPv6 CIDR ブロック、別のセキュリティグループ、またはプレフィックスリスト。
-
[Anywhere-IPv4] – 0.0.0.0/0 IPv4 CIDR ブロック。
-
[Anywhere-IPv6] – ::/0 IPv6 CIDR ブロック。
-
[マイ IP]: ローカルコンピュータのパブリック IPv4 アドレス。
ポート 22 (SSH) または 3389 (RDP) のインバウンドルールを追加する場合は、特定の IP アドレス、またはインスタンスへのアクセスを必要とするアドレスの範囲のみを許可することを強くお勧めします。[Anywhere-IPv4] を選択すると、すべての IPv4 アドレスからのトラフィックが、指定されたプロトコルを使用してインスタンスにアクセスできるようになります。[Anywhere-IPv6] を選択すると、すべての IPv6 アドレスからのトラフィックが、指定されたプロトコルを使用してインスタンスにアクセスできるようになります。
- Console
-
セキュリティグループのルールを設定するには
Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。
-
ナビゲーションペインで、[Security Groups] を選択します。
-
セキュリティグループを選択します。
-
インバウンドルールを編集するには、[アクション] または [インバウンドルール] タブから [インバウンドルールを編集] を選択します。
-
ルールを追加するには、[ルールを追加] を選択し、ルールのタイプ、プロトコル、ポート、および送信元を入力します。
タイプが TCP または UDP の場合は、許可するポート範囲を入力する必要があります。カスタムの ICMP の場合は、[プロトコル] から ICMP タイプ名を選択し、該当するものがある場合は [ポート範囲] からコード名を選択します。その他のタイプについては、プロトコルとポート範囲は自動的に設定されます。
-
ルールを更新するには、必要に応じてプロトコル、説明、送信元を変更します。ただし、送信元のタイプを変更することはできません。例えば、送信元が IPv4 CIDR ブロックの場合、IPv6 CIDR ブロック、プレフィックスリスト、またはセキュリティグループを指定することはできません。
-
ルールを削除するには、[削除] ボタンを選択します。
-
アウトバウンドルールを編集するには、[アクション] または [アウトバウンドルール] タブから [アウトバウンドルールを編集] を選択します。
-
ルールを追加するには、[ルールを追加] を選択し、ルールのタイプ、プロトコル、ポート、および送信先を入力します。オプションとして説明を入力することもできます。
タイプが TCP または UDP の場合は、許可するポート範囲を入力する必要があります。カスタムの ICMP の場合は、[プロトコル] から ICMP タイプ名を選択し、該当するものがある場合は [ポート範囲] からコード名を選択します。その他のタイプについては、プロトコルとポート範囲は自動的に設定されます。
-
ルールを更新するには、必要に応じてプロトコル、説明、送信元を変更します。ただし、送信元のタイプを変更することはできません。例えば、送信元が IPv4 CIDR ブロックの場合、IPv6 CIDR ブロック、プレフィックスリスト、またはセキュリティグループを指定することはできません。
-
ルールを削除するには、[削除] ボタンを選択します。
-
[Save Rules] (ルールの保存) を選択してください。
- AWS CLI
-
セキュリティグループルールを追加するには
authorize-security-group-ingress コマンドを使用して、インバウンドルールを追加します。次の例では、指定されたプレフィックスリストの CIDR ブロックからの、インバウンド SSH トラフィックを許可します。
aws ec2 authorize-security-group-ingress \
--group-id sg-1234567890abcdef0
\
--ip-permissions 'IpProtocol=tcp,FromPort=22,ToPort=22,PrefixListIds=[{PrefixListId=pl-f8a6439156EXAMPLE
}]'
authorize-security-group-egress コマンドを使用して、アウトバウンドルールを追加します。次の例では、指定されたセキュリティグループを持つインスタンスへの、ポート 80 でのアウトバウンド TCP トラフィックを許可します。
aws ec2 authorize-security-group-egress \
--group-id sg-1234567890abcdef0
\
--ip-permissions 'IpProtocol=tcp,FromPort=80,ToPort=80,UserIdGroupPairs=[{GroupId=sg-0aad1c26bb6EXAMPLE
}]'
セキュリティグループルールを削除するには
インバウンドルールを削除するには、次の revoke-security-group-ingress コマンドを使用します。
aws ec2 revoke-security-group-egress \
--group id sg-1234567890abcdef0
\
--security-group-rule-ids sgr-09ed298024EXAMPLE
アウトバウンドルールを削除するには、次の revoke-security-group-egress コマンドを使用します。
aws ec2 revoke-security-group-ingress \
--group id sg-1234567890abcdef0
\
--security-group-rule-ids sgr-0352250c1aEXAMPLE
セキュリティグループのルールを変更するには
modify-security-group-rules コマンドを使用します。次の例では、指定されたセキュリティグループルールの IPv4 CIDR ブロックを変更します。
aws ec2 modify-security-group-rules \
--group id sg-1234567890abcdef0
\
--security-group-rules 'SecurityGroupRuleId=sgr-09ed298024EXAMPLE
,SecurityGroupRule={IpProtocol=tcp,FromPort=80,ToPort=80,CidrIpv4=0.0.0.0/0
}'
- PowerShell
-
セキュリティグループルールを追加するには
インバウンドルールを追加するには、Grant-EC2SecurityGroupIngress コマンドレットを使用します。次の例では、指定されたプレフィックスリストの CIDR ブロックからの、インバウンド SSH トラフィックを許可します。
$plid = New-Object -TypeName Amazon.EC2.Model.PrefixListId
$plid.Id = "pl-f8a6439156EXAMPLE
"
Grant-EC2SecurityGroupIngress `
-GroupId sg-1234567890abcdef0
`
-IpPermission @{IpProtocol="tcp"; FromPort=22; ToPort=22; PrefixListIds=$plid}
アウトバウンドルールを追加するには、Grant-EC2SecurityGroupEgress コマンドレットを使用します。次の例では、指定されたセキュリティグループを持つインスタンスへの、ポート 80 でのアウトバウンド TCP トラフィックを許可します。
$uigp = New-Object -TypeName Amazon.EC2.Model.UserIdGroupPair
$uigp.GroupId = "sg-0aad1c26bb6EXAMPLE
"
Grant-EC2SecurityGroupEgress `
-GroupId sg-1234567890abcdef0
`
-IpPermission @{IpProtocol="tcp"; FromPort=80; ToPort=80; UserIdGroupPairs=$uigp}
セキュリティグループルールを削除するには
インバウンドルールを削除するには、Revoke-EC2SecurityGroupIngress コマンドレットを使用します。
Revoke-EC2SecurityGroupIngress `
-GroupId sg-1234567890abcdef0
`
-SecurityGroupRuleId sgr-09ed298024EXAMPLE
アウトバウンドルールを削除するには、Revoke-EC2SecurityGroupEgress コマンドレットを使用します。
Revoke-EC2SecurityGroupEgress `
-GroupId sg-1234567890abcdef0
`
-SecurityGroupRuleId sgr-0352250c1aEXAMPLE
セキュリティグループのルールを変更するには
Edit-EC2SecurityGroupRule コマンドレットを使用します。次の例では、指定されたセキュリティグループルールの IPv4 CIDR ブロックを変更します。
$sgrr = New-Object -TypeName Amazon.EC2.Model.SecurityGroupRuleRequest
$sgrr.IpProtocol = "tcp"
$sgrr.FromPort = 80
$sgrr.ToPort = 80
$sgrr.CidrIpv4 = "0.0.0.0/0"
$sgr = New-Object -TypeName Amazon.EC2.Model.SecurityGroupRuleUpdate
$sgr.SecurityGroupRuleId = "sgr-09ed298024EXAMPLE
"
$sgr.SecurityGroupRule = $sgrr
Edit-EC2SecurityGroupRule `
-GroupId sg-1234567890abcdef0
`
-SecurityGroupRule $sgr