Amazon Redshift RSQL을 사용하여 클러스터에 연결 - Amazon Redshift

Amazon Redshift RSQL을 사용하여 클러스터에 연결

DSN을 사용하지 않고 연결

  1. Amazon Redshift 콘솔에서 연결할 클러스터를 선택하고 엔드포인트, 데이터베이스 및 포트를 기록해 둡니다.

  2. 명령 프롬프트에서 명령줄 파라미터를 사용하여 연결 정보를 지정합니다.

    rsql -h <endpoint> -U <username> -d <databasename> -p <port>

    여기에는 다음이 적용됩니다.

    • <endpoint>은(는) 이전 단계에서 기록한 엔드포인트(Endpoint)입니다.

    • <username>은 클러스터 연결 권한이 있는 사용자의 이름입니다.

    • <databasename>은(는) 이전 단계에서 입력한 데이터베이스 이름(Database Name)입니다.

    • <port>는 이전 단계에서 기록한 포트(Port)입니다. <port>는 선택적 파라미터입니다.

    예를 들면 다음과 같습니다.

    rsql -h testcluster.example.amazonaws.com -U user1 -d dev -p 5439
  3. 암호 프롬프트에서 <username> 사용자의 암호를 입력합니다.

    성공적인 연결 응답은 다음과 같습니다.

    % rsql -h testcluster.example.com -d dev -U user1 -p 5349 Password for user user1: DSN-less Connected DBMS Name: Amazon Redshift Driver Name: Amazon Redshift ODBC Driver Driver Version: 1.4.27.1000 Rsql Version: 1.0.1 Redshift Version: 1.0.29306 Type "help" for help. (testcluster) user1@dev=#

연결 명령은 Linux, Mac OS 및 Windows에서 동일한 파라미터를 사용합니다.

DSN을 사용하여 연결

데이터 원본 이름(DSN)으로 RSQL을 Amazon Redshift에 연결하여 연결 속성 구성을 단순화할 수 있습니다. 자세한 내용은 연결 기능 구성 섹션을 참조하세요. 이 주제에는 ODBC 드라이버 설치 지침과 DSN 속성에 대한 설명이 포함되어 있습니다. 예를 들어, 다음 섹션인 Microsoft Windows에 Amazon Redshift ODBC 드라이버 설치 및 구성에서는 Windows를 사용하여 DSN에 연결하는 방법을 보여줍니다.

암호와 함께 DSN 연결 사용

다음은 암호를 사용하는 DSN 연결 구성의 예를 보여줍니다. 기본 <path to driver>은 Mac OSX의 경우 /opt/amazon/redshift/lib/libamazonredshiftodbc.dylib이고 Linux의 경우 /opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so입니다.

[testuser] Driver=/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so SSLMode=verify-ca Min_TLS=1.2 boolsaschar=0 Host=<server endpoint> Port=<database port> Database=<dbname> UID=<username> PWD=<password> sslmode=prefer

다음 출력은 성공적인 연결의 결과입니다.

% rsql -D testuser DSN Connected DBMS Name: Amazon Redshift Driver Name: Amazon Redshift ODBC Driver Driver Version: 1.4.27.1000 Rsql Version: 1.0.1 Redshift Version: 1.0.29306 Type "help" for help. (testcluster) user1@dev=#

통합 인증 DSN 사용

Single Sign-On 인증을 위해 DSN을 구성할 수 있습니다. 다음은 Okta Single Sign-On을 사용하는 DSN 연결 구성의 예를 보여줍니다.

[testokta] Driver=<path to driver> SSLMode=verify-ca Min_TLS=1.2 boolsaschar=0 Host=<server endpoint> clusterid=<cluster id> region=<region name> Database=<dbname> locale=en-US iam=1 plugin_name=<plugin name> uid=<okta username> pwd=<okta password> idp_host=<idp endpoint> app_id=<app id> app_name=<app name> preferred_role=<role arn>

성공적인 연결의 샘플 출력입니다.

