翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Windows PowerShell を使用したセキュリティグループの作成
AWS Tools for PowerShell を使用して、セキュリティグループを作成および設定できます。セキュリティグループを作成するときは、EC2-Classic 用のセキュリティグループなのか、EC2-VPC 用のセキュリティグループなのかを指定します。応答はセキュリティグループの ID です。
インスタンスに接続する必要がある場合、SSH トラフィック (Linux) または RDP トラフィック (Windows) を許可するようにセキュリティグループを設定する必要があります。
前提条件
コンピュータの CIDR 表記のパブリック IP アドレスが必要です。サービスを使用して、ローカルコンピュータのパブリック IP アドレスを取得できます。たとえば、Amazon では、http://checkip.amazonaws.com/
警告
0.0.0.0/0
を指定すると、世界中の任意の IP アドレスからのトラフィックが有効になります。SSH と RDP プロトコルの場合、これはテスト環境で短時間なら許容できますが、実稼働環境で行うのは安全ではありません。実稼働環境では、適切な個別の IP アドレスまたはアドレス範囲からのアクセスのみを許可するようにしてください。
EC2-Classic 用セキュリティグループの作成
警告
2022 年 8 月 15 日に、EC2-Classic の提供を終了します。EC2-Classic は、VPC への移行をお勧めします。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドまたはWindows インスタンス用 Amazon EC2 ユーザーガイドの「EC2-Classic から VPC への移行」を参照してください。ブログ記事「EC2-Classic Networking は販売終了になります — 準備方法はこちら
次の例では、New-EC2SecurityGroup
コマンドレットを使用して EC2-Classic
のセキュリティグループを作成します。
PS >
New-EC2SecurityGroup -GroupName myPSSecurityGroup -GroupDescription "EC2-Classic from PowerShell"
sg-0a346530123456789
セキュリティグループの初期設定を表示するには、Get-EC2SecurityGroup
コマンドレットを使用します。
PS >
Get-EC2SecurityGroup -GroupNames myPSSecurityGroup
Description : EC2-Classic from PowerShell GroupId : sg-0a346530123456789 GroupName : myPSSecurityGroup IpPermissions : {} IpPermissionsEgress : {Amazon.EC2.Model.IpPermission} OwnerId : 123456789012 Tags : {} VpcId : vpc-9668ddef
TCP ポート 22 (SSH) と TCP ポート 3389 でインバウンドトラフィックを許可するようにセキュリティグループを設定するには、Grant-EC2SecurityGroupIngress
コマンドレットを使用します。たとえば、次のスクリプト例では、単一の IP アドレス 203.0.113.25/32
からの SSH トラフィックを有効にする方法を示します。
$cidrBlocks = New-Object 'collections.generic.list[string]' $cidrBlocks.add("203.0.113.25/32") $ipPermissions = New-Object Amazon.EC2.Model.IpPermission $ipPermissions.IpProtocol = "tcp" $ipPermissions.FromPort = 22 $ipPermissions.ToPort = 22 ipPermissions.IpRanges = $cidrBlocks Grant-EC2SecurityGroupIngress -GroupName myPSSecurityGroup -IpPermissions $ipPermissions
セキュリティグループが更新されているかどうかを確認するには、再度、Get-EC2SecurityGroup
コマンドレットを実行します。EC2-Classic
のアウトバウンドルールは指定できません。
PS >
Get-EC2SecurityGroup -GroupNames myPSSecurityGroup
OwnerId : 123456789012 GroupName : myPSSecurityGroup GroupId : sg-0a346530123456789 Description : EC2-Classic from PowerShell IpPermissions : {Amazon.EC2.Model.IpPermission} IpPermissionsEgress : {} VpcId : Tags : {}
セキュリティグループのルールを表示するには、IpPermissions
プロパティを使用します。
PS >
(Get-EC2SecurityGroup -GroupNames myPSSecurityGroup).IpPermissions
IpProtocol : tcp FromPort : 22 ToPort : 22 UserIdGroupPairs : {} IpRanges : {203.0.113.25/32}
EC2-VPC 用セキュリティグループの作成
次の New-EC2SecurityGroup
例では、指定された VPC のセキュリティグループを作成するために -VpcId
パラメータを追加します。
PS >
$groupid = New-EC2SecurityGroup ` -VpcId "vpc-da0013b3" ` -GroupName "myPSSecurityGroup" ` -GroupDescription "EC2-VPC from PowerShell"
セキュリティグループの初期設定を表示するには、Get-EC2SecurityGroup
コマンドレットを使用します。デフォルトでは、VPC 用のセキュリティグループにはすべてのアウトバウンドトラフィックを許可するルールが含まれています。EC2-VPC 用セキュリティグループは名前では参照できないことに注意してください。
PS >
Get-EC2SecurityGroup -GroupId sg-5d293231
OwnerId : 123456789012 GroupName : myPSSecurityGroup GroupId : sg-5d293231 Description : EC2-VPC from PowerShell IpPermissions : {} IpPermissionsEgress : {Amazon.EC2.Model.IpPermission} VpcId : vpc-da0013b3 Tags : {}
TCP ポート 22 (SSH) および TCP ポート 3389 のインバウンドトラフィックのアクセス許可を定義するには、New-Object
コマンドレットを使用します。次のスクリプト例では、単一の IP アドレス、203.0.113.25/32
から TCP ポート 22 および 3389 のアクセス許可を定義します。
$ip1 = new-object Amazon.EC2.Model.IpPermission $ip1.IpProtocol = "tcp" $ip1.FromPort = 22 $ip1.ToPort = 22 $ip1.IpRanges.Add("203.0.113.25/32") $ip2 = new-object Amazon.EC2.Model.IpPermission $ip2.IpProtocol = "tcp" $ip2.FromPort = 3389 $ip2.ToPort = 3389 $ip2.IpRanges.Add("203.0.113.25/32") Grant-EC2SecurityGroupIngress -GroupId $groupid -IpPermissions @( $ip1, $ip2 )
セキュリティグループが更新されているかどうかを確認するには、再度、Get-EC2SecurityGroup
コマンドレットを使用します。
PS >
Get-EC2SecurityGroup -GroupIds sg-5d293231
OwnerId : 123456789012 GroupName : myPSSecurityGroup GroupId : sg-5d293231 Description : EC2-VPC from PowerShell IpPermissions : {Amazon.EC2.Model.IpPermission} IpPermissionsEgress : {Amazon.EC2.Model.IpPermission} VpcId : vpc-da0013b3 Tags : {}
インバウンドルールを表示するには、前のコマンドで返されたコレクションオブジェクトから IpPermissions
プロパティを取得します。
PS >
(Get-EC2SecurityGroup -GroupIds sg-5d293231).IpPermissions
IpProtocol : tcp FromPort : 22 ToPort : 22 UserIdGroupPairs : {} IpRanges : {203.0.113.25/32} IpProtocol : tcp FromPort : 3389 ToPort : 3389 UserIdGroupPairs : {} IpRanges : {203.0.113.25/32}