AWSで必須となるネットワークACLの基本的な知識を分かりやすく解説


AWSでネットワークACLは何のために必要?
ネットワークACLは、ネットワークアクセスコントロールリストと呼ばれ、AWSの中でセキュリティを強化するために使用します。
AWSはクラウドサービスのため、何も考えずに利用していると誰からでもアクセスできる状態となってしまう可能性があります。悪意のあるユーザーによる不正アクセスが起こらないように、セキュリティリスクを少しでも減らす必要があります。
ネットワークACLといったセキュリティを強化する仕組みを使用して、安全にAWSを活用しましょう。
ネットワークACLの概要
ネットワークACLは、設定されたルールに従うファイヤーウォールです。AWS VPC内で、「ネットワーク通信を許可」または「ネットワーク通信を拒否」することで、ネットワーク通信を制御します。
AWSではネットワークACLと同じようなファイヤーウォールとして、セキュリティグループという仕組みもあります。ネットワークACLとセキュリティグループの違いは、設定できるレベルやルールの設定方法等が異なっているので、しっかりと理解しておくことが大切です。
ネットワークACLとセキュリティグループの違い
ネットワークACLとセキュリティグループは以下の点で異なります。
・設定対象
・設定ルール
・設定方向
・ステートフル/ステートレス
・評価順
ネットワークACLは作成できるルールに制限があったり、Ephemeralポートのことを考慮する必要があるなど、ターゲットグループと比べると少し設定が難しい部分があります。
特にAWS EC2インスタンスをメインに利用していると、AWS EC2インスタンス作成の最後に表示されるターゲットグループの方が馴染みがあるかもしれません。
ネットワークACLとの違いをしっかりおさえておきましょう。
設定対象
ネットワークACLは、サブネットに対して設定することから、その設定されたサブネット内のAWS EC2インスタンス全てに影響してしまいます。
一方で、セキュリティグループはAWS EC2インスタンスを起動するときに設定するため、今回起動したいAWS EC2インスタンスをどのようなルールにしたいかを検討する必要があります。
AWS EC2インスタンスを起動するときは、そのサブネットのネットワークACLの設定がどうなっているか、AWS EC2インスタンスを起動するときは、セキュリティグループを正しく設定するということに気をつけてください。
設定ルール
ネットワークACLは許可ルールと拒否ルールを設定します。一方で、セキュリティグループは許可ルールのみを設定します。
ネットワークACLでは、ルール番号を設定する必要があり、このルール番号が評価の順番に影響します。
デフォルトでは入りと出のルールは全て許可しています。したがって通信を開始するために許可ルールを設定しなくても問題ありません。
設定方向
ネットワークACLは通信の入りと出の両方を設定します。セキュリティグループも同様に通信の入りと出の両方を設定できます。
しかしながらセキュリティグループはステートフルなため、出の通信のみで入りの通信も同様に制御が可能になります。
通信の入りをインバウンドトラフィック、通信の出をアウトバウンドトラフィックと呼ぶこともあります。
ステートフル/ステートレス
ネットワークACLはステートレスです。この場合のステートレスとは、出の通信と入りの通信(戻ってくる通信)は別々に評価されます。つまり、出の通信は許可するが、戻ってくる入りの通信は拒否するということが可能になります。
セキュリティグループはステートフルです。出の通信が許可されていれば、入りの通信(戻ってくる通信)は自動的に許可されます。
評価順
ネットワークACLは設定されたルールの番号の順番で評価されます。一方で、セキュリティグループは設定された全てのルールが評価されます。
ネットワークACLのルールは、ルールの番号の昇順で評価され、1つでもルールが当てはまると、それと異なった後続のルールは無視して適用されます。
ネットワークACLとセキュリティグループの比較表
ネットワークACLとセキュリティグループは、大きく5つの項目で異なっており、重要な点をわかりやすく以下の比較表にまとめてみました。
ネットワークACLでは最低限必要なルールを設定し、セキュリティグループではAWS EC2インスタンスごとの要件に従って細かく制御すると上手く使い分けができるはずです。
特に以下の2点は、必ず違いをおさえるようにしましょう。
・セキュリティグループがAWS EC2インスタンス単位で設定するのに対して、ネットワークACLはサブネット単位で設定する
・セキュリティグループは許可のみだが(ホワイトリスト型)、ネットワークACLは拒否も可能(ブラックリスト型)
ネットワークACL | セキュリティグループ | |
---|---|---|
設定対象 | サブネット単位 | インスタンス単位 |
設定ルール | 許可ルールと拒否ルール | 許可ルールのみ |
設定方向 | 入りと出 | 入りと出 |
ステートフル/ステートレス | ステートレス | ステートフル |
評価順 | 順番に評価される | 全て評価される |
ネットワークACLのルールが足りないときは?
ネットワークACLは設定できるルールの数に制限があるため、多くのアクセス制限を追加したい場合は適切ではありません。
多くのルールを登録する場合は、AWS WAFを検討してみてください。
AWS WAFとは、ウェブアプリケーションファイアウォールと呼ばれ、SQLインジェクションやクロスサイトスクリプティングなどの攻撃に対応することができます。
Ephemeralポートとは?
Ephemeralポートとは、PCがサーバーにアクセスするときに、一時的に利用するポートのことです。 mac OSだと49152―65535、Amazon Linuxだと32768―61000といったようにOSの種類やバージョンによって異なります。
全てのポートに対応させるためには、ポート範囲として1024―65535を設定しておけば問題ないでしょう。
ネットワークACLを設定してみよう!
AWSアカウントを持っていて、VPC、サブネットの設定が済んでいる方は、ネットワークACLを設定してみましょう。
やることは簡単で、ルール番号を入力、プロトコルを選択、許可/拒否を設定するだけです。
ネットワークACLの構成要素
ネットワークACLの構成要素は以下の4つがあります。
・ルール番号
・タイプ
・プロトコル/ポート範囲/送信先
・許可/拒否
ネットワークACLを実際に設定してみよう!
以下の手順に従って、設定してみてください。サブネットごとにルールを設定します。
・VPCメニューから、ネットワークACLを選択
・ネットワークACLの作成を選択
↓
・名前タグは任意入力し、作成済みのVPCを選択
↓
・作成したネットワークACLからインバウンドルールの編集を選択
↓
・ルールの追加より設定したいルールを作成
↓
・インバウンドルール同様にアウトバウンドルールも作成
↓
・サブネットの関連付けよりサブネットの関連付けの編集を選択
↓
・設定したいサブネットを選択し、編集を選択
以上で、ネットワークACLの設定は完了です。
ネットワークACLやセキュリティグループはどうやって管理する?
ネットワークACLやセキュリティグループの違い、設定の仕方をお伝えしましたが、実際にルールを設定していくと、どういう設定をしたか、いつ設定を変更したのかといった管理が必要になってきます。
AWSでは、ネットワークACLやセキュリティグループの構成管理として、AWS Configというサービスがあります。
セキュリティグループのルールが変更されると変更を検知してくれますので、AWS Configはオンにしておくと良いでしょう。
ネットワークACLを使ってみよう!
ネットワークACLやターゲットグループはAWSを使う上で、必ず利用します。
もし設定ミスや設定不足が発生した場合、悪意のあるユーザーによって不正アクセスなどが発生してしまう可能性がありますので、しっかりと設定を確認しましょう。
この記事の監修者・著者

- AWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
-
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。
・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
最新の投稿
- 2024-12-27営業インタビュー情報共有の活性化の中心に。SP企画部の新たな取り組み
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ

- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。