기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Glue 연결 생성(관리자용)
SQL 확장과 함께 데이터 소스를 사용하기 위해 관리자는 각 데이터 소스에 대한 AWS Glue 연결을 설정할 수 있습니다. 이러한 연결은 데이터 소스에 액세스하고 상호 작용하는 데 필요한 구성 세부 정보를 저장합니다. 연결이 생성되고 적절한 권한이 부여되면 동일한 실행 역할을 Amazon SageMaker Studio 스페이스 공유하는의 모든 사용자에게 연결이 표시됩니다.
이러한 연결을 만드는 방법:
-
먼저 각 데이터 소스에 대한 연결 속성을 정의하는 JSON 파일을 만듭니다. JSON 파일에는 AWS Glue 연결을 통해 데이터 소스에 액세스하기 위한 데이터 소스 식별자, 액세스 자격 증명 및 기타 관련 구성 파라미터와 같은 세부 정보가 포함되어 있습니다.
-
그런 다음 AWS Command Line Interface (AWS CLI)를 사용하여 AWS Glue 연결을 생성하고 JSON 파일을 파라미터로 전달합니다. AWS CLI 명령은 JSON 파일에서 연결 세부 정보를 읽고 적절한 연결을 설정합니다.
참고
SQL 확장은 AWS CLI 만 사용하여 연결 만들기를 지원합니다.
AWS Glue 연결을 생성하기 전에 다음 단계를 완료해야 합니다.
-
AWS Command Line Interface ()를 설치하고 구성합니다AWS CLI. 설치 및 구성 방법에 대한 자세한 내용은 AWS CLI 버전 2 정보를 AWS CLI참조하세요. 를 구성하는 데 사용되는 IAM 사용자 또는 역할의 액세스 키 및 토큰에 연결을 생성하는 AWS Glue 데 필요한 권한이 AWS CLI 있는지 확인합니다. 없다면
glue:CreateConnection
작업을 허용하는 정책을 추가합니다. -
사용 방법을 이해합니다 AWS Secrets Manager. Secrets Manager를 사용하여 데이터 저장소에 대한 연결 자격 증명 및 기타 민감한 정보를 제공하는 것이 좋습니다. Secrets Manager를 사용하여 자격 증명을 저장하는 방법에 대한 자세한 내용은 AWS Secrets Manager에 연결 자격 증명 저장을 참조하세요.
연결 정의 JSON 파일 만들기
AWS Glue 연결 정의 파일을 생성하려면 JSON 파일을 생성하여를 설치하고 구성한 시스템에 대한 연결 세부 정보를 정의합니다 AWS CLI. 이 예시에서 파일의 이름은 sagemaker-sql-connection.json
이라고 지정합니다.
연결 정의 파일은 다음 일반 형식을 따라야 합니다.
-
Name은 연결의 이름입니다.
-
Description은 연결에 대한 텍스트 설명입니다.
-
ConnectionType은 연결 유형입니다. Choose
REDSHIFT
,ATHENA
, orSNOWFLAKE
. -
ConnectionProperties는 AWS 보안 암호의 ARN 또는 데이터베이스 이름과 같은 연결 속성의 키-값 페어 맵입니다.
{ "ConnectionInput": { "Name": <GLUE_CONNECTION_NAME>, "Description": <GLUE_CONNECTION_DESCRIPTION>, "ConnectionType": "REDSHIFT | ATHENA | SNOWFLAKE", "ConnectionProperties": { "PythonProperties": "{\"aws_secret_arn\": <SECRET_ARN>, \"database\": <...>}" } } }
참고
-
ConnectionProperties
키 내의 속성은 문자열화된 키-값 페어로 구성됩니다. 키 또는 값에 사용된 큰따옴표를 백슬래시(\
) 문자로 이스케이프 처리합니다. -
Secrets Manager에서 사용할 수 있는 모든 속성은
PythonProperties
를 통해 직접 제공할 수도 있습니다. 그러나PythonProperties
에 암호와 같은 민감한 필드를 포함하는 것은 권장되지 않습니다. 대신 Secrets Manager를 사용하는 것이 좋습니다.
각기 다른 데이터 저장소별 연결 정의 파일은 다음 섹션에서 확인할 수 있습니다.
각 데이터 소스의 연결 정의 파일에는 SQL 확장에서 해당 데이터 저장소에 연결하는 데 필요한 특정 속성과 구성이 포함되어 있습니다. 해당 소스에 대한 연결을 정의하는 방법에 대한 자세한 내용은 해당 섹션을 참조하세요.
-
Amazon Redshift에 대한 AWS Glue 연결을 생성하려면의 샘플 정의 파일을 참조하세요Amazon Redshift에 대한 AWS Glue 연결 구성.
-
Amazon Athena에 대한 AWS Glue 연결을 생성하려면의 샘플 정의 파일을 참조하세요Athena에 대한 AWS Glue 연결 구성.
-
Snowflake에 대한 AWS Glue 연결을 생성하려면의 샘플 정의 파일을 참조하세요Snowflake에 대한 AWS Glue 연결 구성.
이 섹션에서는 Amazon Redshift에 고유한 JSON 정의 파일의 보안 암호 및 연결 속성에 대한 세부 정보를 제공합니다. 연결 구성 파일을 만들기 전에 Amazon Redshift 액세스 자격 증명을 Secrets Manager에 보안 암호로 저장하는 것이 좋습니다. 또는 AWS Identity and Access Management (IAM) 권한 정책을 통해 부여된 권한을 기반으로 임시 데이터베이스 자격 증명을 생성하여 사용자가 Amazon Redshift 데이터베이스에 대해 가지고 있는 액세스를 관리할 수 있습니다. 자세한 내용은 IAM 인증을 이용한 데이터베이스 사용자 자격 증명 생성을 참조하세요.
Amazon Redshift 액세스 자격 증명에 대한 보안 암호 만들기
AWS Secrets Manager에 Amazon Redshift 정보를 저장하려면
-
AWS 콘솔에서 Secrets Manager로 이동합니다.
-
새 암호 저장을 선택합니다.
-
보안 암호 유형에서 Amazon Redshift에 대한 자격 증명을 선택합니다.
-
Amazon Redshift 클러스터를 시작할 때 구성된 관리 사용자 이름과 암호를 입력합니다.
-
보안 암호와 연결된 Amazon Redshift 클러스터를 선택합니다.
-
보안 암호의 이름을 지정합니다.
-
나머지 설정은 최초 보안 암호를 만들 때 기본값으로 두거나 필요한 경우 사용자 지정할 수 있습니다.
-
보안 암호를 만들고 ARN을 검색합니다.
Amazon Redshift에 대한 AWS Glue 연결 구성
SQL 확장은 사용자 지정 연결을 사용하여 데이터 소스에 AWS Glue 연결합니다. 데이터 소스를 연결하기 위한 AWS Glue 연결 생성에 대한 일반적인 내용은 섹션을 참조하세요AWS Glue 연결 생성(관리자용). 다음 예제는 Amazon Redshift에 연결하기 위한 샘플 AWS Glue 연결 정의입니다.
새 연결을 만들기 전에 다음 권장 사항을 염두에 두세요.
-
PythonProperties
키 내의 속성은 문자열화된 키-값 페어로 구성됩니다. 키 또는 값에 사용된 큰따옴표를 백슬래시(\
) 문자로 이스케이프 처리합니다. -
연결 정의 파일에 연결의 이름과 설명을 입력하고
aws_secret_arn
의 보안 암호 ARN을 이전에 만든 보안 암호 ARN으로 바꿉니다. -
위의 연결 정의에서 이름으로 선언된 데이터베이스가 클러스터 데이터베이스와 일치하는지 확인합니다. 일치하는지 확인하려면 Amazon Redshift 콘솔
의 클러스터 세부 정보 페이지로 이동하여 속성 섹션의 데이터베이스 구성에서 데이터베이스 이름을 확인하면 됩니다. -
추가 파라미터는 Amazon Redshift 연결 파라미터의 Amazon Redshift에서 지원하는 연결 속성 목록을 참조하세요.
참고
-
기본적으로 Python용 SQL 확장 커넥터는 연결 속성의
auto_commit
이true
로 설정되지 않은 한 트랜잭션의 모든 쿼리를 실행합니다. -
database
이름을 포함한 모든 연결 파라미터를 보안 암호에 추가할 수 있습니다.
-
{ "ConnectionInput": { "Name": "
Redshift connection name
", "Description": "Redshift connection description
", "ConnectionType": "REDSHIFT", "ConnectionProperties": { "PythonProperties":"{\"aws_secret_arn\": \"arn:aws:secretsmanager:region:account_id:secret:secret_name
\", \"database\":\"database_name
\", \"database_metadata_current_db_only\": false}" } } }
정의 파일이 업데이트되면의 단계에 따라 AWS Glue 연결을 AWS Glue 연결 만들기 생성합니다.
이 섹션에서는 Athena에 고유한 JSON 정의 파일의 연결 속성에 대한 세부 정보를 제공합니다.
Athena에 대한 AWS Glue 연결 구성
SQL 확장은 사용자 지정 연결을 사용하여 데이터 소스에 AWS Glue 연결합니다. 데이터 소스를 연결하기 위한 AWS Glue 연결 생성에 대한 일반적인 내용은 섹션을 참조하세요AWS Glue 연결 생성(관리자용). 다음 예제는 Athena에 연결하기 위한 샘플 AWS Glue 연결 정의입니다.
새 연결을 만들기 전에 다음 권장 사항을 염두에 두세요.
-
ConnectionProperties
키 내의 속성은 문자열화된 키-값 페어로 구성됩니다. 키 또는 값에 사용된 큰따옴표를 백슬래시(\
) 문자로 이스케이프 처리합니다. -
연결 정의 파일에서 연결의 이름과 설명을 입력하고,
catalog_name
을 카탈로그의 이름으로 바꾸고,s3_staging_dir
을 Amazon S3 버킷의 출력 디렉터리의 Amazon S3 URI(Uniform Resource Identifier)로 바꾸고,region_name
을 Amazon S3 버킷의 리전으로 바꿉니다. -
추가 파라미터는 Athena 연결 파라미터의 Athena에서 지원하는 연결 속성 목록을 참조하세요.
참고
-
catalog_name
또는s3_staging_dir
을 포함한 모든 연결 파라미터를 보안 암호에 추가할 수 있습니다. -
workgroup
을 지정하는 경우s3_staging_dir
은 지정할 필요가 없습니다.
-
{ "ConnectionInput": { "Name": "
Athena connection name
", "Description": "Athena connection description
", "ConnectionType": "ATHENA", "ConnectionProperties": { "PythonProperties": "{\"catalog_name\": \"catalog_name
\",\"s3_staging_dir\": \"s3://amzn-s3-demo-bucket_in_same_region/output_query_results_dir/
\", \"region_name\": \"region\
"}" } } }
정의 파일이 업데이트되면의 단계에 따라 AWS Glue 연결을 AWS Glue 연결 만들기 생성합니다.
이 섹션에서는 Snowflake에 고유한 JSON 정의 파일의 보안 암호 및 연결 속성에 대한 세부 정보를 제공합니다. 연결 구성 파일을 만들기 전에 Snowflake 액세스 자격 증명을 Secrets Manager에 보안 암호로 저장하는 것이 좋습니다.
Snowflake 액세스 자격 증명에 대한 보안 암호 만들기
Secrets Manager에 Amazon Redshift 정보를 저장하는 방법
-
AWS 콘솔에서 로 이동합니다 AWS Secrets Manager.
-
새 암호 저장을 선택합니다.
-
암호 유형에서 다른 보안 암호 유형을 선택합니다.
-
키-값 페어에서 일반 텍스트를 선택한 후, 다음 JSON 콘텐츠를 복사합니다.
user
,password
및account
를 실제 값으로 바꿉니다.{ "user":"
snowflake_user
", "password":"snowflake_password
", "account":"account_id
" } -
보안 암호의 이름을 지정합니다.
-
나머지 설정은 최초 보안 암호를 만들 때 기본값으로 두거나 필요한 경우 사용자 지정할 수 있습니다.
-
보안 암호를 만들고 ARN을 검색합니다.
Snowflake에 대한 AWS Glue 연결 구성
SQL 확장은 사용자 지정 연결을 사용하여 데이터 소스에 AWS Glue 연결합니다. 데이터 소스를 연결하기 위한 AWS Glue 연결 생성에 대한 일반적인 내용은 섹션을 참조하세요AWS Glue 연결 생성(관리자용). 다음 예제는 Snowflake에 연결하기 위한 샘플 AWS Glue 연결 정의입니다.
새 연결을 만들기 전에 다음 권장 사항을 염두에 두세요.
-
ConnectionProperties
키 내의 속성은 문자열화된 키-값 페어로 구성됩니다. 키 또는 값에 사용된 큰따옴표를 백슬래시(\
) 문자로 이스케이프 처리합니다. -
연결 정의 파일에 연결의 이름과 설명을 입력하고
aws_secret_arn
의 보안 암호 ARN을 이전에 만든 보안 암호 ARN과account
의 계정 ID로 바꿉니다. -
추가 파라미터는 Snowflake 연결 파라미터의 Snowflake에서 지원하는 연결 속성 목록을 참조하세요.
참고
account
를 포함한 모든 연결 파라미터를 보안 암호에 추가할 수 있습니다.
{ "ConnectionInput": { "Name": "
Snowflake connection name
", "Description": "Snowflake connection description
", "ConnectionType": "SNOWFLAKE", "ConnectionProperties": { "PythonProperties": "{\"aws_secret_arn\": \"arn:aws:secretsmanager:region:account_id:secret:secret_name
\", \"account\":\"account_id
\"}"}" } } }
정의 파일이 업데이트되면의 단계에 따라 AWS Glue 연결을 AWS Glue 연결 만들기 생성합니다.
AWS Glue 연결 만들기
를 통해 AWS Glue 연결을 생성하려면 연결 정의 파일을 AWS CLI사용하고이 AWS CLI 명령을 실행합니다. region
자리 표시자를 AWS 리전 이름으로 바꾸고 정의 파일의 로컬 경로를 제공합니다.
참고
구성 정의 파일의 경로 앞에 file://
가 와야 합니다.
aws --region
region
glue create-connection --cli-input-json file://path_to_file/sagemaker-sql-connection.json
다음 명령을 실행하여 AWS Glue 연결이 생성되었는지 확인하고 연결 이름을 확인합니다.
aws --region
region
glue get-connections
또는 다음과 같이 기존 AWS Glue 연결을 업데이트할 수 있습니다.
-
필요에 따라 AWS Glue 연결 정의 파일을 수정합니다.
-
다음 명령을 실행하여 연결을 업데이트합니다.
aws --region
region
glue update-connection --nameglue_connection_name
--cli-input-json file://path_to_file/sagemaker-sql-connection.json