セキュリティグループ機能

仮想サーバ/ベアメタルサーバに接続されたポートに対してパケットフィルタリングを行うため、ルール設定をグルーピングして定義および設定することのできるセキュリティグループ機能を提供します。

セキュリティグループには複数のルールを設定できます。1つのポートに設定されたセキュリティグループのうち、どれか1つでもルールにマッチしたパケットは通信が許可され、それ以外の通信は遮断されます。(ホワイトリスト方式、OR条件)

注: セキュリティグループは、仮想ルータおよびDHCPサーバが持つポートには設定できません。

仮想サーバとベアメタルサーバではセキュリティグループに設定する項目が異なるため、セキュリティグループを分けてください。

表 1. 仮想サーバとベアメタルサーバのセキュリティグループ機能の差分
項目 仮想サーバ ベアメタルサーバ
Stateful True False
許可ルール (方向) Egressだけを許可 EgressとIngressの両方を許可
許可ルール (通信相手)
  • CIDR形式のIPアドレス
  • セキュリティグループ
  • CIDR形式のIPアドレス
設定例

仮想サーバの場合、セキュリティグループのStatefulは「true」です。このため、IngressまたはEgressのどちらか一方のルールがあれば、自動的に対向のルールが生成されます。

ヒント:

例)仮想サーバから別サーバにHTTPアクセス(ポート番号は80)する場合、以下の設定が必要です。

  • Egress: 仮想サーバからの出力パケット(80番ポート)を許可するルール

    戻りのパケットは自動的に許可されます。

ベアメタルサーバの場合、セキュリティグループのStatefulは「false」です。このため、IngressとEgressの両方のルールが必要です。

ヒント:

例)ベアメタルサーバ(ランダムポート)から別サーバにHTTPアクセス(ポート番号は80)する場合、以下の設定が必要です。

  • Egress: ベアメタルサーバからの出力パケット(80番ポート)を許可するルール
  • Ingress: Egressで許可した出力パケットの戻りのパケット(ベアメタルサーバのランダムポート)を許可するルール

セキュリティグループの作成

ポートには受信側の通信を遮断し、送信側の通信は許可するデフォルトセキュリティグループが設定されます。そこで、セキュリティグループを作成し、必要に応じて通信を許可するルールを設定します。

以下の項目を指定して、セキュリティグループを作成します。

表 2. セキュリティグループ設定項目一覧
項目 説明 必須
セキュリティグループ名 セキュリティグループを識別するための名称を指定する  
説明 作成するセキュリティグループに関する説明文を記述する  
Stateful
  • 仮想サーバの場合

    「true」を指定する

    IngressまたはEgressのどちらか一方のルールがあれば、自動的に対向のルールが生成されます。自動的に生成されたルールのタイマーは、以下のとおりです。

    • non-TCP:180秒
    • TCP:3600秒
    警告:

    タイムアウトした場合、コネクションが残っていても不通になります。

    タイムアウトによる通信遮断を回避する場合は、以下のどちらかを実施してください。

    • Keep-aliveを3600秒未満に設定する
    • Statefulに「false」を指定する

      この場合、Egressで許可した出力パケットに対する戻りのパケットを許可するルールが必要です。

  • ベアメタルサーバの場合

    「false」を指定する

ヒント: デフォルトは「true」です。
 

デフォルトルール

セキュリティグループを作成した時点でのデフォルトルールを、以下に示します。

表 3. セキュリティグループ作成時のデフォルトルール
方向 通信相手 プロトコル種別 IPバージョン
アウトバウンド (Egress) すべて すべて IPv4
アウトバウンド (Egress) すべて すべて IPv6

ルールの作成

パケットフィルタリングを行うルールは以下の項目で構成されます。複数のルールを1つのセキュリティグループに登録できます。

ヒント: お互いにセキュリティグループが使える仮想サーバ同士の通信の場合、基本的に通信相手をセキュリティグループIDで指定することを推奨します。

以下の項目を指定して、ルールを作成します。

表 4. セキュリティグループ ルール設定項目一覧
項目 説明 必須
セキュリティグループID ルールを登録するセキュリティグループのIDを指定する
通信方向 インバウンド (Ingress) またはアウトバウンド (Egress) を指定する
IPバージョン IPv4で指定する  
通信相手

インバウンドの場合は送信元、アウトバウンドの場合は送信先を指定する

  • 仮想サーバの場合

    以下のどちらかの形式で指定する

    • CIDR形式のIPアドレス
    • セキュリティグループ
  • ベアメタルサーバの場合

    CIDR形式のIPアドレスで指定する

 
プロトコル情報

IPプロトコルを指定する

有効な指定値についてはCreate security group ruleを参照してください。

注: 省略した場合は、すべてのプロトコルの通信が許可されます。
 
開始ポート番号

プロトコル情報に対応する開始ポート番号を指定する

ヒント: 単一のポートとしたい場合は、開始ポート番号と終了ポート番号に同一の値を指定します。
警告: 開始ポート番号に0を指定するとすべてのポートが通信許可となるため、0は指定しないでください。
注: Statefulに「false」が指定されたセキュリティグループでは、ポート範囲(開始ポート番号~終了ポート番号)を指定できません。ファイアーウォールサービスをご利用ください。
 
終了ポート番号 プロトコル情報に対応する終了ポート番号を指定する  

図: セキュリティグループのルール設定例

デフォルトセキュリティグループ

ポートを作成する際にセキュリティグループ設定を省略した場合は、プロジェクトに作成されるデフォルトのセキュリティグループが自動設定されます。

デフォルトセキュリティグループの初期ルール設定は、以下のとおりです。

表 5. デフォルトセキュリティグループのルール
方向 通信相手 プロトコル種別 IPバージョン
Egress すべて すべて IPv4
Ingress 自セキュリティグループ すべて IPv4
ヒント:
  • デフォルトセキュリティグループのセキュリティグループ名は「default」です。
  • デフォルトセキュリティグループに対して、ルールを追加で設定できます。

    仮想サーバが使用するセキュリティグループの「ingress any/any rule」と「egress any/any rule」を削除し、通信に必要なルールを追加してください。

    表 6. 設定例
    削除するルール 設定するルールの例
    ingress any/any
    • ingress tcp/any
    • ingress udp/any
    • ingress icmp/any
    egress any/any
    • egress tcp/any
    • egress udp/any
    • egress icmp/any
    重要: 特定のruleを追加しても、Port UnreahableなどのICMPエラーが発生している状態では1、2回目のPing通信が失敗する可能性があります。