AWS Glue 연결 속성 - AWS Glue

AWS Glue 연결 속성

이 주제에는 AWS Glue 연결 속성에 대한 정보가 포함되어 있습니다.

필수 연결 속성

AWS Glue 콘솔에서 연결을 정의할 때 다음 속성에 대한 값을 제공해야 합니다.

연결 이름

연결에 고유한 이름을 입력합니다.

연결 유형

JDBC 또는 특정 연결 유형 중 하나를 선택합니다.

JDBC 연결 유형에 대한 자세한 내용은 AWS Glue JDBC 연결 속성 단원을 참조하십시오.

[네트워크(Network)]를 선택하여 Amazon Virtual Private Cloud 환경(Amazon VPC) 내의 데이터 원본에 연결합니다.

선택한 유형에 따라 AWS Glue 콘솔에 다른 필수 필드가 표시됩니다. 예를 들어 [Amazon RDS]를 선택한 경우 데이터베이스 엔진을 선택해야 합니다.

필요한 SSL 연결

이 옵션을 선택하면 AWS Glue에서 데이터 스토어 연결이 신뢰할 수 있는 보안 소켓 계층(SSL)을 통해 이루어졌는지 확인해야 합니다.

이 옵션을 선택할 때 사용할 수 있는 추가 옵션을 비롯한 자세한 내용은 AWS Glue SSL 연결 속성 단원을 참조하십시오.

MSK 클러스터 선택(Amazon Managed Streaming for Apache Kafka(MSK)만 해당)

다른 AWS 계정의 MSK 클러스터를 지정합니다.

Kafka 부트스트랩 서버 URL(Kafka만 해당)

쉼표로 구분된 부트스트랩 서버 URL 목록을 지정합니다. 포트 번호를 포함합니다. 예: b-1.vpc-test-2.o4q88o.c6.kafka.us-east-1.amazonaws.com:9094, b-2.vpc-test-2.o4q88o.c6.kafka.us-east-1.amazonaws.com:9094, b-3.vpc-test-2.o4q88o.c6.kafka.us-east-1.amazonaws.com:9094

AWS Glue JDBC 연결 속성

AWS Glue는 JDBC 연결을 통해 다음 데이터 스토어에 연결할 수 있습니다.

  • Amazon Redshift

  • Amazon Aurora

  • Microsoft SQL Server

  • MySQL

  • Oracle

  • PostgreSQL

  • Amazon RDS for MariaDB

중요

현재 ETL 작업은 하나의 서브넷 내에서만 JDBC 연결을 사용할 수 있습니다. 작업에서 다양한 데이터 스토어가 있으면 모두 동일한 서브넷에 있어야 합니다.

다음은 JDBC 연결 유형에 대한 추가 속성입니다.

JDBC URL

JDBC 데이터 스토어의 URL 유형. 대부분 데이터베이스 엔진의 경우, 이 필드는 다음과 같은 포맷입니다. 이 포맷에서 protocol, host, port, db_name을 고유한 정보로 바꿉니다.

jdbc:protocol://host:port/db_name

데이터베이스 엔진에 다라 다른 JDBC URL 포맷이 필요합니다. 이 포맷은 클론(:), 슬래시(/), 및 기타 키워드를 다르게 사용하여 데이터베이스를 지정합니다.

JDBC를 데이터 스토어에 연결하는 데 필요한 데이터 스토어의 db_name입니다. db_name는 지원한 usernamepassword를 통해 네트워크 연결을 만드는 데 사용됩니다. 연결되면 AWS Glue는 데이터 스토어의 다른 데이터베이스에 액세스할 수 있어 크롤러나 ETL 작업을 실행할 수 있습니다.

