VPC 엔드포인트를 사용한 Amazon S3 데이터 스토어 크롤링 - AWS Glue

VPC 엔드포인트를 사용한 Amazon S3 데이터 스토어 크롤링

Amazon S3 데이터 스토어 또는 Amazon S3 기반 데이터 카탈로그 테이블이 보안, 감사 또는 제어를 위해 Amazon Virtual Private Cloud 환경(Amazon VPC)에 의해서만 액세스되도록 구성할 수 있습니다. 이 주제에서는 Network 연결 유형을 사용하여 VPC 엔드포인트에서 Amazon S3 데이터 스토어 또는 Amazon S3 기반 데이터 카탈로그 테이블에 대한 연결을 생성하고 테스트하는 방법을 설명합니다.

데이터 스토어에서 크롤러를 실행하려면 다음 태스크를 수행합니다.

사전 조건

Amazon S3 데이터 스토어 또는 Amazon S3 기반 데이터 카탈로그 테이블이 Amazon Virtual Private Cloud 환경(Amazon VPC)을 통해 액세스되도록 설정하기 위한 다음과 같은 사전 요구 사항을 충족했는지 확인합니다.

  • 구성된 VPC. 예: vpc-01685961063b0d84b. 자세한 내용은 Amazon VPC 사용 설명서Amazon VPC 시작하기를 참조하세요.

  • VPC에 연결된 Amazon S3 엔드포인트. 예: vpc-01685961063b0d84b. 자세한 내용은 Amazon VPC 사용 설명서Amazon S3용 엔드포인트 정책을 참조하세요.

    
                            VPC에 연결된 Amazon S3 엔드포인트의 예.
  • VPC 엔드포인트를 가리키는 경로 항목. 예: VPC 엔드포인트(vpce-0ec5da4d265227786)에서 사용하는 라우팅 테이블의 vpce-0ec5da4d265227786.

    
                            VPC 엔드포인트를 가리키는 경로 항목의 예.
  • VPC에 연결된 네트워크 ACL은 트래픽을 허용합니다.

  • VPC에 연결된 보안 그룹은 트래픽을 허용합니다.

Amazon S3에 대한 연결 생성

일반적으로 리소스는 퍼블릭 인터넷을 통해 액세스할 수 없도록 Amazon Virtual Private Cloud(Amazon VPC) 내에 생성합니다. 기본적으로 AWS Glue는 VPC 내의 리소스에 액세스할 수 없습니다. AWS Glue가 VPC 내부의 리소스에 액세스할 수 있도록 하려면 VPC 서브넷 ID 및 보안 그룹 ID를 포함하는 추가 VPC별 구성 정보를 제공해야 합니다. Network 연결을 생성하려면 다음 정보를 지정해야 합니다.

  • VPC ID

  • VPC 내의 서브넷

  • 보안 그룹

Network 연결을 설정하려면

  1. AWS Glue 콘솔의 탐색 창에서 [연결 추가(Add connection)]를 선택합니다.

  2. 연결 이름을 입력하고 연결 유형으로 [네트워크(Network)]를 선택합니다. 다음(Next)을 선택합니다.

    
                            연결 유형 선택.
  3. VPC, 서브넷 및 보안 그룹 정보를 구성합니다.

    • VPC: 데이터 스토어를 포함하는 VPC 이름을 선택합니다.

    • 서브넷: VPC 내의 서브넷을 선택합니다.

    • 보안 그룹: VPC의 데이터 스토어에 대한 액세스를 허용하는 하나 이상의 보안 그룹을 선택합니다.

    
                            연결 유형 선택.
  4. 다음(Next)을 선택합니다.

  5. 연결 정보를 확인하고 [마침(Finish)]을 선택합니다.

    
                            연결 유형 선택.

Amazon S3에 대한 연결 테스트

Network 연결을 생성한 후에는 VPC 엔드포인트에서 Amazon S3 데이터 스토어에 대한 연결을 테스트할 수 있습니다.

연결을 테스트할 때 다음 오류가 발생할 수 있습니다.

  • [인터넷 연결 오류(INTERNET CONNECTION ERROR)]: 인터넷 연결 문제를 나타냅니다.

  • [잘못된 버킷 오류(INVALID BUCKET ERROR)]: Amazon S3 버킷에 문제가 있음을 나타냅니다.

  • [S3 연결 오류(S3 CONNECTION ERROR)]: Amazon S3 연결에 실패했음을 나타냅니다.

  • [잘못된 연결 유형(INVALID CONNECTION TYPE)]: 연결 유형에 예상 값 NETWORK가 없음을 나타냅니다.

  • [잘못된 연결 테스트 유형(INVALID CONNECTION TEST TYPE)]: 네트워크 연결 테스트의 유형에 문제가 있음을 나타냅니다.

  • [잘못된 대상(INVALID TARGET)]: Amazon S3 버킷이 제대로 지정되지 않았음을 나타냅니다.

