VPC Block Pubulic Access(BPA)とは
VPC Block Pubulic Access(BPA)とは、VPCでインターネットトラフィックを制御する機能です。今まではインターネットゲートウェイやセキュリティグループなどでインターネットアクセスを制限していましたが、VPCで制御できるようになりました。
この設定を活用することで意図しないインターネットトラフィックを制御することができ、セキュリティの強化につながります。
ブロック設定
VPC BPAで設定できる項目は以下の2つです。
- 双方向(送受信ともにインターネットトラフィックをブロック)
- Ingress-only(受信インターネットトラフィックのみをブロック)
この設定を有効にすることで、リージョン内全てのVPCに対して設定が有効になります。インターネットゲートウェイなどの他のリソースでインターネットトラフィックが許可されていたとしてもVPC BPAの設定が優先されます。
除外設定
インターネットトラフィックを許可したいリソースに対して除外設定をすることができます。除外の設定にはブロック設定の反対でインターネットトラフィックを許可する方向を選択することができます。
- 双方向(送受信ともにインターネットトラフィックを許可)
- Egress-only(送信インターネットトラフィックのみを許可)
設定方法
AWSコンソール
ブロック設定
-
「変更を保存」をクリックして設定完了
設定が有効になるまで数分かかります。
除外設定
- パブリックアクセスをブロックのページの下側にある「除外」の項目の「除外を作成」をクリック
- 除外設定の名前(任意)を入力してインターネットゲートウェイの許可方向を「双方向」か「Egress-only」のどちらかを選択する
- 除外設定を適用できるリソースが表示されているので、適用したいリソースのチェックボックスにチェックする
- 必要であればタグを設定する
- 「除外の作成」をクリックして設定完了
こちらも設定が有効になるまで数分かかります。
AWS CLI
リージョンなどは適宜置き換えてください
ブロック設定
- インターネットゲートウェイのブロック方向を「双方向」で設定する
aws ec2 --region ap-northeast-1 modify-vpc-block-public-access-options --internet-gateway-block-mode block-bidirectional
- ブロック方向を「Ingress-only」で設定するには
--internet-gateway-block-mode block-ingress
とします
- ブロック方向を「Ingress-only」で設定するには
- VPC BPA のステータスを表示する
aws ec2 --region ap-northeast-1 describe-vpc-block-public-access-options
除外設定
- インターネットゲートウェイの許可方向を「双方向」で設定する
aws ec2 --region ap-northeast-1 create-vpc-block-public-access-exclusion --subnet-id [subnet-id] --internet-gateway-exclusion-mode allow-bidirectional
- 許可方向を「Engress-only」で設定するには
--internet-gateway-block-mode allow-egress
とします
- 許可方向を「Engress-only」で設定するには
Security Hub
Security Hubを有効にしている環境ではVPC BPAが設定されてないとコントロールが失敗し、指摘されるようになりました。つまり、AWSとしても設定を有効化することを推奨しているということですね。指摘された場合は設定を有効化するか検討しましょう。
[EC2.172] EC2 VPC Block Public Access settings should block internet gateway traffic
まとめ
VPC Block Public Access(BPA)は、VPC単位でインターネットトラフィックを制御できる機能です。ブロックの設定は「双方向」と「Ingress-only」の2種類があり、必要に応じて除外設定も可能です。AWSコンソールやCLIなどで簡単に設定できるため、適切に活用し、セキュリティの強化に役立てていきましょう!