メニュー
Amazon Relational Database Service
ユーザーガイド (API Version 2014-10-31)

DB セキュリティグループを操作する

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

Amazon RDS の新規のお客様である場合、または既存のお客様が新しいリージョンを使用する場合、DB インスタンスはデフォルト VPC 内に存在する可能性が高くなります。VPC 内の DB インスタンス用に DB セキュリティグループを使用することはできません。VPC セキュリティグループを作成する必要があります。VPC セキュリティグループの作成方法の詳細については、「VPC のセキュリティグループ」を参照してください。デフォルト VPC があるかどうか確認するには、次の手順のステップ 2 を参照してください。

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

DB セキュリティグループを作成するには、名前と説明を入力する必要があります。

AWS マネジメントコンソール

DB セキュリティグループを作成するには

  1. AWS マネジメントコンソールにサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. 現在のリージョンでは AWS アカウント用にどのプラットフォームがサポートされているか確認します。

    [Supported Platforms] の値が [EC2,VPC] である場合、現在のリージョンの AWS アカウントでデフォルト VPC が使用されていません。以下のステップに従って DB セキュリティグループを作成して、DB インスタンスへのアクセスを可能にすることができます。

     EC2、VPC プラットフォーム

    [Supported Platforms] の値が [VPC] である場合、現在のリージョンの AWS アカウントでデフォルト VPC が使用されています。つまり、DB インスタンスへのアクセスを可能にするには、DB セキュリティグループの代わりに、VPC セキュリティグループを作成する必要があります。VPC セキュリティグループの作成方法の詳細については、「VPC のセキュリティグループ」を参照してください。

     VPC プラットフォーム

  3. ウィンドウの左側にあるナビゲーションペインの [Security Groups] をクリックします。

  4. [Create DB Security Group] をクリックします。

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

  5. [Name] および [Description] テキストボックスに、新しい DB セキュリティグループの名前と説明を入力します。セキュリティグループ名には、スペースを使用できない、先頭を数字にできないという制限があります。

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

  6. [Yes, Create] をクリックします。DB セキュリティグループが作成されます。新しく作成される DB セキュリティグループでは、DB インスタンスにアクセスできないのがデフォルトであることに注意してください。DB インスタンスにアクセスできる IP アドレスの範囲または Amazon EC2 セキュリティグループを指定する必要があります。DB セキュリティグループ用の IP アドレスまたは Amazon EC2 セキュリティグループを指定する方法については、「IP 範囲からのネットワークアクセスを DB セキュリティグループに許可する」を参照してください。

CLI

DB セキュリティグループを作成するには、AWS CLI の create-db-security-group コマンドを使用します。

Linux、OS X、Unix の場合:

Copy
aws rds create-db-security-group \ --db-security-group-name mydbsecuritygroup \ --db-security-group-description "My new security group"

Windows の場合:

Copy
aws rds create-db-security-group ^ --db-security-group-name mydbsecuritygroup ^ --db-security-group-description "My new security group"

新しく作成される DB セキュリティグループでは、DB インスタンスにアクセスできないのがデフォルトであることに注意してください。DB インスタンスにアクセスできる IP アドレスの範囲または Amazon EC2 セキュリティグループを指定する必要があります。DB セキュリティグループ用の IP アドレスまたは Amazon EC2 セキュリティグループを指定する方法については、「IP 範囲からのネットワークアクセスを DB セキュリティグループに許可する」を参照してください。

API

DB セキュリティグループを作成するには、以下のパラメーターを指定して Amazon RDS 組み込み関数 CreateDBSecurityGroup を呼び出します。

  • DBSecurityGroupName = mydbsecuritygroup

  • Description = "My new security group"

Copy
https://rds.amazonaws.com/ ?Action=CreateDBSecurityGroup &DBSecurityGroupName=mydbsecuritygroup &Description=My%20new%20db%20security%20group &Version=2012-01-15 &SignatureVersion=2 &SignatureMethod=HmacSHA256 &Timestamp=2012-01-20T22%3A06%3A23.624Z &AWSAccessKeyId=<AWS Access Key ID> &Signature=<Signature>

新しく作成される DB セキュリティグループでは、DB インスタンスにアクセスできないのがデフォルトであることに注意してください。DB インスタンスにアクセスできる IP アドレスの範囲または Amazon EC2 セキュリティグループを指定する必要があります。DB セキュリティグループ用の IP アドレスまたは Amazon EC2 セキュリティグループを指定する方法については、「IP 範囲からのネットワークアクセスを DB セキュリティグループに許可する」を参照してください。