% rsql -D testokta DSN Connected DBMS Name: Amazon Redshift Driver Name: Amazon Redshift ODBC Driver Driver Version: 1.4.27.1000 Rsql Version: 1.0.1 Redshift Version: 1.0.29306 Type "help" for help. (testcluster) user1@dev=#

다음은 Azure Single Sign-On을 사용하는 DSN 연결 구성의 예를 보여줍니다.

[testazure] Driver=<path to driver> SSLMode=verify-ca Min_TLS=1.2 boolsaschar=0 Host=<server endpoint> Port=<cluster port> clusterid=<cluster id> region=<region name> Database=<dbname> locale=en-us iam=1 plugin_name=<plugin name> uid=<azure username> pwd=<azure password> idp_tenant=<Azure idp tenant uuid> client_id=<Azure idp client uuid> client_secret=<Azure idp client secret>

IAM 프로파일과 함께 DSN 연결 사용

구성된 IAM 프로파일을 사용하여 Amazon Redshift에 연결할 수 있습니다. IAM 프로파일에 GetClusterCredentials를 호출할 수 있는 권한이 있어야 합니다. 다음 예에서는 사용할 DSN 속성을 보여줍니다. ClusterIDRegion 파라미터는 Hostexamplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com과 같이 Amazon에서 제공하는 엔드포인트가 아닌 경우에만 필요합니다.

[testiam] Driver=Default Host=testcluster.example.com Database=dev DbUser=testuser ClusterID=rsqltestcluster Region=us-east-1 IAM=1 Profile=default

Profile 키 값은AWS CLI 자격 증명에서 선택하는 명명된 프로파일입니다. 이 예에서는 default라는 프로파일에 대한 자격 증명을 보여줍니다.

$ cat .aws/credentials [default] aws_access_key_id = ASIAIOSFODNN7EXAMPLE aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

다음은 연결 응답을 보여줍니다.

$ rsql -D testiam DSN Connected DBMS Name: Amazon Redshift Driver Name: Amazon Redshift ODBC Driver Driver Version: 1.4.27.1000 Rsql Version: 1.0.1 Redshift Version: 1.0.29306 Type "help" for help. (testcluster) testuser@dev=>

인스턴스 프로파일과 함께 DSN 연결 사용

Amazon EC2 인스턴스 프로파일을 사용하여 Amazon Redshift에 연결할 수 있습니다. 인스턴스 프로파일에 GetClusterCredentials를 호출할 수 있는 권한이 있어야 합니다. 사용할 DSN 속성은 아래 예를 참조하세요. ClusterIDRegion 파라미터는 Hostexamplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com과 같이 Amazon에서 제공하는 엔드포인트가 아닌 경우에만 필요합니다.

[testinstanceprofile] Driver=Default Host=testcluster.example.com Database=dev DbUser=testuser ClusterID=rsqltestcluster Region=us-east-1 IAM=1 Instanceprofile=1

다음은 연결 응답을 보여줍니다.

$ rsql -D testinstanceprofile DSN Connected DBMS Name: Amazon Redshift Driver Name: Amazon Redshift ODBC Driver Driver Version: 1.4.27.1000 Rsql Version: 1.0.1 Redshift Version: 1.0.29306 Type "help" for help. (testcluster) testuser@dev=>

기본 자격 증명 공급자 체인에서 DSN 연결 사용

기본 자격 증명 공급자 체인을 사용하여 연결하기 위해 IAM 속성만 지정하면 Amazon Redshift RSQL이 Java용 AWS SDK에서 AWS 자격 증명으로 작업하기에 나와 있는 순서대로 자격 증명 획득을 시도합니다. 체인에서 제공자 하나 이상이 GetClusterCredentials 권한이 있어야 합니다. 이것은 예를 들어 ECS 컨테이너에서 연결할 때 유용합니다.

[iamcredentials] Driver=Default Host=testcluster.example.com Database=dev DbUser=testuser ClusterID=rsqltestcluster Region=us-east-1 IAM=1