다음 JDBC URL 예제에서는 몇 가지 데이터베이스 엔진의 구문을 보여 줍니다.

  • dev 데이터베이스로 Amazon Redshift 클러스터 데이터 스토어에 연결하려면

    jdbc:redshift://xxx.us-east-1.redshift.amazonaws.com:8192/dev

  • employee 데이터베이스로 Amazon RDS for MySQL 데이터 스토어에 연결하려면

    jdbc:mysql://xxx-cluster.cluster-xxx.us-east-1.rds.amazonaws.com:3306/employee

  • employee 데이터베이스로 Amazon RDS for PostgreSQL 데이터 스토어에 연결하려면

    jdbc:postgresql://xxx-cluster.cluster-xxx.us-east-1.rds.amazonaws.com:5432/employee

  • employee 서비스 이름으로 Amazon RDS for Oracle 데이터 스토어에 연결하려면

    jdbc:oracle:thin://@xxx-cluster.cluster-xxx.us-east-1.rds.amazonaws.com:1521/employee

    Amazon RDS for Oracle의 구문은 다음 패턴을 따를 수 있습니다. 이러한 패턴에서 host, port, service_name, SID를 고유한 정보로 바꿉니다.

    • jdbc:oracle:thin://@host:port/service_name

    • jdbc:oracle:thin://@host:port:SID

  • employee 데이터베이스로 Amazon RDS for Microsoft SQL Server 데이터 스토어에 연결하려면

    jdbc:sqlserver://xxx-cluster.cluster-xxx.us-east-1.rds.amazonaws.com:1433;databaseName=employee

    Amazon RDS for SQL Server의 구문은 다음 패턴을 따를 수 있습니다. 이러한 패턴에서 server_name, portdb_name을 사용자 자신의 정보로 바꿉니다.

    • jdbc:sqlserver://server_name:port;database=db_name

    • jdbc:sqlserver://server_name:port;databaseName=db_name

  • employee 데이터베이스의 Amazon Aurora PostgreSQL 인스턴스에 연결하려면 데이터베이스 인스턴스의 엔드포인트, 포트 및 데이터베이스 이름을 지정합니다.

    jdbc:postgresql://employee_instance_1.xxxxxxxxxxxx.us-east-2.rds.amazonaws.com:5432/employee

  • employee 데이터베이스가 포함된 Amazon RDS for MariaDB 데이터 스토어에 연결하려면 데이터베이스 인스턴스의 엔드포인트, 포트, 데이터베이스 이름을 지정합니다.

    jdbc:mysql://xxx-cluster.cluster-xxx.aws-region.rds.amazonaws.com:3306/employee

Username
참고

사용자 이름과 암호를 직접 제공하는 대신 AWS 보안 암호를 사용하여 연결 자격 증명을 저장하는 것이 좋습니다. 자세한 정보는 AWS Secrets Manager에 연결 자격 증명 저장을 참조하십시오.

JDBC 데이터 스토어 연결 권한을 갖는 사용자 이름을 제공합니다.

Password

JDBC 데이터 스토어 연결 권한을 갖는 비밀번호를 입력합니다.

포트

Amazon RDS Oracle 인스턴스에 연결하기 위해 JDBC URL에 사용된 포트를 입력합니다. 이 필드는 Amazon RDS Oracle 인스턴스에 대해 [SSL 연결 필요(Require SSL connection)]가 선택된 경우에만 표시됩니다.

VPC

데이터 스토어를 포함한 Virtual Private Cloud(VPC) 이름을 선택합니다. AWS Glue 콘솔은 현재 리전의 모든 VPC를 나열합니다.

서브넷

데이터 스토어를 포함하는 VPC 내 서브넷을 선택합니다. AWS Glue 콘솔은 VPC에 데이터 스토어에 대한 모든 서브넷을 나열합니다.

보안 그룹

데이터 스토어와 관련된 보안 그룹을 선택합니다. AWS Glue는 연결할 AWS Glue를 허용하는 인바운드 소스 규칙과 함께 하나 이상의 보안 그룹이 필요합니다. AWS Glue 콘솔은 VPC에 인바운드 액세스를 보장하는 보안 그룹을 나열합니다. AWS Glue는 VPC 서브넷에 연결된 탄력적 네트워크 인터페이스를 통해 보안 그룹이 연결됩니다.

AWS Glue SSL 연결 속성

다음은 Require SSL connection(SSL 연결 필요) 속성에 대한 세부 정보입니다.

SSL 연결이 필요하지 않은 경우 AWS Glue에서 SSL을 사용하여 데이터 스토어에 대한 연결을 암호화할 때 실패를 무시합니다. 구성 지침은 데이터 스토어의 문서를 참조하세요. 이 옵션을 선택하면 AWS Glue에서 연결할 수 없을 때 개발 엔드포인트의 작업 실행, 크롤러 또는 ETL 문이 실패합니다.