利用可能な DB セキュリティグループを一覧表示する

AWS アカウント用に作成された DB セキュリティグループを一覧表示できます。

AWS マネジメントコンソール

AWS アカウントで利用可能なすべての DB セキュリティグループを一覧表示するには

  1. AWS マネジメントコンソールにサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ウィンドウの左側にあるナビゲーションペインの [Security Groups] をクリックします。

    利用可能な DB セキュリティグループが [DB Security Groups] リストに一覧表示されます。

CLI

AWS アカウントのすべての利用可能な DB セキュリティグループを表示するには、パラメーターを指定せずに AWS CLI の describe-db-security-groups コマンドを使用します。

Copy
aws rds describe-db-security-groups

API

AWS アカウントのすべての利用可能な DB セキュリティグループを表示するには、パラメーターを指定せずに DescribeDBSecurityGroups を呼び出します。

Copy
https://rds.amazonaws.com/ ?Action=DescribeDBSecurityGroups &MaxRecords=100 &Version=2009-10-16 &SignatureVersion=2 &SignatureMethod=HmacSHA256 &AWSAccessKeyId=<AWS Access Key ID> &Signature=<Signature>

DB セキュリティグループを表示する

DB セキュリティグループに関する詳細情報を表示すると、どの IP 範囲が承認されたか確認することができます。

AWS マネジメントコンソール

特定の DB セキュリティグループのプロパティを表示するには

  1. AWS マネジメントコンソールにサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ウィンドウの左側にあるナビゲーションペインの [Security Groups] をクリックします。

  3. 表示する DB セキュリティグループの詳細アイコンを選択します。

     セキュリティグループの表示

  4. DB セキュリティグループの詳細情報が表示されます。

     セキュリティグループの表示

CLI

特定の DB セキュリティグループのプロパティを表示するには、AWS CLI の describe-db-security-groups を使用します。表示する DB セキュリティグループを指定します。

Linux、OS X、Unix の場合:

Copy
aws rds describe-db-security-groups \ --db-security-group-name mydbsecuritygroup

Windows の場合:

Copy
aws rds describe-db-security-groups ^ --db-security-group-name mydbsecuritygroup

API

特定の DB セキュリティグループのプロパティを表示するには、以下のパラメーターを指定して DescribeDBSecurityGroups を呼び出します。

  • DBSecurityGroupName=mydbsecuritygroup

Copy
https://rds.amazonaws.com/ ?Action=DescribeDBSecurityGroups &DBSecurityGroupName=mydbsecuritygroup &Version=2009-10-16 &SignatureVersion=2 &SignatureMethod=HmacSHA256 &Timestamp=2009-10-16T22%3A23%3A07.107Z &AWSAccessKeyId=<AWS Access Key ID> &Signature=<Signature>

IP 範囲からのネットワークアクセスを DB セキュリティグループに許可する

デフォルトでは、ネットワークアクセスは DB インスタンスに対してオフになっています。VPC にない DB インスタンスにアクセスする場合は、特定の EC2 セキュリティグループまたは CIDR IP 範囲からのアクセスを許可するように DB セキュリティグループのアクセスルールを設定する必要があります。続いて、その DB インスタンスをその DB セキュリティグループに関連付ける必要があります。このプロセスは、イングレスと呼ばれています。いったん DB セキュリティグループに対してイングレスが設定されると、同じイングレスルールがその DB セキュリティグループに関連付けられたすべての DB インスタンスに適用されます。

警告

ファイアウォールの内側にある DB インスタンスにアクセスする場合は、ネットワーク管理者と相談して、使用する IP アドレスを決定してください。

以下の例では、DB セキュリティグループに CIDR IP 範囲用のイングレスルールを設定します。

AWS マネジメントコンソール

DB セキュリティグループに CIDR IP 範囲用の Ingress ルールを設定するには

  1. AWS マネジメントコンソールにサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. コンソールウィンドウの左側にあるナビゲーションペインから [Security Groups] を選択します。

  3. 承認する DB セキュリティグループの詳細アイコンを選択します。

     セキュリティグループの表示

  4. セキュリティグループの詳細ページで、[Connection Type] ドロップダウンリストから [CIDR/IP] を選択し、[CIDR] テキストボックスに、この DB セキュリティグループに追加する受信ルールの CIDR 範囲を入力して、[Authorize] をクリックします。

    ヒント

    AWS マネジメントコンソールの [CIDR] テキストフィールドの下に、接続に基づいて CIDR IP が表示されます。ファイアウォールの内側から DB インスタンスにアクセスしていない場合、通常はこれが使用できる CIDR IP です。

     セキュリティグループの追加

  5. Ingress ルールのステータスは、変更した DB セキュリティグループに関連付けられたすべての DB インスタンスに新しい Ingress ルールが適用されるまで、authorizing になります。Ingress ルールが正常に適用されると、ステータスは authorized に変わります。

