

# Amazon RDS DB インスタンスへの接続
<a name="CHAP_CommonTasks.Connect"></a>

 DB インスタンスに接続する前に、DB インスタンスを作成する必要があります。詳細については、「[Amazon RDS DB インスタンスの作成](USER_CreateDBInstance.md)」を参照してください。Amazon RDS によって DB インスタンスがプロビジョニングされたら、標準のクライアントアプリケーションまたは DB エンジン用のユーティリティを使用して DB インスタンスに接続します。接続文字列では、DB インスタンスのエンドポイントの DNS アドレスをホストパラメータとして指定します。また、ポートパラメータとして、DB インスタンスのエンドポイントのポート番号を指定します。

Amazon RDS DB インスタンスの接続情報の検索、または VPC 内の DB インスタンスにアクセスするためのシナリオの詳細については、次のトピックを参照してください。
+ [Amazon RDS DB インスタンスの接続情報の検索](CHAP_CommonTasks.Connect.EndpointAndPort.md)
+ [VPC の DB インスタンスにアクセスするシナリオ](CHAP_CommonTasks.Connect.ScenariosForAccess.md)

## AWS ドライバーを使用した DB インスタンスへの接続
<a name="RDS.Connecting.Drivers"></a>

AWS のドライバースイートは、スイッチオーバーとフェイルオーバーの時間の短縮、AWS Secrets Manager、AWS Identity and Access Management (IAM)、フェデレーティッド ID での認証をサポートするように設計されています。AWS ドライバーは、DB インスタンスステータスをモニタリングし、インスタンストポロジを認識して新しいプライマリインスタンスを決定することを前提としています。このアプローチにより、スイッチオーバーとフェイルオーバーの時間が 1 桁秒に短縮されます (オープンソースドライバーの場合は数十秒)。

次の表は、各ドライバーでサポートされている機能を示しています。新しいサービス機能が導入されるにあたって、こうしたサービス機能を標準でサポートすることが AWS のドライバースイートの目標です。


