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

DB セキュリティグループの操作 (EC2-Classic プラットフォーム)

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

Amazon Relational Database Service は 2 種類の異なるセキュリティグループをサポートします。どちらを使用するかは、どの Amazon RDS プラットフォームを使用しているかによって決まります。

  • VPC セキュリティグループ— EC2-VPC プラットフォーム用。

  • DB セキュリティグループ— EC2-Classic プラットフォーム用。

以下のいずれかが true である場合、EC2-VPC プラットフォームを使用していると思われます (よって、VPC セキュリティグループを使用する必要があります)。

  • Amazon RDS の新たな顧客である場合。

  • DB インスタンスを以前に作成したことがない場合。

  • 以前に使用したことのないリージョンで DB インスタンスを作成使用としている場合。

それ以外の場合は、EC2-Classic プラットフォームを使用しているので、DB セキュリティグループを使用して Amazon RDS DB インスタンスへのアクセスを管理します。

注記

どのプラットフォームを使用しているかを確認するには、「EC2-VPC または EC2-Classic のどちらのプラットフォームを使用するか判断する」を参照してください。

EC2-VPC プラットフォームを使用している場合は、DB セキュリティグループの代わりに VPC セキュリティグループを使用する必要があります。

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

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

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

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

  1. https://console.aws.amazon.com/rds/ にある Amazon RDS コンソールを開きます。

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

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

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

  5. [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. https://console.aws.amazon.com/rds/ にある Amazon 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. https://console.aws.amazon.com/rds/ にある Amazon RDS コンソールを開きます。

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

  3. 表示する DB セキュリティグループの詳細アイコンを選択します。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. https://console.aws.amazon.com/rds/ にある Amazon 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. https://console.aws.amazon.com/rds/ にある Amazon 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. https://console.aws.amazon.com/rds/ にある Amazon 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>

関連トピック