이 옵션은 AWS Glue 클라이언트 측에서 검증됩니다. JDBC 연결의 경우 AWS Glue는 인증서 및 호스트 이름 검증을 사용하여 SSL을 통해서만 연결합니다. SSL 연결 지원은 다음에 사용할 수 있습니다.

  • Oracle Database

  • Microsoft SQL Server

  • PostgreSQL

  • Amazon Redshift

  • MySQL(Amazon RDS 인스턴스만 해당)

  • Amazon Aurora MySQL(Amazon RDS 인스턴스만 해당)

  • Amazon Aurora PostgreSQL(Amazon RDS 인스턴스만 해당)

  • Amazon Managed Streaming for Apache Kafka를 포함하는 Kafka

참고

Amazon RDS Oracle 데이터 스토어에서 [SSL 연결 필요(Require SSL connection)]를 사용할 수 있도록 하려면 옵션 그룹을 생성하여 Oracle 인스턴스에 연결해야 합니다.

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

  2. [옵션 그룹(Option group)]을 Amazon RDS Oracle 인스턴스에 추가합니다. Amazon RDS 콘솔에서 옵션 그룹을 추가하는 방법에 대한 자세한 내용은 옵션 그룹 생성을 참조하세요.

  3. 옵션SSL에 대한 옵션 그룹에 추가합니다. SSL에 대해 지정하는 [포트(Port)]는 나중에 Amazon RDS Oracle 인스턴스에 대한 AWS Glue JDBC 연결 URL을 생성할 때 사용됩니다. Amazon RDS 콘솔에서 옵션을 추가하는 방법에 대한 자세한 내용은 Amazon RDS User GuideAdding an Option to an Option Group을 참조하세요. Oracle SSL 옵션에 대한 자세한 내용은 Amazon RDS User GuideOracle SSL을 참조하세요.

  4. AWS Glue 콘솔에서 Amazon RDS Oracle 인스턴스에 대한 연결을 생성합니다. 연결 정의에서 SSL 연결 필요를 선택합니다. 요청 시 Amazon RDS Oracle SSL 옵션에서 사용한 [포트(Port)]를 입력합니다.

연결에 대해 [SSL 연결 필요(Require SSL connection)]를 선택한 경우 다음과 같은 추가 선택적 속성을 사용할 수 있습니다.

S3의 사용자 지정 JDBC 인증서

현재 온프레미스 또는 클라우드 데이터베이스와의 SSL 통신에 사용 중인 인증서가 있는 경우 AWS Glue 데이터 원본 또는 대상에 대한 SSL 연결에 해당 인증서를 사용할 수 있습니다. 사용자 정의 루트 인증서가 포함된 Amazon Simple Storage Service(Amazon S3) 위치를 입력합니다. AWS Glue는 이 인증서를 사용하여 데이터베이스에 대한 SSL 연결을 설정합니다. AWS Glue는 X.509 인증서만 처리합니다. 인증서는 DER로 인코딩되고 base64 인코딩 PEM 형식으로 제공되어야 합니다.

이 필드를 비워두면 기본 인증서가 사용됩니다.

사용자 지정 JDBC 인증서 문자열

JDBC 데이터베이스에 특정한 인증서 정보를 입력합니다. 이 문자열은 도메인 일치 또는 고유 이름(DN) 일치에 사용됩니다. Oracle Database의 경우 이 문자열은 tnsnames.ora 파일의 보안 섹션에 있는 SSL_SERVER_CERT_DN 파라미터에 매핑됩니다. Microsoft SQL Server의 경우 이 문자열은 hostNameInCertificate로 사용됩니다.

다음은 Oracle Database SSL_SERVER_CERT_DN 파라미터의 예입니다.

cn=sales,cn=OracleContext,dc=us,dc=example,dc=com
Kafka 프라이빗 CA 인증서 위치

Kafka 데이터 스토어와의 SSL 통신에 현재 사용 중인 인증서가 있는 경우 해당 인증서를 AWS Glue 연결과 함께 사용할 수 있습니다. 이 옵션은 Kafka 데이터 스토어의 경우 필수이고 Amazon Managed Streaming for Apache Kafka 데이터 스토어의 경우 선택 사항입니다. 사용자 정의 루트 인증서가 포함된 Amazon Simple Storage Service(Amazon S3) 위치를 입력합니다. AWS Glue는 이 인증서를 사용하여 Kafka 데이터 스토어에 대한 SSL 연결을 설정합니다. AWS Glue는 X.509 인증서만 처리합니다. 인증서는 DER로 인코딩되고 base64 인코딩 PEM 형식으로 제공되어야 합니다.