| 機能 | [AWS JDBC ドライバー](https://github.com/awslabs/aws-advanced-jdbc-wrapper) | [AWS Python ドライバー](https://github.com/awslabs/aws-advanced-python-wrapper) | [AWS MySQL 用 ODBC ドライバー](https://github.com/aws/aws-mysql-odbc) | 
| --- | --- | --- | --- | 
| フェイルオーバーのサポート | [はい](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheFailoverPlugin.md) | [はい](https://github.com/awslabs/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheFailoverPlugin.md) | [はい](https://github.com/aws/aws-mysql-odbc/blob/main/docs/using-the-aws-driver/UsingTheAwsDriver.md#failover-process) | 
| フェイルオーバーモニタリングの強化 | [はい](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheHostMonitoringPlugin.md) | [はい](https://github.com/awslabs/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheHostMonitoringPlugin.md) | [はい](https://github.com/aws/aws-mysql-odbc/blob/main/docs/using-the-aws-driver/HostMonitoring.md#enhanced-failure-monitoring) | 
| 読み取り/書き込みの分割 | [はい](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheReadWriteSplittingPlugin.md) | [はい](https://github.com/awslabs/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheReadWriteSplittingPlugin.md) | いいえ | 
| ドライバーメタデータ接続 | [はい](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheDriverMetadataConnectionPlugin.md) | 該当なし | 該当なし | 
| Telemetry | [はい](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/Telemetry.md) | [はい](https://github.com/aws/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/Telemetry.md) | いいえ | 
| Secrets Manager | [はい](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheAwsSecretsManagerPlugin.md) | [はい](https://github.com/awslabs/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheAwsSecretsManagerPlugin.md) | [はい](https://github.com/aws/aws-mysql-odbc/blob/main/docs/using-the-aws-driver/UsingTheAwsDriver.md#secrets-manager-authentication) | 
| IAM 認証 | [はい](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheIamAuthenticationPlugin.md) | [はい](https://github.com/awslabs/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheIamAuthenticationPlugin.md) | [はい](https://github.com/aws/aws-mysql-odbc/blob/main/docs/using-the-aws-driver/UsingTheAwsDriver.md#iam-authentication) | 
| フェデレーティッド ID (AD FS) | [はい](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheFederatedAuthPlugin.md) | [はい](https://github.com/awslabs/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheFederatedAuthenticationPlugin.md) | いいえ | 
| フェデレーティッド ID (Okta) | [はい](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheFederatedAuthPlugin.md) | なし | いいえ | 
| マルチ AZ DB クラスター | [はい](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/SupportForRDSMultiAzDBCluster.md) | [はい](https://github.com/aws/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/SupportForRDSMultiAzDBCluster.md) | いいえ | 

AWS ドライバーの詳細については、使用している [RDS for MariaDB](MariaDB.Connecting.Drivers.md#MariaDB.Connecting.JDBCDriver)、[RDS for MySQL](MySQL.Connecting.Drivers.md#MySQL.Connecting.JDBCDriver)、または [RDS for PostgreSQL](PostgreSQL.Connecting.JDBCDriver.md) DB インスタンスに対応する言語ドライバーを参照してください。

**注記**  
RDS for MariaDB でサポートされている機能は、AWS Secrets Manager、AWS Identity and Access Management (IAM)、およびフェデレーティッド ID による認証のみです。

## 特定の DB エンジンを実行している DB インスタンスに接続する
<a name="CHAP_CommonTasks.Connect.DBEngine"></a>

特定の DB エンジンを実行している DB インスタンスへの接続方法については、DB エンジンの指示に従ってください。
+ [RDS for Db2](USER_ConnectToDb2DBInstance.md)
+ [RDS for MariaDB](USER_ConnectToMariaDBInstance.md)
+ [RDS for SQL Server](USER_ConnectToMicrosoftSQLServerInstance.md)
+ [RDS for MySQL](USER_ConnectToInstance.md)
+ [RDS for Oracle](USER_ConnectToOracleInstance.md)
+ [RDS for PostgreSQL](USER_ConnectToPostgreSQLInstance.md)

## RDS Proxy による接続の管理
<a name="CHAP_CommonTasks.Connect.RDSProxy"></a>

Amazon RDS Proxy を使用して、RDS for MariaDB、RDS for Microsoft SQL Server、RDS for MySQL、および RDS for PostgreSQL DB インスタンスへの接続を管理することもできます。RDS Proxy を使用すると、アプリケーションでデータベース接続をプールおよび共有し、スケーラビリティを向上させることができます。詳細については、「[Amazon RDS Proxy ](rds-proxy.md)」を参照してください。

## データベース認証オプション
<a name="CHAP_CommonTasks.Connect.DatabaseAuthentication"></a>

Amazon RDS では、データベースユーザーを認証する次の方法がサポートされています。
+ **パスワード認証** – DB インスタンスがユーザーアカウントのすべての管理を行います。SQL 文でユーザーを作成し、パスワードを指定します。使用できる SQL 文は、DB エンジンによって異なります。
+ **AWS Identity and Access Management (IAM) データベース認証** – DB インスタンスに接続する際にパスワードを使用する必要はありません。代わりに、認証トークンを使用します。
+ **Kerberos 認証** – Kerberos および Microsoft Active Directory を使用して、データベースユーザーの外部認証を使用します。Kerberos は、ネットワーク経由でパスワードを送信する必要をなくすためにチケットと対称キー暗号化を使用するネットワーク認証プロトコルです。Kerberos は Active Directory に組み込まれており、データベースなどのネットワークリソースに対するユーザー認証を行えるように設計されています。

IAM データベース認証と Kerberos 認証は、特定の DB エンジンおよびバージョンでのみ使用できます。

詳細については、「[Amazon RDS でのデータベース認証](database-authentication.md)」を参照してください。

## 暗号化された接続
<a name="CHAP_CommonTasks.Connect.EncryptedConnections"></a>

アプリケーションの Secure Socket Layer (SSL) または Transport Layer Security (TLS) を使用して、DB インスタンスへの接続を暗号化できます。各 DB エンジンには SSL/TLS を実装する独自のプロセスがあります。詳細については、「[SSL/TLS を使用した DB インスタンスまたはクラスターへの接続の暗号化](UsingWithRDS.SSL.md)」を参照してください。