セキュリティグループ機能
対象リージョン:東日本第3/西日本第3
仮想サーバ/ベアメタルサーバに接続されたポートに対してパケットフィルタリングを行うため、ルール設定をグルーピングして定義および設定することのできるセキュリティグループ機能を提供します。
セキュリティグループには複数のルールを設定できます。1つのポートに設定されたセキュリティグループのうち、どれか1つでもルールにマッチしたパケットは通信が許可され、それ以外の通信は遮断されます(ホワイトリスト方式、OR条件)。
セキュリティグループには、Statefulが「True」(ステートフル・セキュリティグループ=デフォルト)と、Statefulが「False」(ステートレス・セキュリティグループ=オプション)があります。
ステートフルは通過した通信に対して戻りのルールが動的に生成される機能で、多くのクラウドやネットワークアプライアンスで利用されています。一方、ステートレスでは動的に戻りのルールは生成されません。そのため、代わりに戻りのルールをあらかじめ記載しておく必要はありますが、複数の通信が同時に利用される場合に性能上のメリットがあります。
仮想サーバとベアメタルサーバではセキュリティグループに設定する項目が異なるため、セキュリティグループを分けてください。
なお、セキュリティグループは、仮想ルータおよびDHCPサーバが持つポートには設定できません。
| 項目 | 仮想サーバ | ベアメタルサーバ | |
|---|---|---|---|
| Stateful | True | False | False | 
| 許可ルール (方向) | Egress、またはIngressだけを許可 | EgressとIngressの両方を許可 | EgressとIngressの両方を許可 | 
| 許可ルール (通信相手) | CIDR形式のIPアドレス、またはセキュリティグループ | CIDR形式のIPアドレス | CIDR形式のIPアドレス | 
| 設定例 | セキュリティグループのStatefulは「True」です。このため、IngressまたはEgressのどちらか一方のルールがあれば、自動的に対向のルールが生成されます。 ヒント: 
                 例)仮想サーバから別サーバにHTTPアクセス(ポート番号は80)する場合、以下の設定が必要です。 
 重要: 
                 以下の観点で最大通信量が想定できない場合は、右記の Statefulを「False」の適用を検討してください。
                   
 Statefulに「True」を適用した場合に、通信性能の低下により、仮想サーバの通信に問題がでる場合があります。 | 次のようなケースにおいては、セキュリティグループのStatefulを「False」にすることで性能向上が見込めます。EgressとIngressの両方のルールが必要です。 
 | セキュリティグループのStatefulは「False」です。このため、IngressとEgressの両方のルールが必要です。 ヒント: 
                 例)ベアメタルサーバ(ランダムポート)から別サーバにHTTPアクセス(ポート番号は80)する場合、以下の設定が必要です。 
 重要: 
                 
 | 
仮想サーバーのケースについて
- 
          同一プロジェクトの範囲では、統一されていなくても機能的には問題ありませんが、管理の容易性で Statefulを「True」か「False」のどちらかに統一することを推奨します。 同一ポートに複数セキュリティグループを適用する場合には、どちらかに統一してください。 図: ステートフル/ステートレス適用のケース  
 
- 
          「True」と「False」のどちらのStatefulが適切かわからない場合は、ヘルプデスクに問い合せてください。 
仮想サーバーとベアメタルの両ケースについて
- 
          たとえStatefulが「False」であっても、同一のセキュリティグループを仮想サーバとベアメタルサーバに適用できません。必ず別のセキュリティグループを作成して、それぞれに適用してください。 
仮想ルータのファイアーウォールサービスとステートレス・セキュリティグループの組み合わせについて
- 
          仮想ルータのファイアーウォールサービスとステートレス・セキュリティグループを組み合わせた場合、トラフィックの条件によっては、TCPコネクションが切断されることがあります。 詳細については、「ファイアーウォールサービス」を参照してください。 
Statefulの「True」と「False」の変更について
セキュリティグループの Statefulを変更する場合には、セキュリティグループのルールの編集後にセキュリティグループの Statefulを変更するのではなく、あらかじめ Statefulが「True」と「False」であるセキュリティグループを1つずつ作成(変更前後の2つを準備)、かつセキュリティグループのルールを設定します。そのうえで、変更前のセキュリティグループを取り外し(detach)、変更後のセキュリティグループを取り付ける(attach)ことを推奨します。これにより、切り戻し時においても変更前のセキュリティグループにattachすることで、速やかにセキュリティグループの Statefulをバックアウトすることができます。

セキュリティグループの作成
ポートには受信側の通信を遮断し、送信側の通信は許可するデフォルトセキュリティグループが設定されます。そこで、セキュリティグループを作成し、必要に応じて通信を許可するルールを設定します。
| 項目 | 説明 | 必須 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| セキュリティグループ名 | セキュリティグループを識別するための名称 | |||||||||||||
| 説明 | 作成するセキュリティグループに関する説明文 | |||||||||||||
| Stateful | 
 ヒント: デフォルトは「True」です。 | 
デフォルトルール
セキュリティグループを作成した時点でのデフォルトルールを、以下に示します。
| 方向 | 通信相手 | プロトコル種別 | IPバージョン | 
|---|---|---|---|
| アウトバウンド (Egress) | すべて | すべて | IPv4 | 
| アウトバウンド (Egress) | すべて | すべて | IPv6 | 
ルールの作成
パケットフィルタリングを行うルールは以下の項目で構成されます。複数のルールを1つのセキュリティグループに登録できます。
| 項目 | 説明 | 必須 | 
|---|---|---|
| セキュリティグループID | ルールを登録するセキュリティグループのID | ◯ | 
| 通信方向 | インバウンド (Ingress) またはアウトバウンド (Egress) | ◯ | 
| IPバージョン | IPv4 | |
| 通信相手 | インバウンドの場合は送信元、アウトバウンドの場合は送信先 
 注: CIDR形式のIPアドレスで指定する場合、CIDRのプレフィックス長に基づくホスト部のbitは、すべて0を指定してください。
                     | |
| プロトコル情報 | IPプロトコル 省略した場合は、すべてのプロトコルの通信が許可されます。 有効な指定値についてはCreate security group ruleを参照してください。 | |
| 開始ポート番号 | プロトコル情報に対応する開始ポート番号 単一のポートとしたい場合は、開始ポート番号と終了ポート番号に同一の値を指定します。 注: 
                   
 | |
| 終了ポート番号 | プロトコル情報に対応する終了ポート番号 | 
 
      デフォルトセキュリティグループ
ポートを作成する際にセキュリティグループ設定を省略した場合は、プロジェクトに作成されるデフォルトのセキュリティグループが自動設定されます。
デフォルトセキュリティグループの初期ルール設定は、以下のとおりです。
| 方向 | 通信相手 | プロトコル種別 | IPバージョン | 
|---|---|---|---|
| Egress | すべて | すべて | IPv4 | 
| Ingress | 自セキュリティグループ | すべて | IPv4 | 
- デフォルトセキュリティグループのセキュリティグループ名は「default」です。
- 
            デフォルトセキュリティグループに対して、ルールを追加で設定できます。 仮想サーバが使用するセキュリティグループの「ingress any/any rule」と「egress any/any rule」を削除し、通信に必要なルールを追加してください。 表 7. 設定例 削除するルール 設定するルールの例 ingress any/any - ingress tcp/any
- ingress udp/any
- ingress icmp/any
 egress any/any - egress tcp/any
- egress udp/any
- egress icmp/any
 