CLI

DB セキュリティグループに CIDR IP 範囲用の Ingress ルールを設定するには、AWS CLI の authorize-db-security-group-ingress コマンドを使用します。

Linux、OS X、Unix の場合:

Copy
aws rds authorize-db-security-group-ingress \ --db-security-group-name mydbsecuritygroup \ --cidrip 192.168.1.10/27

Windows の場合:

Copy
aws rds authorize-db-security-group-ingress ^ --db-security-group-name mydbsecuritygroup ^ --cidrip 192.168.1.10/27

このコマンドでは、次のような出力が生成されます。

Copy
SECGROUP mydbsecuritygroup My new DBSecurityGroup IP-RANGE 192.168.1.10/27 authorizing

API

DB セキュリティグループに CIDR IP 範囲用の Ingress ルールを設定するには、以下のパラメーターを指定して Amazon RDS API の AuthorizeDBSecurityGroupIngress を呼び出します。

  • DBSecurityGroupName = mydbsecuritygroup

  • CIDRIP = 192.168.1.10/27

Copy
https://rds.amazonaws.com/ ?Action=AuthorizeDBSecurityGroupIngress &CIDRIP=192.168.1.10%2F27 &DBSecurityGroupName=mydbsecuritygroup &Version=2009-10-16 &Action=AuthorizeDBSecurityGroupIngress &SignatureVersion=2 &SignatureMethod=HmacSHA256 &Timestamp=2009-10-22T17%3A10%3A50.274Z &AWSAccessKeyId=<AWS Access Key ID> &Signature=<Signature>

Amazon EC2 インスタンスからのネットワークアクセスを DB インスタンスに許可する

Amazon EC2 インスタンスから DB インスタンスにアクセスする場合は、まず EC2 インスタンスと DB インスタンスが VPC 内にあるかどうかを判断する必要があります。デフォルト VPC を使用している場合は、EC2 インスタンスがアクセスする DB インスタンスを作成または変更するときに EC2 インスタンスで使用したのと同じ EC2 または VPC セキュリティグループを割り当てることができます。

DB インスタンスと EC2 インスタンスが VPC 内にない場合は、DB インスタンスのセキュリティグループに、Amazon EC2 インスタンスからのトラフィックを許可するイングレスルールを設定する必要があります。これは、EC2 インスタンスの Amazon EC2 セキュリティグループを DB インスタンスの DB セキュリティグループに追加することで実行します。この例では、Amazon EC2 セキュリティグループの DB セキュリティグループにイングレスルールを追加します。

重要

  • Amazon EC2 セキュリティグループの DB セキュリティグループにイングレスルールを追加しても、その Amazon EC2 セキュリティグループに関連付けられた Amazon EC2 インスタンスから DB インスタンスに対するアクセスが許可されるだけです。

  • DB インスタンスとは異なる AWS リージョンにある Amazon EC2 セキュリティグループを承認することはできません。IP 範囲を承認すること、または、別のリージョンの IP アドレスを指す同じリージョンの Amazon EC2 セキュリティグループを指定することはできます。IP 範囲を指定する場合は、Amazon EC2 インスタンスのプライベート IP アドレスを使用することをお勧めします。この方が Amazon EC2 インスタンスから Amazon RDS DB インスタンスへのネットワーク経路としてより直接的であり、Amazon ネットワークの外部に送信するデータのネットワーク料金も発生しません。

AWS マネジメントコンソール

EC2 セキュリティグループを DB セキュリティグループに追加するには

  1. AWS マネジメントコンソールにサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. コンソールウィンドウの左側にあるナビゲーションペインから [Security Groups] を選択します。

  3. アクセスを許可する DB セキュリティグループの詳細アイコンを選択します。

     セキュリティグループの表示

  4. セキュリティグループの詳細ページで、[Connection Type] ドロップダウンリストから [EC2 Security Group] を選択し、使用する Amazon EC2 セキュリティグループを選択します。[Authorize] をクリックします。

     セキュリティグループの追加

  5. Ingress ルールのステータスは、変更した DB セキュリティグループに関連付けられたすべての DB インスタンスに新しい Ingress ルールが適用されるまで、authorizing になります。Ingress ルールが正常に適用されると、ステータスは authorized に変わります。

