スキップしてコンテンツを表示

プロビジョンド Amazon Aurora DB クラスターをパブリックアクセス可能に設定する方法を教えてください。

所要時間2分
0

プロビジョンド Amazon Aurora DB クラスターをパブリックアクセス可能に設定したうえで、その Aurora DB クラスターを外部接続から保護したいと考えています。

簡単な説明

Aurora DB クラスターをパブリックアクセス可能にするには、クラスター内のインスタンスにパブリック IP アドレスがあり、そのクラスターはパブリックサブネットで実行されている必要があります。

Aurora DB インスタンスでは、特定のサブネットを選択することはできません。代わりに、インスタンスの作成時に DB サブネットグループを選択する必要があります。DB サブネットグループは、同様のネットワーク構成で作成する必要があります。たとえば、パブリックサブネット用に DB サブネットグループを作成し、プライベートサブネット用に別の DB サブネットグループを作成します。

DB インスタンスで VPC 外部からの接続を許可する設定を行った後は、TLS を使用すると接続を保護できます。

注: セキュリティの観点から、パブリックアクセスが必要でない限り、VPC の外部からの接続を許可しないことをおすすめします。

解決策

DB インスタンスでパブリックアクセスの許可設定を有効にする

Amazon Relational Database Service (Amazon RDS) の**[パブリックアクセス可能]** 設定により、パブリック IP アドレスの DB インスタンスへの割り当てを制御します。この設定を no に設定すると、DB インスタンスにはパブリック IP アドレスが割り当てられません。この設定を yes に設定すると、DB インスタンスにはパブリック IP アドレスとプライベート IP アドレスの両方が割り当てられます。

DB インスタンスの [パブリックアクセス可能] 設定を yes に変更するには、次の手順を実行します。

  1. Amazon RDS コンソールを開きます。
  2. ナビゲーションペインで [データベース] を選択し、DB インスタンスを選択します。
  3. [変更] を選択します。
  4. [接続] セクションで [その他の構成] を選択し、[パブリックアクセス可能] を選択します。
  5. [続行] を選択します。
  6. [スケジュールの変更] セクションでユースケースに最適なオプションを選択します。
    注: [すぐに適用] オプションを選択すると、ダウンタイムが発生する可能性があります。詳細については、「スケジュール変更設定を使用する」を参照してください。
  7. [DB インスタンスの変更] を選択します。

パブリックサブネットで DB インスタンスを実行する

DB インスタンスのパブリックサブネットがインターネットにアクセスできることを確認するには、次の手順を実行します。

  1. インターネットゲートウェイを作成し、VPC にアタッチします
  2. ナビゲーションペインで [サブネット] を選択します。
  3. DB サブネットグループのすべてのサブネットが、インターネットゲートウェイを持つルートテーブルを使用していることを確認します。
  4. サブネットが VPC のメインルートテーブルを使用している場合は、インターネットゲートウェイにルート 0.0.0.0/0 を追加します。インターネットゲートウェイへのルートを含むカスタムルートテーブルを作成し,そのルートテーブルをサブネットに関連付けてもかまいません。
  5. DB インスタンスへの接続元となるソースパブリック IP アドレスを追加するには、セキュリティグループのインバウンドルールを構成します。
    [タイプ][MySQL/Aurora] または [PostgreSQL] を選択します。
    [ソース][カスタム] を選択し、CIDR 範囲を手動で入力するか、[マイ IP] を選択し、同じワークステーションから DB インスタンスに接続します。

VPC 外部の接続から DB クラスターを保護する

データ転送はインターネット経由で行われるため、TLS を使用して VPC 外部の接続を暗号化してください。最高レベルのセキュリティを使用していることを保証するには、ssl-ca パラメータを使用して認証局 (CA) 証明書を渡し、ホスト名の検証を有効にしてください。

TLS 接続をテストするには、使用する Aurora のバージョンに応じて次のコマンドを実行します。

Amazon Aurora MySQL 互換エディション 5.6

mysql -h test-aurora-56.cluster-############.us-east-1.rds.amazonaws.com -u test_user --ssl-ca=rds-combined-ca-bundle.pem --ssl-verify-server-cert

注: test-aurora-56.cluster-############.us-east-1.rds.amazonaws.com をクラスターエンドポイントに置き換えてください。test_user を実際のユーザー名に置き換えてください。rds-combined-ca-bundle.pem を CA のパスに置き換えてください。

Amazon Aurora MySQL 互換 5.7 以降

mysql -h test-aurora-57.cluster-############.us-east-1.rds.amazonaws.com -u test_user --ssl-ca=rds-combined-ca-bundle.pem --ssl-mode=VERIFY_IDENTITY

注: test-aurora-57.cluster-############.us-east-1.rds.amazonaws.com をクラスターエンドポイントに置き換えてください。test_user を実際のユーザー名に置き換えてください。rds-combined-ca-bundle.pem を CA のパスに置き換えてください。

Amazon Aurora PostgreSQL 互換エディション

psql -h test-aurora-pg.cluster-############.us-east-1.rds.amazonaws.com -p 5432 "dbname=postgres user=test_user sslrootcert=rds-combined-ca-bundle.pem sslmode=verify-full"

注: test-aurora-pg.cluster-############.us-east-1.rds.amazonaws.com をクラスターエンドポイントに置き換えてください。5432 をクラスターのポートに置き換えてください。実際のものでそれぞれ、postgres をデータベースユーザー名に、test_user をユーザー名に置き換えてください。rds-combined-ca-bundle.pem を CA のパスに置き換えてください。

DB クラスターに TLS を適用してもかまいません。Aurora MySQL 互換では、データベースユーザーレベルで TLS を設定します。Aurora PostgreSQL 互換では、rds.force_ssl パラメータを 1 に設定します。

関連情報

SSL/TLS を使用して DB クラスターへの接続を暗号化する

SSL/TLS を使用して Aurora PostgreSQL データを保護する

Linux または macOS マシンから、踏み台ホストを使用して Amazon RDS DB インスタンスに接続する方法を教えてください

Amazon RDS コンソールでプライベートとパブリック Aurora エンドポイントを設定する方法を教えてください

AWS公式更新しました 8ヶ月前
コメントはありません

関連するコンテンツ