

# Db2 DB インスタンスへの接続
<a name="USER_ConnectToDb2DBInstance"></a>

Amazon RDS が Amazon RDS for Db2 DB インスタンスをプロビジョニングした後、標準の SQL クライアントアプリケーションを使用して DB インスタンスに接続できます。Amazon RDS はマネージドサービスであるため、`SYSADM`、`SYSCTRL`、`SECADM`、または `SYSMAINT` としてサインインすることはできません。

IBM Db2 CLP、IBM CLPPlus、DBeaver、または IBM Db2 Data Management Console を使用して、IBM Db2 データベースエンジンを実行している DB インスタンスに接続できます。

**注記**  
RDS for Db2 DB インスタンスに十分なメモリがない場合、Db2 データベースへの接続が失敗する可能性があります。詳細については、「[データベース接続エラー](db2-troubleshooting.md#db2-database-connection-error)」を参照してください。

**Topics**
+ [Amazon RDS for Db2 DB インスタンスのエンドポイントを発見する](db2-finding-instance-endpoint.md)
+ [IBM Db2 CLP を使用して Amazon RDS for Db2 DB インスタンスに接続する](db2-connecting-with-clp-client.md)
+ [IBM CLPPlus を使用して Amazon RDS for Db2 DB インスタンスに接続する](db2-connecting-with-ibm-clpplus-client.md)
+ [DBeaver を使用して Amazon RDS for Db2 DB インスタンスに接続する](db2-connecting-with-dbeaver.md)
+ [IBM Db2 Data Management Console を使用して Amazon RDS for Db2 DB インスタンスに接続する](db2-connecting-with-ibm-data-management-console.md)
+ [Amazon RDS for Db2 のセキュリティグループの考慮事項](db2-security-groups-considerations.md)

# Amazon RDS for Db2 DB インスタンスのエンドポイントを発見する
<a name="db2-finding-instance-endpoint"></a>

各 Amazon RDS DB インスタンスにはエンドポイントがあり、各エンドポイントに DB インスタンスの DNS 名とポート番号があります。SQL クライアントアプリケーションを使用して Amazon RDS for Db2 DB インスタンスに接続するには、DB インスタンスの DNS 名とポート番号が必要です。

AWS マネジメントコンソール コンソールまたは AWS CLI を使用して DB インスタンスのエンドポイントを確認できます。

## コンソール
<a name="db2-finding-instance-endpoint-console"></a>

**RDS for Db2 DB インスタンスのエンドポイントを確認するには**

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

1.  コンソールの右上で、DB インスタンスの AWS リージョン を選択します。

1. RDS for Db2 DB インスタンスの DNS 名とポート番号を見つけます。

   1. [**データベース**] を選択して DB インスタンスを一覧表示します。

   1. 詳細を表示する RDS for Db2 DB インスタンスの名前を選択します。

   1. **接続とセキュリティ** タブで、エンドポイントをコピーします。また、ポート番号を書き留めます。DB インスタンスに接続するには、エンドポイントとポート番号の両方が必要です。  
![\[エンドポイントとポートを示す、DB インスタンスの [接続とセキュリティ] タブ。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/db2-connectivity-security.png)

## AWS CLI
<a name="db2-finding-instance-endpoint-cli"></a>

RDS for Db2 DB インスタンスのエンドポイントを確認するには、[https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) コマンドを実行します。次の例では、*database-1* を DB インスタンスの名前に置き換えます。

Linux、macOS、Unix の場合:

```
aws rds describe-db-instances \
    --db-instance-identifier database-1 \
    --query 'DBInstances[].{DBInstanceIdentifier:DBInstanceIdentifier,DBName:DBName,Endpoint:Endpoint}' \
    --output json
```

Windows の場合:

```
aws rds describe-db-instances ^
    --db-instance-identifier database-1 ^
    --query 'DBInstances[].{DBInstanceIdentifier:DBInstanceIdentifier,DBName:DBName,Endpoint:Endpoint}' ^
    --output json
```

このコマンドでは、次の例のような出力が生成されます。出力の `Address` 行には DNS 名が含まれています。

```
[
    {
        "DBInstanceIdentifier": "database-1",
        "DBName": "DB2DB",
        "Endpoint": {
            "Address": "database-1.123456789012.us-east-2.amazonaws.com",
            "Port": 50000,
            "HostedZoneId": "Z2OC4A7DETW6VH"
        }
    }
]
```

# IBM Db2 CLP を使用して Amazon RDS for Db2 DB インスタンスに接続する
<a name="db2-connecting-with-clp-client"></a><a name="db2-downloading-package"></a>

IBM Db2 CLP などのコマンドラインユーティリティを使用して、Amazon RDS for Db2 DB インスタンスに接続できます。このユーティリティは IBM Data Server Runtime Client の一部です。IBM Fix Central からクライアント****をダウンロードするには、IBM サポートの「[IBM Data Server Client Packages Version 11.5 Mod 8 Fix Pack 0](https://www.ibm.com/support/pages/node/6830885)」を参照してください。

**Topics**
+ [用語](#db2-connecting-ibm-clp-terms)
+ [クライアントをインストールする](#db2-connecting-ibm-clp-install-client)
+ [DB インスタンスに接続する](#db2-connecting-ibm-clp-connect-db-instance)
+ [RDS for Db2 DB インスタンスへの接続のトラブルシューティング](#db2-troubleshooting-connections-clp)

## 用語
<a name="db2-connecting-ibm-clp-terms"></a>

次の用語は、[RDS for Db2 DB インスタンス に接続する](#db2-connecting-ibm-clp-connect-db-instance)際に使用するコマンドの説明として役立ちます。

**catalog tcpip node**  
このコマンドは、リモートデータベースノードをローカル Db2 クライアントに登録し、クライアントアプリケーションがノードにアクセスできるようにします。ノードをカタログ化するには、サーバーのホスト名、ポート番号、通信プロトコルなどの情報を指定します。カタログ化されたノードは、1 つ以上のリモートデータベースが存在するターゲットサーバーを表します。詳細については、IBM Db2 ドキュメントの「[CATALOG TCPIP/TCPIP4/TCPIP6 NODE command](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-tcpip-node)」を参照してください。

**catalog database**  
このコマンドは、リモートデータベースをローカル Db2 クライアントに登録し、クライアントアプリケーションがデータベースにアクセスできるようにします。データベースをカタログ化するには、データベースのエイリアス、データベースが存在するノード、データベースへの接続に必要な認証タイプなどの情報を提供します。詳細については、IBM Db2 ドキュメントの「[CATALOG DATABASE command](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-database)」を参照してください。

## クライアントをインストールする
<a name="db2-connecting-ibm-clp-install-client"></a>

[downloading the package for Linux](#db2-downloading-package) の後に、ルート権限または管理者権限を使用してクライアントをインストールします。

**注記**  
クライアントを AIX または Windows にインストールするには、同じ手順に従いますが、オペレーティングシステムに応じてコマンドを変更します。

**Linux にクライアントをインストールするには**

1. **`./db2_install -f sysreq`** を実行し、**`yes`** を選択してライセンス契約に同意します。

1. クライアントをインストールする場所を選択します。

1. **`clientInstallDir/instance/db2icrt -s client` *instance\$1name* **を実行します。*instance\$1name* は、Linux の有効なオペレーティングシステムユーザーに置き換えます。Linux では、Db2 DB インスタンス名はオペレーティングシステムのユーザー名に関連付けられます。

   このコマンドは、Linux の指定ユーザーのホームディレクトリに **`sqllib`** ディレクトリを作成します。

## DB インスタンスに接続する
<a name="db2-connecting-ibm-clp-connect-db-instance"></a>

RDS for Db2 DB インスタンスに接続するには、DNS 名とポート番号が必要です。これを確認する方法の詳細については、「[エンドポイントの検索](db2-finding-instance-endpoint.md)」を参照してください。また、RDS for Db2 DB インスタンスの作成時に定義したデータベース名、マスターユーザー名、マスターパスワードも把握しておく必要があります。これを確認する方法の詳細については、「[DB インスタンスの作成](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating)」を参照してください。

**IBM Db2 CLP を使用して RDS for Db2 DB インスタンスに接続するには**

1. IBM Db2 CLP クライアントのインストール時に指定したユーザー名でサインインします。

1. RDS for Db2 DB インスタンスをカタログ化します。次の例では、*node\$1name*、*dns\$1name*、*port* をローカルカタログ内のノード名、DB インスタンスの DNS 名、ポート番号に置き換えます。

   ```
   1. db2 catalog TCPIP node node_name remote dns_name server port
   ```

   **例**

   ```
   db2 catalog TCPIP node remnode remote database-1.123456789012.us-east-1.amazonaws.com server 50000
   ```

1. `rdsadmin` データベースと自身のデータベースをカタログ化します。これにより、Amazon RDS ストアドプロシージャを使用して `rdsadmin` データベースに接続し、一部の管理タスクを実行できるようになります。詳細については、「[RDS for Db2 DB インスタンスの管理](db2-administering-db-instance.md)」を参照してください。

   次の例では、*database\$1alias*、*node\$1name*、*database\$1name* をこのデータベースのエイリアス、前のステップで定義したノード名、データベースの名前に置き換えます。`server_encrypt` は、ネットワーク経由でユーザー名とパスワードを暗号化します。

   ```
   db2 catalog database rdsadmin [ as database_alias ] at node node_name authentication server_encrypt
       
   db2 catalog database database_name [ as database_alias ] at node node_name authentication server_encrypt
   ```

   **例**

   ```
   db2 catalog database rdsadmin at node remnode authentication server_encrypt
       
   db2 catalog database testdb as rdsdb2 at node remnode authentication server_encrypt
   ```

1. RDS for Db2 データベースに接続します。次の例では、*rds\$1database\$1alias*、*master\$1username*、*master\$1password* を、データベース名、RDS for Db2 DB インスタンスのマスターユーザー名、マスターパスワードに置き換えます。

   ```
   db2 connect to rds_database_alias user master_username using master_password
   ```

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

   ```
   Database Connection Information
       
       Database server        = DB2/LINUXX8664 11.5.9.0
       SQL authorization ID   = ADMIN
       Local database alias   = TESTDB
   ```

1. クエリを実行し、結果を表示します。次の例は、作成したデータベースを選択する SQL ステートメントを示しています。

   ```
   db2 "select current server from sysibm.dual"
   ```

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

   ```
   1
       ------------------
       TESTDB
       
       1 record(s) selected.
   ```

## RDS for Db2 DB インスタンスへの接続のトラブルシューティング
<a name="db2-troubleshooting-connections-clp"></a>

次の `NULLID` エラーが表示される場合は、通常、クライアントと RDS for Db2 サーバーのバージョンが一致していないことを示しています。サポートされている Db2 クライアントバージョンについては、IBM Db2 ドキュメントの「[Supported combinations of clients, drivers and server levels](https://www.ibm.com/docs/en/db2/11.5?topic=communications-supported-combinations-clients-drivers-server-levels)」を参照してください。

```
db2 "select * from syscat.tables"
SQL0805N Package "NULLID.SQLC2O29 0X4141414141454A69" was not found.
SQLSTATE=51002
```

このエラーが表示された場合は、古い Db2 クライアントから RDS for Db2 でサポートされている Db2 サーバーバージョンにパッケージをバインドする必要があります。

**古い Db2 クライアントから新しい Db2 サーバーにパッケージをバインドするには**

1. クライアントマシン上のバインドファイルを見つけます。通常、これらのファイルは Db2 クライアントのインストールパスの **bnd** ディレクトリにあり、**.bnd** という拡張子が付いています。

1. Db2 サーバーに接続します。次の例では、*database\$1name* を Db2 サーバーの名前に置き換えます。*master\$1username* と *master\$1password* をユーザー自身の情報に置き換えます。このユーザーには `DBADM` 権限があります。

   ```
   db2 connect to database_name user master_username using master_password
   ```

1. `bind` コマンドを実行して、パッケージをバインドします。

   1. クライアントマシン上のバインドファイルが存在するディレクトリに移動します。

   1. 各ファイルに対して `bind` コマンドを実行します。

      以下のオプションは必須です。
      + `blocking all` - バインドファイル内のすべてのパッケージを 1 つのデータベースリクエストにバインドします。
      + `grant public` - パッケージを実行するアクセス許可を `public` に付与します。
      + `sqlerror continue` - エラーが発生した場合でも `bind` プロセスが継続するよう指定します。

      `bind` コマンドの詳細については、IBM Db2 ドキュメントの「[BIND command](https://www.ibm.com/docs/en/db2/11.5?topic=commands-bind)」を参照してください。

1. `syscat.package` カタログビューにクエリを実行するか、`bind` コマンドの後に返されたメッセージを確認して、正常にバインドされたことを確認します。

詳細については、IBM サポートの「[DB2 v11.5 Bind File and Package Name List](https://www.ibm.com/support/pages/node/6190455)」を参照してください。

# IBM CLPPlus を使用して Amazon RDS for Db2 DB インスタンスに接続する
<a name="db2-connecting-with-ibm-clpplus-client"></a>

IBM CLPPlus などのユーティリティを使用して、Amazon RDS for Db2 DB インスタンスに接続できます。このユーティリティは IBM Data Server Runtime Client の一部です。IBM Fix Central からクライアント****をダウンロードするには、IBM サポートの「[IBM Data Server Client Packages Version 11.5 Mod 8 Fix Pack 0](https://www.ibm.com/support/pages/node/6830885)」を参照してください。

**重要**  
グラフィカルユーザーインターフェイスをサポートする macOS、Windows、または Linux with Desktop などのオペレーティングシステムで IBM CLPPlus を実行することをお勧めします。ヘッドレス Linux を実行している場合は、CLPPlus コマンドでスイッチ **-nw** を使用します。

**Topics**
+ [クライアントをインストールする](#db2-connecting-ibm-clpplus-install-client)
+ [DB インスタンスに接続する](#db2-connecting-ibm-clpplus-connect-db-instance)
+ [DB2 ストアドプロシージャから CLOB データを取得する](#db2-connecting-ibm-clpplus-retrieve-clob-data)

## クライアントをインストールする
<a name="db2-connecting-ibm-clpplus-install-client"></a>

Linux のパッケージをダウンロードしたら、クライアントをインストールします。

**注記**  
クライアントを AIX または Windows にインストールするには、同じ手順に従いますが、オペレーティングシステムに応じてコマンドを変更します。

**Linux にクライアントをインストールするには**

1. を実行します。。**`./db2_install`**

1. **`clientInstallDir/instance/db2icrt -s client` *instance\$1name* **を実行します。*instance\$1name* は、Linux の有効なオペレーティングシステムユーザーに置き換えます。Linux では、Db2 DB インスタンス名はオペレーティングシステムのユーザー名に関連付けられます。

   このコマンドは、Linux の指定ユーザーのホームディレクトリに **`sqllib`** ディレクトリを作成します。

## DB インスタンスに接続する
<a name="db2-connecting-ibm-clpplus-connect-db-instance"></a>

RDS for Db2 DB インスタンスに接続するには、DNS 名とポート番号が必要です。これを確認する方法の詳細については、「[エンドポイントの検索](db2-finding-instance-endpoint.md)」を参照してください。また、RDS for Db2 DB インスタンスの作成時に定義したデータベース名、マスターユーザー名、マスターパスワードも把握しておく必要があります。これを確認する方法の詳細については、「[DB インスタンスの作成](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating)」を参照してください。

**IBM CLPPlus を使用して RDS for Db2 DB インスタンスに接続するには**

1. コマンドの構文を確認します。次の例では、*clientDir* をクライアントがインストールされている場所に置き換えます。

   ```
   cd clientDir/bin
       ./clpplus -h
   ```

1. Db2 サーバーを設定します。次の例では、*dsn\$1name*、*database\$1name*、*endpoint*、*port* を DSN 名、データベース名、エンドポイント、RDS for Db2 DB インスタンスのポートに置き換えます。詳細については、「[Amazon RDS for Db2 DB インスタンスのエンドポイントを発見する](db2-finding-instance-endpoint.md)」を参照してください。

   ```
   db2cli writecfg add -dsn dsn_name -database database_name -host endpoint -port port -parameter "Authentication=SERVER_ENCRYPT"
   ```

1. RDS for Db2 DB インスタンスに接続します。次の例では、*master\$1username* と *dsn\$1name* をマスターユーザー名と DSN 名に置き換えます。

   ```
   ./clpplus -nw master_username@dsn_name
   ```

1. Java Shell ウィンドウが開きます。RDS for Db2 DB インスタンスのマスターパスワードを入力します。
**注記**  
Java Shell ウィンドウが開かない場合は、`./clpplus -nw` を実行して同じコマンドラインウィンドウを使用します。

   ```
   Enter password: *********
   ```

   接続が確立され、次の例のような出力が生成されます。

   ```
   Database Connection Information :
   ---------------------------------
   Hostname = database-1.abcdefghij.us-east-1.rds.amazonaws.com
   Database server = DB2/LINUXX8664  SQL110590
   SQL authorization ID = admin
   Local database alias = DB2DB
   Port = 50000
   ```

1. クエリを実行し、結果を表示します。次の例は、作成したデータベースを選択する SQL ステートメントを示しています。

   ```
   SQL > select current server from sysibm.dual;
   ```

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

   ```
   1
       --------------------
       DB2DB
       SQL>
   ```

## DB2 ストアドプロシージャから CLOB データを取得する
<a name="db2-connecting-ibm-clpplus-retrieve-clob-data"></a>

rdsadmin.db2pd\$1command などのストアドプロシージャは、最大 2 GB のデータをサポートする CLOB 列で結果を返します。ただし、DB2 CLP は CLOB 出力を 8 KB (8192 バイト) に制限し、このしきい値を超えるデータは切り捨てられます。完全な出力を取得するには、代わりに CLPPLUS を使用します。

1. タスク ID (task\$1id) の取得 

   ```
   db2 "select task_id, task_type, database_name, lifecycle, varchar(bson_to_json(task_input_params), 500) as task_params,
   cast(task_output as varchar(500)) as task_output, CREATED_AT, LAST_UPDATED_AT from table(rdsadmin.get_task_status(null,null,null))"
   ```

1. CLPPLUS コマンドを実行する

   task\$1id を取得したら、Unix プロンプトから次のコマンドを実行します (TASK\$1ID を実際の数値タスク ID に置き換えます)。

   ```
   $ (echo "select task_output from table(rdsadmin.get_task_status(task_id,null,null));" ; echo "disconnect;" ; echo "exit;") | clpplus -nw -silent masteruser/MasterUserPassword@hostname:port_num/rdsadmin
   ```

# DBeaver を使用して Amazon RDS for Db2 DB インスタンスに接続する
<a name="db2-connecting-with-dbeaver"></a>

DBeaver などのサードパーティーツールを使用して、Amazon RDS for Db2 DB インスタンスに接続できます。このユーティリティをダウンロードするには、「[DBeaver Community](https://dbeaver.io/)」を参照してください。

RDS for Db2 DB インスタンスに接続するには、DNS 名とポート番号が必要です。これを確認する方法の詳細については、「[エンドポイントの検索](db2-finding-instance-endpoint.md)」を参照してください。また、RDS for Db2 DB インスタンスの作成時に定義したデータベース名、マスターユーザー名、マスターパスワードも把握しておく必要があります。これを確認する方法の詳細については、「[DB インスタンスの作成](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating)」を参照してください。

**DBeaver を使用して RDS for Db2 DB インスタンスに接続するには**

1. 起動します。**DBeaver**

1. ツールバーの **[New Connection]** アイコンを選択し、**[Db2 for LUW]** を選択します。  
![\[DBeaver のエンジンタイプを一覧表示するメニュー。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/dbeaver-add-connection.png)

1. **[Connect to a database]** ウィンドウで、RDS for Db2 DB インスタンスの情報を入力します。

   1.  次の情報を入力します。
      + **[Host]** に、DB インスタンスの DNS 名を入力します。
      + **[Port]** に、DB インスタンスのポート番号を入力します。
      + **[Database]** に、データベースの名前を入力します。
      + **[Username]** に、DB インスタンスのデータベース管理者の名前を入力します。
      + **[Password]** に、DB インスタンスのデータベース管理者のパスワードを入力します。

   1. **[Save password]** を選択します。

   1. **[Driver Settings]** を選択します。  
![\[さまざまな接続設定が DBeaver に入力されている [データベースへの接続] ウィンドウ。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/dbeaver-connect-database.png)

1. **[Edit Driver]** ウィンドウで、追加のセキュリティプロパティを指定します。

   1. **[Driver properties]** タブを選択します。

   1. 2 つの **User Properties** を追加します。

      1. コンテキスト (右クリック) メニューを開き、**[Add new property]** を選択します。

      1. **[Property Name]** で **[encryptionAlgorithm]** を追加し、**[OK]** を選択します。

      1. **[encryptionAlgorithm]** 行を選択し、**[Value]** 列を選択して **[2]** を追加します。

      1. コンテキスト (右クリック) メニューを開き、**[Add new property]** を選択します。

      1. **[Property Name]**で **[securityMechanism]** を追加し、**[OK]** を選択します。

      1. **[securityMechanism]** 行を選択し、**[Value]** 列を選択して **[7]** を追加します。

   1. [**OK**] を選択してください。  
![\[DBeaver の [ドライバーの編集] ウィンドウの [ドライバーのプロパティ] タブ。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/dbeaver-driver-properties-tab.png)

1. **[Connect to a database]** ウィンドウで、**[Test Connection]** を選択します。コンピュータに DB2 JBDC ドライバーがインストールされていない場合、ドライバーは自動的にダウンロードされます。

1. [**OK**] を選択してください。

1. **[Finish]** を選択します。

1. **[Database Navigation]** タブで、データベースの名前を選択します。これでオブジェクトを探索できるようになりました。

これで、SQL コマンドを実行する準備ができました。

**SQL コマンドを実行して結果を表示するには**

1. 上部メニューで、**[SQL]** を選択します。SQL スクリプトパネルが開きます。

1. **[Script]** パネルに、SQL コマンドを入力します。

1. コマンドを実行するには、**[Execute SQL query]** ボタンを選択します。

1. SQL の結果パネルで、SQL クエリの結果を表示します。  
![\[DBeaver で SQL コマンドを実行し、結果を表示する方法を示すウィンドウ。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/dbeaver-sql-run-example.png)

# IBM Db2 Data Management Console を使用して Amazon RDS for Db2 DB インスタンスに接続する
<a name="db2-connecting-with-ibm-data-management-console"></a>

IBM Db2 Data Management Console を使用して Amazon RDS for Db2 DB インスタンスに接続できます。IBM Db2 Data Management Console は、複数の RDS for Db2 DB インスタンスを管理およびモニタリングできます。

**注記**  
RDS for Db2 DB インスタンスと同じ VPC およびセキュリティグループにある Amazon EC2 Linux または Windows マシンが必要です。VPC とセキュリティグループは、内部ネットワークを介して DB インスタンスへの接続を制御します。

IBM Db2 Data Management Console では、メタデータとパフォーマンスメトリクスを保存するためにリポジトリ Db2 データベースが必要ですが、RDS for Db2 のリポジトリデータベースを自動的に作成することはできません。代わりに、まずリポジトリデータベースを作成して、1 つ以上の RDS for Db2 DB インスタンスをモニタリングする必要があります。次に、IBM Db2 Data Management Console をインストールし、IBM Db2 Data Management Console を使用して RDS for Db2 DB インスタンスに接続できます。

**Topics**
+ [ステップ 1: DB インスタンスをモニタリングするためのリポジトリデータベースを作成する](#db2-creating-repo-db-monitoring-dmc)
+ [ステップ 2: IBM Db2 Data Management Console のインストールとセットアップ](#db2-install-setup-dmc)
+ [ステップ 3: リポジトリデータベースを設定し、RDS for Db2 DB インスタンスに接続する](#db2-connecting-db-instances-with-dmc)
+ [IBM Db2 Data Management Consoleの使用](#db2-using-dmc)

## ステップ 1: DB インスタンスをモニタリングするためのリポジトリデータベースを作成する
<a name="db2-creating-repo-db-monitoring-dmc"></a>

既存の適切なサイズの RDS for Db2 DB インスタンスを IBM Db2 Data Management Console のリポジトリとして使用して、他の RDS for Db2 DB インスタンスをモニタリングできます。ただし、管理者ユーザーにはバッファプールとテーブルスペースを作成する `SYSCTRL` 権限がないため、IBM Db2 Data Management Console リポジトリの作成を使用してリポジトリデータベースを作成すると失敗します。代わりに、リポジトリデータベースを作成する必要があります。このリポジトリデータベースは、RDS for Db2 DB インスタンスをモニタリングします。

リポジトリデータベースは 2 とおりの方法で作成できます。RDS for Db2 データベースを作成し、バッファプール、ユーザーテーブルスペース、およびシステム一時テーブルスペースを手動で作成できます。または、IBM Db2 Data Management Console リポジトリデータベースをホストする別の Amazon EC2 インスタンスを作成することもできます。

**Topics**
+ [バッファプール、ユーザーテーブルスペース、およびシステム一時テーブルスペースを手動で作成する](#db2-manually-creating-dmc)
+ [IBM Db2 Data Management Console リポジトリをホストする Amazon EC2 インスタンスを作成する](#db2-creating-ec2-dmc)

### バッファプール、ユーザーテーブルスペース、およびシステム一時テーブルスペースを手動で作成する
<a name="db2-manually-creating-dmc"></a>

**バッファプール、ユーザーテーブルスペース、およびシステム一時テーブルスペースを作成するには**

1. `rdsadmin` データベースに接続します。次の例では、*master\$1username* と *master\$1password* をユーザー自身の情報に置き換えます。

   ```
   db2 connect to rdsadmin user master_username using master_password  
   ```

1. IBM Db2 Data Management Console のバッファプールを作成します。次の例では、*database\$1name* を、RDS for Db2 DB インスタンスをモニタリングするために IBM Db2 Data Management Console 用に作成したリポジトリの名前に置き換えます。

   ```
   db2 "call rdsadmin.create_bufferpool('database_name', 
        'BP4CONSOLE', 1000, 'Y', 'Y', 32768)"
   ```

1. IBM Db2 Data Management Console のユーザーテーブルスペースを作成します。次の例では、*database\$1name* を、RDS for Db2 DB インスタンスをモニタリングするために IBM Db2 Data Management Console 用に作成したリポジトリの名前に置き換えます。

   ```
   db2 "call rdsadmin.create_tablespace('database_name', 
        'TS4CONSOLE', 'BP4CONSOLE', 32768)"
   ```

1. IBM Db2 Data Management Console のシステム一時テーブルスペースを作成します。次の例では、*database\$1name* を、RDS for Db2 DB インスタンスをモニタリングするために IBM Db2 Data Management Console 用に作成したリポジトリの名前に置き換えます。

   ```
   db2 "call rdsadmin.create_tablespace('database_name',
       'TS4CONSOLE_TEMP', 'BP4CONSOLE', 32768, 0, 0, 'S')"
   ```

これで IBM Db2 Data Management Console をインストールする準備ができました。インストールとセットアップの詳細については、「[ステップ 2: IBM Db2 Data Management Console のインストールとセットアップ](#db2-install-setup-dmc)」を参照してください。

### IBM Db2 Data Management Console リポジトリをホストする Amazon EC2 インスタンスを作成する
<a name="db2-creating-ec2-dmc"></a>

IBM Db2 Data Management Console リポジトリをホストする別の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを作成できます。Amazon EC2 インスタンスを作成する方法の詳細については、「*Amazon EC2 ユーザーガイド*」の「[チュートリアル: Amazon EC2 Linux インスタンスの開始方法](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html)」を参照してください。

## ステップ 2: IBM Db2 Data Management Console のインストールとセットアップ
<a name="db2-install-setup-dmc"></a>

バッファプール、ユーザーテーブルスペース、およびシステム一時テーブルスペースを作成したら、IBM Db2 Data Management Console をインストールしてセットアップする準備が整います。

**重要**  
RDS for Db2 DB インスタンスと同じ VPC およびセキュリティグループにある Amazon EC2 Linux または Windows マシンが必要です。VPC とセキュリティグループは、内部ネットワークを介して DB インスタンスへの接続を制御します。また、IBM Db2 Data Management Console の[リポジトリデータベースを既に作成している](#db2-creating-repo-db-monitoring-dmc)必要があります。

**IBM Db2 Data Management Console をインストールしてセットアップするには**

1. IBM Support ウェブサイトの [IBM Db2 Data Management Console バージョン 3.1x リリース](https://www.ibm.com/support/pages/ibm-db2-data-management-console-version-31x-releases-new-features-and-enhancements)から IBM Db2 Data Management Console をダウンロードします。

1. IBM Db2 Data Management Console をインストールします。

1. IBM Db2 Data Management Console を開き、Amazon EC2 マシンの IP アドレスと Amazon EC2 インスタンスへの HTTP または HTTPS 接続に使用したポート番号を使用します。例えば、`http://xx.xx.xx.xx:11080` または `https://xx.xx.xx.xx.11081` を使用します。`xx.xx.xx.xx` を Amazon EC2 マシンの IP アドレスに置き換えます。`11080` と `11081` は、HTTP 接続と HTTPS 接続のデフォルトポートです。

1. (オプション) Amazon EC2 インスタンスでポート 80 または 443 を使用する場合は、Apache httpd または Nginx HTTP サーバーを使用して IBM Db2 Data Management Console ポートをポート 80 または 443 にプロキシできます。詳細については、「[Apache HTTP Server プロジェクト](https://httpd.apache.org)」および「[nginx ウェブサイト](https://nginx.org/en/)」を参照してください。

   IBM Db2 Data Management Console への接続を許可するには、セキュリティグループのインバウンドルールを編集する必要があります。プロキシを使用する場合は、TCP/IP ポート 80 または 443 を変更して、IBM Db2 Data Management Console ポートにリダイレクトします。プロキシを使用しない場合は、TCP/IP ポート 80 または 443 をデフォルトのポート 11080 (HTTP) または 11081 (HTTPS) に変更します。

これで、IBM Db2 Data Management Console にログインしてリポジトリデータベースを設定し、RDS for Db2 DB インスタンスに接続する準備が整いました。詳細については、「[リポジトリデータベースの設定と DB インスタンスへの接続](#db2-connecting-db-instances-with-dmc)」を参照してください。

## ステップ 3: リポジトリデータベースを設定し、RDS for Db2 DB インスタンスに接続する
<a name="db2-connecting-db-instances-with-dmc"></a>

リポジトリデータベースに初めて接続すると、IBM Db2 Data Management Console によってリポジトリが自動的に設定されます。リポジトリデータベースを設定したら、IBM Db2 Data Management Console にデータベースを接続できます。

RDS for Db2 DB インスタンスに接続するには、DNS 名とポート番号が必要です。これを確認する方法の詳細については、「[エンドポイントの検索](db2-finding-instance-endpoint.md)」を参照してください。また、RDS for Db2 DB インスタンスの作成時に定義したデータベース名、マスターユーザー名、マスターパスワードも把握しておく必要があります。これを確認する方法の詳細については、「[DB インスタンスの作成](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating)」を参照してください。インターネット経由で接続する場合は、データベースポートへのトラフィックを許可します。詳細については、「[DB インスタンスの作成](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating)」を参照してください。

**IBM Db2 Data Management Console を使用して RDS for Db2 DB インスタンスに接続するには**

1. インストール時に設定した認証情報を使用して IBM Db2 Data Management Console にログインします。

1. リポジトリを設定します。

   1. **[Connection and database]** セクションで、RDS for Db2 DB インスタンスの次の情報を入力します。
      + **[Host]** に、DB インスタンスの DNS 名を入力します。
      + **[Port]** に、DB インスタンスのポート番号を入力します。
      + **[Database]** に、データベースの名前を入力します。  
![\[[ホスト]、[ポート]、および [データベース] フィールドが表示されている IBM Db2 Data Management Console の [接続とデータベース] セクション。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/ibm-dmc-connection-database.png)

   1. **[Security and credential]** セクションで、RDS for Db2 DB インスタンスの次の情報を入力します。
      + **[Security type]** で、**[Encrypted user and password]** を選択します。
      + **[Username]** に、DB インスタンスのデータベース管理者の名前を入力します。
      + **[Password]** に、DB インスタンスのデータベース管理者のパスワードを入力します。

   1. **[Test connection]** を選択します。
**注記**  
接続に失敗した場合は、セキュリティグループのインバウンドルールを見てデータベースポートが開いていることを確認します。詳細については、「[Amazon RDS for Db2 のセキュリティグループの考慮事項](db2-security-groups-considerations.md)」を参照してください。

      RDS for Db2 で[バッファプール、ユーザーテーブルスペース、およびシステム一時テーブルスペースを手動で作成](#db2-manually-creating-dmc)しなかった場合、次のエラーメッセージが表示されることがあります。  
![\[操作を実行するアクセス許可がないことを示すエラーメッセージ。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/ibm-dmc-error-message.png)

      RDS for Db2 DB インスタンスをモニタリングするための、IBM Db2 Data Management Console リポジトリのバッファテーブル、テーブルスペース、およびオブジェクトを作成したことを確認します。または、Amazon EC2 Db2 DB インスタンスを使用して IBM Db2 Data Management Console リポジトリをホストし、RDS for Db2 DB インスタンスをモニタリングすることもできます。詳細については、「[ステップ 1: DB インスタンスをモニタリングするためのリポジトリデータベースを作成する](#db2-creating-repo-db-monitoring-dmc)」を参照してください。

   1. 接続を正常にテストできたら、**[Next]** を選択します。  
![\[IBM Db2 Data Management Console の [セキュリティと認証情報] セクション。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/ibm-dmc-security-credential.png)

   IBM Db2 Data Management Console が RDS for Db2 DB インスタンスでバッファプール、ユーザーテーブルスペース、およびシステム一時テーブルスペースを検出した場合、IBM Db2 Data Management Console はリポジトリデータベースを自動的に設定します。Amazon EC2 インスタンスで Db2 インスタンスをリポジトリデータベースとして使用すると、 IBM Db2 Data Management Console は自動的にバッファプールやその他のオブジェクトを作成します。

1. **[Set statistics event monitor opt-in]** ウィンドウで、**[Next]** を選択します。

1. (オプション) 新しい接続を追加します。管理とモニタリングに別の RDS for Db2 DB インスタンスを使用する場合は、非リポジトリ RDS for Db2 DB インスタンスへの接続を追加します。

   1. **[Connection and database]** セクションに、管理とモニタリングに使用する RDS for Db2 DB インスタンスの次の情報を入力します。
      + **[Connection name]**、Db2 データベース識別子を入力します。
      + **[Host]** に、DB インスタンスの DNS 名を入力します。
      + **[Port]** に、DB インスタンスのポート番号を入力します。
      + **[Database]** に、データベースの名前を入力します。  
![\[[ホスト]、[ポート]、および [データベース] フィールドが表示されている IBM Db2 Data Management Console の新しい接続の [接続とデータベース] セクション。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/ibm-dmc-new-connection-database.png)

   1. **[Security and credential]**** **セクションで、**[Enable monitoring data collection]** を選択します。

   1. RDS for Db2 DB インスタンスの次の情報を入力します。
      + **[Username]** に、DB インスタンスのデータベース管理者の名前を入力します。
      + **[Password]** に、DB インスタンスのデータベース管理者のパスワードを入力します。

   1. **[Test connection]** を選択します。

   1. 接続が正常にテストされたら、**[Save]** を選択します。  
![\[IBM Db2 Data Management Console の新しい接続の [セキュリティと認証情報] セクション。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/ibm-dmc-new-security-credential.png)

   接続が追加されると、次のようなウィンドウが表示されます。このウィンドウは、データベースが正常に設定されたことを示します。  
![\[データベースが正常に設定されたことを示す IBM Db2 Data Management Console のウィンドウ。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/ibm-dmc-configuration-success.png)

1. **[Go to Databases]** を選択します。次のようなデータベースウィンドウが表示されます。このウィンドウは、メトリクス、ステータス、接続を示すダッシュボードです。  
![\[IBM Db2 Data Management Console の [データベース] の概要ウィンドウ。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/ibm-dmc-database-view.png)

これで IBM Db2 Data Management Console の使用を開始できます。

## IBM Db2 Data Management Consoleの使用
<a name="db2-using-dmc"></a>

これで、IBM Db2 Data Management Console を使用して次のタイプのタスクを実行できます。
+ 複数の RDS for Db2 DB を管理する。
+ SQL コマンドを実行する。
+ データオブジェクトとデータベースオブジェクトを探索、作成、または変更する。
+ SQL で `EXPLAIN PLAN` ステートメントを作成する。
+ クエリを調整する。

**SQL コマンドを実行して結果を表示するには**

1. 左側のナビゲーションバーで **[SQL]** を選択します。

1. SQL コマンドを入力します。

1. **[Run all]** を選択します。

1. 結果を表示するには、**[Results]** タブを選択します。

![\[IBM Db2 Data Management Console で SQL コマンドを実行し、結果を表示する方法を示す [データベース] ウィンドウ。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/ibm-dmc-sql-run-example.png)


# Amazon RDS for Db2 のセキュリティグループの考慮事項
<a name="db2-security-groups-considerations"></a>

Amazon RDS for Db2 DB インスタンスに接続するためには、必要な IP アドレスとネットワーク設定を含むセキュリティグループに関連付ける必要があります。RDS for Db2 DB インスタンスは、デフォルトのセキュリティグループを使用することがあります。RDS for Db2 DB インスタンスの作成時に、デフォルトの設定されていないセキュリティグループを割り当てた場合は、ファイアウォールによってインターネット接続が禁止されます。新しいセキュリティグループの作成方法については、[セキュリティグループによるアクセス制御](Overview.RDSSecurityGroups.md) を参照してください。

新しいセキュリティグループを作成したら、そのセキュリティグループと関連付けるように DB インスタンスを変更します。詳細については、「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」を参照してください。

SSL を使用して DB インスタンスへの接続を暗号化することで、セキュリティを高めることができます。詳細については、「[Amazon RDS for Db2 DB インスタンスでの SSL/TLS の使用](Db2.Concepts.SSL.md)」を参照してください。