

# 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 Management Console 또는 AWS CLI를 사용하여 DB 인스턴스의 엔드포인트를 찾을 수 있습니다.

## 콘솔
<a name="db2-finding-instance-endpoint-console"></a>

**RDS for Db2 DB 인스턴스의 엔드포인트를 찾으려면**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 Amazon RDS 콘솔을 엽니다.

1.  콘솔의 오른쪽 상단에서 DB 인스턴스의 AWS 리전을 선택합니다.

1. RDS for Db2 DB 인스턴스에 대한 DNS 이름과 포트 번호를 찾습니다.

   1. DB 인스턴스 목록을 표시할 **인스턴스**를 선택합니다.

   1. 인스턴스 세부 정보를 표시할 RDS for Db2 DB 인스턴스 이름을 선택합니다.

   1. **Connectivity & security(연결 및 보안)** 탭에서 엔드포인트를 복사합니다. 또한 포트 번호를 적어 둡니다. DB 인스턴스에 연결하려면 엔드포인트와 포트 번호가 모두 필요합니다.  
![\[엔드포인트와 포트를 보여주는 DB 인스턴스의 연결 및 보안 탭.\]](http://docs.aws.amazon.com/ko_kr/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 인스턴스 이름으로 바꿉니다.

대상 LinuxmacOS, 또는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
```

다음 예제와 비슷한 출력이 생성됩니다. DNS 이름은 출력의 `Address` 라인에 포함되어 있습니다.

```
[
    {
        "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 Support의 [IBM 데이터 서버 클라이언트 패키지 버전 11.5 Mod 8 수정 팩 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 클라이언트에 원격 데이터베이스 노드를 등록하여 노드를 클라이언트 애플리케이션에 액세스할 수 있도록 합니다. 노드를 카탈로그화하려면 서버의 호스트 이름, 포트 번호, 통신 프로토콜과 같은 정보를 제공합니다. 그러면 카탈로그화된 노드는 하나 이상의 원격 데이터베이스가 있는 대상 서버를 나타냅니다. 자세한 내용은 IBM Db2 설명서의 [CATALOG TCPIP/TCPIP4/TCPIP6 NODE 명령](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-tcpip-node)을 참조하세요.

**catalog database**  
이 명령은 로컬 Db2 클라이언트에 원격 데이터베이스를 등록하여 데이터베이스를 클라이언트 애플리케이션에 액세스할 수 있도록 합니다. 데이터베이스를 카탈로그화하려면 데이터베이스의 별칭, 데이터베이스가 있는 노드, 데이터베이스 연결에 필요한 인증 유형 등의 정보를 제공합니다. 자세한 내용은 IBM Db2 설명서의 [CATALOG DATABASE 명령](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 설명서의 [지원되는 클라이언트, 드라이버 및 서버 수준 조합](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` - 단일 데이터베이스 요청으로 바인딩할 파일의 모든 패키지를 바인딩합니다.
      + `grant public` - 패키지를 실행할 `public` 권한을 부여합니다.
      + `sqlerror continue` - 오류가 발생해도 `bind` 프로세스가 계속되도록 지정합니다.

      `bind` 명령에 대한 자세한 내용은 IBM Db2 설명서의 [BIND 명령](https://www.ibm.com/docs/en/db2/11.5?topic=commands-bind)을 참조하세요.

1. `syscat.package` 카탈로그 뷰를 쿼리하거나 `bind` 명령 이후에 반환되는 메시지를 확인하여 바인딩이 성공했는지 확인합니다.

자세한 내용은 IBM Support의 [DB2 v11.5 바인딩 파일 및 패키지 이름 목록](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 Support의 [IBM 데이터 서버 클라이언트 패키지 버전 11.5 Mod 8 수정 팩 0](https://www.ibm.com/support/pages/node/6830885)을 참조하세요.

**중요**  
데스크톱과 함께 macOS, Windows, Linux 등 그래픽 사용자 인터페이스를 지원하는 운영 체제에서 IBM CLPPlus를 실행하는 것이 좋습니다. 헤드리스 Linux를 실행하는 경우 CLPPlus 명령과 함께 switch **-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*를 RDS for Db2 DB 인스턴스의 DSN 이름, 데이터베이스 이름, 엔드포인트 및 포트로 대체합니다. 자세한 내용은 [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와 같은 저장 프로시저는 CLOB 열에 결과를 반환하며, 이 열은 최대 2GB의 데이터를 지원합니다. 그러나 DB2 CLP는 CLOB 출력을 8KB(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 커뮤니티](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. Start **DBeaver**.

1. 도구 모음에서 **새 연결** 아이콘을 선택한 다음 **Db2 for LUW**를 선택합니다.  
![\[DBeaver에서 엔진 유형을 나열하는 메뉴.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/dbeaver-add-connection.png)

1. **데이터베이스에 연결** 창에서 RDS for Db2 DB 인스턴스 정보를 입력합니다.

   1.  다음 정보를 입력합니다.
      + **호스트**에 DB 인스턴스의 DNS 이름을 입력합니다.
      + **포트**에 DB 인스턴스의 포트 번호를 입력합니다.
      + **데이터베이스**에 데이터베이스 이름을 입력합니다.
      + **사용자 이름**에 DB 인스턴스의 데이터베이스 관리자 이름을 입력합니다.
      + **암호**에 DB 인스턴스의 데이터베이스 관리자 암호를 입력합니다.

   1. **암호 저장**을 선택합니다.

   1. **드라이버 설정**을 선택합니다.  
![\[다양한 연결 설정이 채워져 있는 DBeaver의 데이터베이스에 연결 창.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/dbeaver-connect-database.png)

1. **드라이버 편집** 창에서 추가 보안 속성을 지정합니다.

   1. **드라이버 속성** 탭을 선택합니다.

   1. 2개의 **사용자 속성**을 추가합니다.

      1. 컨텍스트 메뉴를 열고(마우스 오른쪽 버튼 클릭) **새 속성 추가**를 선택합니다.

      1. **속성 이름**에 **encryptionAlgorithm**을 추가한 다음 **확인**을 선택합니다.

      1. **encryptionAlgorithm** 행을 선택한 상태에서 **값** 열을 선택하고 **2**를 추가합니다.

      1. 컨텍스트 메뉴를 열고(마우스 오른쪽 버튼 클릭) **새 속성 추가**를 선택합니다.

      1. **속성 이름**에 **securityMechanism**을 추가한 다음 **확인**을 선택합니다.

      1. **securityMechanism** 행을 선택한 상태에서 **값** 열을 선택하고 **7**을 추가합니다.

   1. **확인**을 선택합니다.  
![\[DBeaver의 드라이버 편집 창에 있는 드라이버 속성 탭.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/dbeaver-driver-properties-tab.png)

1. **데이터베이스에 연결** 창에서 **연결 테스트**를 선택합니다. 컴퓨터에 DB2 JBDC 드라이버가 설치되어 있지 않으면 드라이버가 자동으로 다운로드됩니다.

1. **확인**을 선택합니다.

1. **마침**을 클릭합니다.

1. **데이터베이스 탐색** 탭에서 데이터베이스 이름을 선택합니다. 이제 객체를 탐색할 수 있습니다.

이제 SQL 명령을 실행할 준비가 되었습니다.

**SQL 명령을 실행하고 결과를 확인하려면**

1. 상단 메뉴에서 **SQL**을 선택합니다. 그러면 SQL 스크립트 패널이 열립니다.

1. **스크립트** 패널에서 SQL 명령을 입력합니다.

1. 명령을 실행하려면 **SQL 쿼리 실행** 버튼을 선택합니다.

1. SQL 결과 패널에서 SQL 쿼리 결과를 확인합니다.  
![\[DBeaver에서 SQL 명령을 실행하고 결과를 보는 방법을 보여주는 창.\]](http://docs.aws.amazon.com/ko_kr/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용 리포지토리 데이터베이스를 자동으로 생성할 수는 없습니다. 먼저 하나 이상의 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 인스턴스를 다른 RDS for Db2 DB 인스턴스를 모니터링하기 위한 IBM Db2 Data Management Console용 리포지토리로 사용할 수 있습니다. 하지만 관리자에게는 버퍼 풀과 테이블스페이스를 생성할 `SYSCTRL` 권한이 없으므로, IBM Db2 Data Management Console 리포지토리 생성을 사용하여 리포지토리 데이터베이스를 생성하는 것은 실패합니다. 대신 리포지토리 데이터베이스를 생성해야 합니다. 이 리포지토리 데이터베이스는 RDS for Db2 DB 인스턴스를 모니터링합니다.

두 방법으로 리포지토리 데이터베이스를 만들 수 있습니다. 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*을 IBM Db2 Data Management Console에서 RDS for Db2 DB 인스턴스를 모니터링하기 위해 만든 리포지토리 이름으로 바꿉니다.

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

1. IBM Db2 Data Management Console의 테이블스페이스 생성 다음 예제에서 *database\$1name*을 IBM Db2 Data Management Console에서 RDS for Db2 DB 인스턴스를 모니터링하기 위해 만든 리포지토리 이름으로 바꿉니다.

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

1. IBM Db2 Data Management Console의 임시 테이블스페이스를 생성합니다. 다음 예제에서 *database\$1name*을 IBM Db2 Data Management Console에서 RDS for Db2 DB 인스턴스를 모니터링하기 위해 만든 리포지토리 이름으로 바꿉니다.

   ```
   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>

별도의 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 생성하여 IBM Db2 Data Management Console 리포지토리를 호스팅할 수 있습니다. 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 지원 웹 사이트의 [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 Project](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. **연결 및 데이터베이스** 섹션에서 RDS for Db2 DB 인스턴스에 대한 다음 정보를 입력합니다.
      + **호스트**에 DB 인스턴스의 DNS 이름을 입력합니다.
      + **포트**에 DB 인스턴스의 포트 번호를 입력합니다.
      + **데이터베이스**에 데이터베이스 이름을 입력합니다.  
![\[IBM Db2 Data Management Console의 연결 및 데이터베이스 섹션에 호스트, 포트, 데이터베이스 필드가 있음.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/ibm-dmc-connection-database.png)

   1. **보안 및 보안 인증 정보** 섹션에서 RDS for Db2 DB 인스턴스에 대한 다음 정보를 입력합니다.
      + **보안 유형**에서 **암호화된 사용자 및 암호**를 선택합니다.
      + **사용자 이름**에 DB 인스턴스의 데이터베이스 관리자 이름을 입력합니다.
      + **암호**에 DB 인스턴스의 데이터베이스 관리자 암호를 입력합니다.

   1. **연결 테스트**를 선택합니다.
**참고**  
연결에 실패할 경우 보안 그룹의 인바운드 규칙을 통해 데이터베이스 포트가 열려 있는지 확인하세요. 자세한 내용은 [Amazon RDS for Db2를 사용하는 보안 그룹에 대한 고려 사항](db2-security-groups-considerations.md) 섹션을 참조하세요.

      RDS for Db2에서 [버퍼 풀, 사용자 테이블스페이스 및 시스템 임시 테이블스페이스를 수동으로 생성](#db2-manually-creating-dmc)하지 않은 경우 다음 오류 메시지가 표시될 수 있습니다.  
![\[작업을 수행할 권한이 없다는 오류 메시지.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/ibm-dmc-error-message.png)

      RDS for Db2 DB 인스턴스를 모니터링하려면 IBM Db2 Data Management Console 리포지토리의 버퍼 표, 테이블스페이스 및 객체를 생성했는지 확인합니다. 또는 Amazon EC2 Db2 DB 인스턴스를 사용하여 RDS for Db2 DB 인스턴스를 모니터링하기 위한 IBM Db2 Data Management Console 리포지토리를 호스팅할 수 있습니다. 자세한 내용은 [1단계: DB 인스턴스를 모니터링하기 위한 리포지토리 데이터베이스 생성](#db2-creating-repo-db-monitoring-dmc) 섹션을 참조하세요.

   1. 연결을 성공적으로 테스트한 후 **다음**을 선택합니다.  
![\[IBM Db2 Data Management Console의 보안 및 자격 증명 섹션.\]](http://docs.aws.amazon.com/ko_kr/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. **통계 이벤트 모니터 옵트인 설정** 창에서 **다음**을 선택합니다.

1. (선택 사항) 새 연결을 추가합니다. 관리 및 모니터링을 위해 다른 RDS for Db2 DB 인스턴스를 사용하려면 리포지토리가 아닌 RDS for Db2 DB 인스턴스에 연결을 추가합니다.

   1. **연결 및 데이터베이스** 섹션에서 관리 및 모니터링에 사용할 RDS for Db2 DB 인스턴스에 대한 다음 정보를 입력합니다.
      + **연결 이름**에 Db2 데이터베이스 식별자를 입력합니다.
      + **호스트**에 DB 인스턴스의 DNS 이름을 입력합니다.
      + **포트**에 DB 인스턴스의 포트 번호를 입력합니다.
      + **데이터베이스**에 데이터베이스 이름을 입력합니다.  
![\[새 연결을 위한 IBM Db2 Data Management Console의 연결 및 데이터베이스 섹션에 호스트, 포트, 데이터베이스 필드가 있음.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/ibm-dmc-new-connection-database.png)

   1. **보안 및 보안 인증 정보**** **섹션에서 **모니터링 데이터 수집 활성화**를 선택합니다.

   1. RDS for Db2 DB 인스턴스에 대한 다음 정보를 입력합니다.
      + **사용자 이름**에 DB 인스턴스의 데이터베이스 관리자 이름을 입력합니다.
      + **암호**에 DB 인스턴스의 데이터베이스 관리자 암호를 입력합니다.

   1. **연결 테스트**를 선택합니다.

   1. 연결을 성공적으로 테스트한 후 **저장**을 선택합니다.  
![\[새 연결을 위한 IBM Db2 Data Management Console의 보안 및 자격 증명 섹션.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/ibm-dmc-new-security-credential.png)

   연결이 추가된 후 다음과 유사한 창이 표시됩니다. 이 창은 데이터베이스가 성공적으로 구성되었음을 나타냅니다.  
![\[IBM Db2 Data Management Console에서 데이터베이스가 성공적으로 구성되었음을 나타내는 창.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/ibm-dmc-configuration-success.png)

1. **데이터베이스로 이동**을 선택합니다. 다음과 유사한 데이터베이스 창이 표시됩니다. 이 창은 지표, 상태 및 연결을 보여주는 대시보드입니다.  
![\[IBM Db2 Data Management Console의 데이터베이스 개요 창.\]](http://docs.aws.amazon.com/ko_kr/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. **모두 실행**을 선택합니다.

1. **결과** 탭을 선택하여 결과를 봅니다.

![\[SQL 명령을 실행하고 결과를 보는 방법을 보여 주는 IBM Db2 Data Management Console의 데이터베이스 창.\]](http://docs.aws.amazon.com/ko_kr/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) 섹션을 참조하세요.