인증서 검증 건너뛰기

AWS Glue의 사용자 정의 인증서 검증을 건너뛰려면 [인증서 검증 건너뛰기(Skip certificate validation)] 확인란을 선택합니다. 검증하기로 한 경우, AWS Glue가 인증서의 서명 알고리즘 및 주제 퍼블릭 키 알고리즘을 검증합니다. 인증서가 검증에 실패하면, 연결을 사용하는 모든 ETL 작업 또는 크롤러가 실패합니다.

허용되는 유일한 서명 알고리즘은 SHA256withRSA, SHA384withRSA 또는 SHA512withRSA. 주제 퍼블릭 키 알고리즘의 경우, 키 길이는 2048 이상이어야 합니다.

Kafka 클라이언트 키 스토어 위치

Kafka 클라이언트 측 인증을 위한 클라이언트 키 스토어 파일의 Amazon S3 위치입니다. 경로는 s3://bucket/prefix/filename.jks 형식이어야 합니다. 파일 이름과 .jks 확장자로 끝나야 합니다.

Kafka 클라이언트 키 스토어 암호(선택 사항)

제공된 키 스토어에 액세스하기 위한 암호입니다.

Kafka 클라이언트 키 암호(선택 사항)

키 스토어는 여러 키로 구성 될 수 있으므로 Kafka 서버 측 키와 함께 사용할 클라이언트 키에 액세스하기 위한 암호입니다.

클라이언트 인증을 위한 Apache Kafka 연결 속성

AWS Glue는 Apache Kafka 연결을 생성할 때 인증을 위한 SASL(Simple Authentication and Security Layer) 프레임워크를 지원합니다. SASL 프레임워크는 다양한 인증 메커니즘을 지원하며 AWS Glue는 SCRAM 프로토콜(사용자 이름 및 암호)과 GSSAPI(Kerberos 프로토콜)를 모두 제공합니다.

AWS Glue Studio를 사용하여 다음 클라이언트 인증 방법 중 하나를 구성합니다. 자세한 내용은 AWSGlue Studio 사용 안내서의 커넥터에 대한 연결 생성을 참조하세요.

  • 없음(None) - 인증이 없습니다. 테스트 목적으로 연결을 생성하는 경우에 유용합니다.

  • SASL/SCRAM-SHA-512 - 이 인증 방법을 선택하면 인증 자격 증명을 지정할 수 있습니다. 두 가지 옵션을 사용할 수 있습니다.

    • AWS Secrets Manager 사용(권장) - 이 옵션을 선택하면 AWS Secrets Manager에 사용자 이름과 암호를 저장하여 필요할 때 AWS Glue에서 액세스하도록 할 수 있습니다. SSL 또는 SASL 인증 자격 증명을 저장하는 보안 암호를 지정합니다. 자세한 정보는 AWS Secrets Manager에 연결 자격 증명 저장을 참조하십시오.

    • 사용자 이름과 암호를 직접 제공합니다.

  • SASL/GSSAPI (Kerberos)(SASL/GSSAPI(Kerberos)) - 이 옵션을 선택하면 keytab 파일, krb5.conf 파일의 위치를 선택하고 Kerberos 보안 주체 이름과 Kerberos 서비스 이름을 입력할 수 있습니다. keytab 파일과 krb5.conf 파일의 위치는 Amazon S3 위치에 있어야 합니다. MSK는 아직 SASL/GSSAPI를 지원하지 않으므로 이 옵션은 고객 관리형 Apache Kafka 클러스터에만 사용할 수 있습니다. 자세한 내용은 MIT Kerberos Documentation: Keytab(MIT Kerberos 설명서: Keytab)을 참조하세요.

  • SSL 클라이언트 인증(SSL Client Authentication) - 이 옵션을 선택하면 Amazon S3를 검색하여 Kafka 클라이언트 키 스토어의 위치를 선택할 수 있습니다. 선택 사항으로 Kafka 클라이언트 키 스토어 암호와 Kafka 클라이언트 키 암호를 입력할 수 있습니다.