Network 연결을 테스트하려면

  1. AWS Glue 콘솔에서 [네트워크(Network)] 연결을 선택합니다.

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

  3. 이전 단계에서 생성한 IAM 역할을 선택하고 Amazon S3 버킷을 지정합니다.

  4. [연결 테스트(Test connection)]를 선택하여 테스트를 시작합니다. 결과를 표시하는 데 몇 분 정도 걸릴 수 있습니다.


                    연결을 테스트합니다.

오류가 발생하면 다음을 확인합니다.

  • 선택한 역할에 올바른 권한이 제공됩니다.

  • 올바른 Amazon S3 버킷이 제공됩니다.

  • 보안 그룹과 네트워크 ACL은 필요한 수신 및 발신 트래픽을 허용합니다.

  • 지정한 VPC가 Amazon S3 VPC 엔드포인트에 연결되어 있습니다.

연결 테스트에 성공하면 크롤러를 생성할 수 있습니다.

Amazon S3 데이터 스토어의 크롤러 생성

이제 생성한 Network 연결을 지정하는 크롤러를 생성할 수 있습니다. 크롤러 생성에 대한 자세한 내용은 AWS Glue 콘솔에서 크롤러 작업 섹션을 참조하세요.

  1. AWS Glue 콘솔의 탐색 창에서 [크롤러(Crawlers)]를 선택하여 시작합니다.

  2. [Add crawler]를 선택합니다.

  3. 크롤러 이름을 지정하고 [다음(Next)]을 선택합니다.

  4. 데이터 원본을 묻는 메시지가 표시되면 [S3]를 선택하고 Amazon S3 버킷 접두사와 이전에 생성한 연결을 지정합니다.

    
                            연결을 테스트합니다.
  5. 필요한 경우 동일한 네트워크 연결에 다른 데이터 스토어를 추가합니다.

  6. IAM 역할을 선택합니다. IAM 역할은 AWS Glue 서비스 및 Amazon S3 버킷에 대한 액세스를 허용해야 합니다. 자세한 정보는 AWS Glue 콘솔에서 크롤러 작업을 참조하십시오.

    
                            연결을 테스트합니다.
  7. 크롤러의 일정을 정의합니다.

  8. Data Catalog에서 기존 데이터베이스를 선택하거나 새 데이터베이스 항목을 생성합니다.

    
                            연결을 테스트합니다.
  9. 나머지 설정을 완료합니다.

Amazon S3 기반 데이터 카탈로그 테이블의 크롤러 생성

이제 앞에서 생성한 Network 연결과 카탈로그 소스 유형을 지정하는 크롤러를 생성할 수 있습니다. 크롤러 생성에 대한 자세한 내용은 AWS Glue 콘솔에서 크롤러 작업 섹션을 참조하세요.

  1. AWS Glue 콘솔의 탐색 창에서 [크롤러(Crawlers)]를 선택하여 시작합니다.

  2. [Add crawler]를 선택합니다.

  3. 크롤러 이름을 지정하고 [다음(Next)]을 선택합니다.

  4. 크롤러 소스 유형을 묻는 메시지가 표시되면 Existing catalog tables(기존 카탈로그 테이블)를 선택한 후 Available Tables(사용 가능한 테이블) 목록에서 크롤링할 기존 카탈로그 테이블을 지정합니다.

    
                            크롤러 소스 유형 선택.
  5. IAM 역할을 선택합니다. IAM 역할은 AWS Glue 서비스 및 Amazon S3 버킷에 대한 액세스를 허용해야 합니다. 자세한 정보는 AWS Glue 콘솔에서 크롤러 작업을 참조하십시오.

  6. 크롤러의 일정을 정의합니다.

  7. Data Catalog에서 기존 데이터베이스를 선택하거나 새 데이터베이스 항목을 생성합니다.

  8. 나머지 설정을 완료하고 단계를 검토합니다.

    
                            크롤러 소스 유형 선택.

크롤러 실행

크롤러를 실행합니다.


                    온디맨드로 크롤러 실행.

문제 해결

VPC 게이트웨이를 사용하는 Amazon S3 버킷과 관련된 문제 해결은 왜 게이트웨이 VPC 엔드포인트를 사용하여 S3 버킷에 연결할 수 없나요?를 참조하세요.