マネージドプレフィックスリストでIPアドレスを設定し、セキュリティグループのルールを管理してみよう
こんにちは、クラスメソッドのキム・ジェウク(Kim Jaewook)です。
今回は、マネージドプレフィックスリストでIPアドレスを設定して、セキュリティグループのルールを管理してみました。
マネージドプレフィックスリスト?
マネージドプレフィックスリストは、1 つ以上の CIDR ブロックのセットです。プレフィクスリストを使用すると、セキュリティグループとルートテーブルの設定と管理が容易になります。
AWS公式ドキュメントでは上記のように説明しています。
つまり、マネージドプレフィックスリストを使用して、より簡単に多くのIPアドレスを管理できます。
例えば、SSH通信を許可するIPアドレスが4つの場合、セキュリティグループのインバウンドルールで4つのIPアドレスを許可する必要があります。
でも、SSH通信を許可するIPアドレスが6つ、8つ以上に増えると、管理が難しくなります。
このような状況を解決するため、マネージドプレフィックスリストを使用すると、より簡単に多くのIPアドレスを管理できます。
コンソールでマネージドプレフィックスリストを作成
VPCコンソール画面に入ります。
- マネージドプレフィックスリストをクリックします。
- 「マネージドプレフィックスリストを作成」をクリックします。
- プレフィックスリスト名を入れます。
- 最大エントリも入れます。
最大エントリの場合、管理するIPアドレスの最大数を意味します。
最低「1」から最大「1000」までサイズ変更できます。
「新しいエントリを追加」をクリックし「CIDRブリック」にIPアドレスを入れます。
そして「プレフィックスリストを作成」をクリックします。
プレフィックスリストのサイズを変更した場合、「プレフィックスリストを選択」→「アクション」→「プレフィックスリストのサイズを変更」をクリックします。
- 現在、設定された最大エントリサイズです。
- 現在、設定されたIPアドレス数です。
- 変更したい最大エントリサイズを入れます。
- 「サイズを変更」をクリックします。
最大エントリが「15」に変更されたことを確認できます。
セキュリティグループのインバウンドルールに設定
- 設定したいセキュリティグループを選択します。
- インバウンドルールをクリックします。
- 「インバウンドルールを編集」をクリックします。
- SSH、RDPなどのタイプを選択します。
- 先程、作成したマネージドプレフィックスリストを選択します。
最後に「ルールを保存」をクリックすると設定完了です。
実際、確認してみると、4つだったインバウンドルールが1つに減ったことが確認できます。
CloudFormationで作成
AWSTemplateFormatVersion: '2010-09-09' Description: Create PrefixList for SecurityGroup Resources: # PrefixList PrefixList: Type: AWS::EC2::PrefixList Properties: AddressFamily: IPv4 Entries: - Cidr: x.x.x.x/x - Cidr: x.x.x.x/x - Cidr: x.x.x.x/x - Cidr: x.x.x.x/x MaxEntries: 4 PrefixListName: test-prefix # Outputs Outputs: PrefixList: Value: !Ref PrefixList Export: Name: !Sub test-prefix
CloudFormationでマネージドプレフィックスリストを作成します。
AWSTemplateFormatVersion: "2010-09-09" Description: Create SecurityGroup Parameters: # Input Parameters VPCID: Description: "VPC ID" Type: AWS::EC2::VPC::Id Resources: # Security Group SecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupName: test-sg GroupDescription: Prefix test Security Group SecurityGroupIngress: - IpProtocol: "tcp" FromPort: 22 ToPort: 22 SourcePrefixListId: !ImportValue test-prefix SecurityGroupEgress: - CidrIp: "0.0.0.0/0" IpProtocol: "-1" VpcId: !Ref VPCID Tags: - Key: Name Value: test-sg # OutPut Outputs: SecurityGroup: Value: !Ref SecurityGroup Description: Prefix test Security Group Export: Name: test-sg
そして、セキュリティグループを作成します。
インバウンドルールはマネージドプレフィックスリストを取得して設定します。
スタックを作成して確認すると「test-prefix」というマネージドプレフィックスリストが作成されたことが確認できます。
最後にセキュリティグループのインバウンドルールに「test-prefix」というマネージドプレフィックスリストが設定されたことが確認できます。