セキュリティグループによるアクセス制御 - Amazon Aurora

セキュリティグループによるアクセス制御

VPC セキュリティグループにより DB クラスターに対する送受信トラフィックへのアクセスを制御します。デフォルトでは、ネットワークアクセスは DB クラスターに対してオフになっています。セキュリティグループで IP アドレス範囲、ポート、またはセキュリティグループからのアクセスを許可するルールを指定できます。Ingress ルールを設定したら、そのセキュリティグループに関連付けられているすべての DB クラスターに、同じルールが適用されます。セキュリティグループでは最大 20 のルールを指定できます。

VPC セキュリティグループの概要

VPC セキュリティグループの各ルールにより、特定のソースがその VPC セキュリティグループに関連付けられている VPC 内の DB クラスターにアクセスできるようになります。ソースとしては、アドレスの範囲 (203.0.113.0/24 など) または別の VPC セキュリティグループを指定できます。VPC セキュリティグループをソースとして指定すると、ソース VPC セキュリティグループを使用するすべてのインスタンス (通常はアプリケーションサーバー) からの受信トラフィックを許可することになります。VPC セキュリティグループには、インバウンドトラフィックとアウトバウンドトラフィック両方を制御するルールを追加できます。ただし、アウトバウンドトラフィックのルールは通常、DB クラスターには適用されません。送信トラフィックのルールは、DB クラスター がクライアントである場合にのみ適用されます。VPC セキュリティグループを作成するには、「Amazon EC2 API」を使用するか、VPC コンソールの [Security Group] (セキュリティグループ) オプションを使用する必要があります。

VPC 内のクラスターへのアクセスを許可する VPC セキュリティグループのルールを作成するときは、そのルールがアクセスを許可するアドレスの範囲ごとにポートを指定する必要があります。例えば、VPC 内のインスタンスへの Secure Shell (SSH) アクセスをオンにするには、指定したアドレスの範囲の TCP ポート 22 に対するアクセスを許可するルールを作成します。

VPC 内の異なるインスタンスに対する異なるポートへのアクセスを許可する複数の VPC セキュリティグループを設定できます。例えば、VPC のウェブサーバーに TCP ポート 80 へのアクセスを許可する VPC セキュリティグループを作成できます。次に、VPC の Aurora MySQL DB インスタンスの TCP ポート 3306 へのアクセスを許可する別の VPC セキュリティグループを作成できます。

注記

Aurora DB クラスターでは、DB クラスターに関連付けられている VPC セキュリティグループも、DB クラスター内のすべての DB インスタンスに関連付けられています。DB クラスターまたは DB インスタンスの VPC セキュリティグループを変更した場合、その変更は DB クラスター内のすべての DB インスタンスに自動的に適用されます。

VPC セキュリティグループの詳細については、Amazon Virtual Private Cloud ユーザーガイドの「セキュリティグループ」を参照してください。

注記

DB クラスター が VPC 内にあるが、パブリックアクセス可能でない場合は、AWS Site-to-Site VPN 接続または AWS Direct Connect 接続を使用してプライベートネットワークからアクセスすることもできます。詳しくは、「インターネットトラフィックのプライバシー」を参照してください。

セキュリティグループのシナリオ

VPC 内の DB クラスターの一般的な用途は、同じ VPC 内の Amazon EC2 インスタンスで実行され、VPC の外にあるクライアントアプリケーションによってアクセスされるアプリケーションサーバーとデータを共有することです。このシナリオでは、AWS Management Consoleの RDS および VPC ページ、または RDS および EC2 API オペレーションを使用して、必要なインスタンスおよびセキュリティグループを作成します。

  1. VPC セキュリティグループ (「sg-0123ec2example」など) を作成し、ソースとしてクライアントアプリケーションの IP アドレスを使用するという受信ルールを定義します。このセキュリティグループにより、クライアントアプリケーションは、このセキュリティグループを使用する VPC 内の EC2 インスタンスに接続できるようになります。

  2. アプリケーションの EC2 インスタンスを作成し、前のステップで作成した VPC セキュリティグループ (「sg-0123ec2example」) に EC2 インスタンスを追加します。

  3. 2 つ目の VPC セキュリティグループ (「sg-6789rdsexample」など) を作成し、ステップ 1 で作成した VPC セキュリティグループ (「sg-0123ec2example」) をソースとして指定して新しいルールを作成します。

  4. 新しい DB クラスターを作成し、その DB クラスターを前のステップで作成した VPC セキュリティグループ (「sg-6789rdsexample」) に追加します。DB クラスターを作成するとき、ステップ 3 で作成した VPC セキュリティグループ (「sg-6789rdsexample」) のルールに指定した同じポート番号を使用します。

以下の図に、このシナリオを示しています。

VPC 内の DB クラスターと EC2 インスタンス

このシナリオの VPC 設定の詳細については、「チュートリアル: DB クラスターで使用する VPC を作成する (IPv4 専用)」をご参照ください。VPC の使用方法の詳細については、「Amazon VPC と Amazon Aurora」を参照してください。

VPC セキュリティグループを作成する

DB インスタンスの VPC セキュリティグループは、VPC コンソールを使って作成できます。セキュリティグループを作成する方法については、Amazon Virtual Private Cloud ユーザーガイドの「セキュリティグループを作成して VPC 内の DB クラスターへのアクセスを提供する」および「セキュリティグループ」を参照してください。

セキュリティグループを DB クラスターと関連付ける

RDS コンソールの [クラスターの変更]、ModifyDBCluster Amazon RDS API、または modify-db-cluster AWS CLI コマンドを使用して、セキュリティグループを DB クラスターに関連付けることができます。

次の CLI の例では、特定の VPC グループを関連付け、DB クラスターから DB セキュリティグループを削除します。

aws rds modify-db-cluster --db-cluster-identifier dbName --vpc-security-group-ids sg-ID

DB クラスターの変更については、「Amazon Aurora DB クラスターの変更」を参照してください。