CLI

Amazon EC2 セキュリティグループにアクセスを許可するには、AWS CLI の authorize-db-security-group-ingress コマンドを使用します。

Linux、OS X、Unix の場合:

Copy
aws rds authorize-db-security-group-ingress \ --db-security-group-name default \ --ec2-security-group-name myec2group \ --ec2-security-group-owner-id 987654321021

Windows の場合:

Copy
aws rds authorize-db-security-group-ingress ^ --db-security-group-name default ^ --ec2-security-group-name myec2group ^ --ec2-security-group-owner-id 987654321021

このコマンドでは、次のような出力が生成されます。

Copy
SECGROUP Name Description SECGROUP default default EC2-SECGROUP myec2group 987654321021 authorizing

API

Amazon EC2 セキュリティグループにネットワークアクセスを許可するには、以下のパラメーターを指定してその Amazon RDS API 組み込み関数 http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_AuthorizeDBSecurityGroupIngress.htmlAuthorizeDBSecurityGroupIngress を呼び出します。

  • EC2Security­GroupName = myec2group

  • EC2SecurityGroupOwnerId = 987654321021

Copy
https://rds.amazonaws.com/ ?Action=AuthorizeDBSecurityGroupIngress &EC2SecurityGroupOwnerId=987654321021 &EC2Security­GroupName=myec2group &Version=2009-10-16 &SignatureVersion=2 &SignatureMethod=HmacSHA256 &Timestamp=2009-10-22T17%3A10%3A50.274Z &AWSAccessKeyId=<AWS Access Key ID> &Signature=<Signature>

DB インスタンスに対する IP 範囲からのネットワークアクセスを取り消す

DB セキュリティグループに属する DB インスタンスに対する CIDR IP 範囲からのネットワークアクセスは、関連付けられた CIDR IP イングレスルールを取り消すことで、簡単に取り消すことができます。

この例では、DB セキュリティグループの CIDR IP イングレスルールを取り消します。

AWS マネジメントコンソール

DB セキュリティグループの CIDR IP 範囲用の Ingress ルールを取り消すには

  1. AWS マネジメントコンソールにサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. コンソールウィンドウの左側にあるナビゲーションペインから [Security Groups] を選択します。

  3. 取り消すイングレスルールのある DB セキュリティグループの詳細アイコンを選択します。

     セキュリティグループの表示

  4. セキュリティグループの詳細ページで、取り消す受信ルールの横にある [Remove] をクリックします。

     セキュリティグループの表示

  5. イングレスルールのステータスは、変更した DB セキュリティグループに関連付けられたすべての DB インスタンスからイングレスルールが削除されるまで、revoking になります。イングレスルールが正常に削除されると、そのイングレスルールは DB セキュリティグループから削除されます。

CLI

DB セキュリティグループの CIDR IP 範囲用の Ingress ルールを取り消すには、AWS CLI の revoke-db-security-group-ingress コマンドを使用します。

Linux、OS X、Unix の場合:

Copy
aws rds revoke-db-security-group-ingress \ --db-security-group-name mydbsecuritygroup \ --cidrip 192.168.1.1/27

Windows の場合:

Copy
aws rds revoke-db-security-group-ingress ^ --db-security-group-name mydbsecuritygroup ^ --cidrip 192.168.1.1/27

このコマンドでは、次のような出力が生成されます。

Copy
SECGROUP mydbsecuritygroup My new DBSecurityGroup IP-RANGE 192.168.1.1/27 revoking

API

DB セキュリティグループの CIDR IP 範囲用の Ingress ルールを取り消すには、以下のパラメーターを指定して Amazon RDS API 組み込み関数 http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RevokeDBSecurityGroupIngress.htmlRevokeDBSecurityGroupIngress を呼び出します。

  • DBSecurityGroupName = mydbsecuritygroup

  • CIDRIP = 192.168.1.10/27

Copy
https://rds.amazonaws.com/ ?Action=RevokeDBSecurityGroupIngress &DBSecurityGroupName=mydbsecuritygroup &CIDRIP=192.168.1.10%2F27 &Version=2009-10-16 &SignatureVersion=2&SignatureMethod=HmacSHA256 &Timestamp=2009-10-22T22%3A32%3A12.515Z &AWSAccessKeyId=<AWS Access Key ID> &Signature=<Signature>

関連トピック