Amazon Athena AWS CMDB 커넥터
Amazon Athena AWS CMDB 커넥터를 통해 Athena는 다양한 AWS 서비스와 통신할 수 있고, 이로써 SQL을 사용하여 쿼리할 수 있습니다.
사전 조건
Athena 콘솔 또는 AWS Serverless Application Repository를 사용하여 AWS 계정에 커넥터를 배포합니다. 자세한 내용은 데이터 소스 커넥터 배포 또는 AWS Serverless Application Repository을 사용하여 데이터 소스 커넥터 배포을 참조하세요.
파라미터
이 섹션의 Lambda 환경 변수를 사용하여 AWS CMDB 커넥터를 구성합니다.
-
spill_bucket – Lambda 함수 제한을 초과하는 데이터에 대한 Amazon S3 버킷을 지정합니다.
-
spill_prefix – (선택 사항) 기본값은
athena-federation-spill
이라는 지정된spill_bucket
의 하위 폴더입니다. 미리 정해진 일 수 또는 시간보다 오래된 유출을 삭제하려면 이 위치에서 Amazon S3 스토리지 수명 주기를 구성하는 것이 좋습니다. -
spill_put_request_headers – (선택 사항) 유출에 사용되는 Amazon S3
putObject
요청에 대한 요청 헤더 및 값의 JSON 인코딩 맵입니다(예:{"x-amz-server-side-encryption" : "AES256"}
). 다른 가능한 헤더를 알아보려면 Amazon Simple Storage Service API Reference(Amazon Simple Storage Service API 참조)의 PutObject를 참조하세요. -
kms_key_id – (선택 사항) 기본적으로 Amazon S3로 유출된 모든 데이터는 AES-GCM 인증 암호화 모드와 임의로 생성된 키를 사용하여 암호화됩니다. Lambda 함수가
a7e63k4b-8loc-40db-a2a1-4d0en2cd8331
과 같이 KMS에서 생성된 더 강력한 암호화 키를 사용하도록 하려면 KMS 키 ID를 지정합니다. -
disable_spill_encryption – (선택 사항)
True
로 설정하면 유출 암호화가 비활성화됩니다. S3로 유출되는 데이터가 AES-GCM을 사용하여 암호화되도록 기본값은False
입니다(임의로 생성된 키 또는 KMS를 사용하여 키 생성). 유출 암호화를 비활성화하면 특히 유출 위치가 서버 측 암호화를 사용하는 경우 성능이 향상될 수 있습니다. -
default_ec2_image_owner – (선택 사항) 설정하면 Amazon Machine Image(AMI)를 필터링하는 기본 Amazon EC2 이미지 소유자를 제어합니다. 이 값을 설정하지 않고 EC2 이미지 테이블에 대한 쿼리에 소유자 필터가 포함되어 있지 않으면 결과에 모든 공개 이미지가 포함됩니다.
데이터베이스 및 테이블
Athena AWS CMDB 커넥터를 통해 AWS 리소스 인벤토리를 쿼리하는 데 다음 데이터베이스와 테이블을 사용할 수 있습니다. 각 테이블에서 사용 가능한 열에 대한 자세한 내용을 보려면 Athena 콘솔 또는 API를 사용하여 DESCRIBE
문을 실행합니다.database
.table
-
ec2 – 이 데이터베이스는 다음을 비롯한 Amazon EC2 관련 리소스를 포함합니다.
-
ebs_volumes – Amazon EBS 볼륨의 세부 정보를 포함합니다.
-
ec2_instances – EC2 인스턴스의 세부 정보를 포함합니다.
-
ec2_images – EC2 인스턴스 이미지의 세부 정보를 포함합니다.
-
routing_tables – VPC 라우팅 테이블의 세부 정보를 포함합니다.
-
security_groups – 보안 그룹의 세부 정보를 포함합니다.
-
subnets – VPC 서브넷의 세부 정보를 포함합니다.
-
vpcs – VPC의 세부 정보를 포함합니다.
-
emr – 이 데이터베이스는 다음을 비롯한 Amazon EMR 관련 리소스를 포함합니다.
-
emr_clusters – EMR 클러스터의 세부 정보를 포함합니다.
-
rds – 이 데이터베이스는 다음을 비롯한 Amazon RDS 관련 리소스를 포함합니다.
-
rds_instances – RDS 인스턴스의 세부 정보를 포함합니다.
-
s3 – 이 데이터베이스는 다음을 비롯한 RDS 관련 리소스를 포함합니다.
-
buckets – Amazon S3 버킷의 세부 정보를 포함합니다.
-
objects – 콘텐츠를 제외한 Amazon S3 객체의 세부 정보를 포함합니다.
필수 권한
이 커넥터에 필요한 IAM 정책에 대한 자세한 내용을 알아보려면 athena-aws-cmdb.yamlPolicies
섹션을 검토하세요. 다음 목록에 필요한 권한이 요약되어 있습니다.
-
Amazon S3 쓰기 액세스 - 대규모 쿼리의 결과 유출을 위해서는 커넥터에 Amazon S3 위치에 대한 쓰기 액세스 권한이 필요합니다.
-
Athena GetQueryExecution - 커넥터는 업스트림 Athena 쿼리가 종료된 경우 이 권한을 사용하여 빠른 실패를 수행합니다.
-
S3 List – 커넥터는 이 권한을 사용하여 Amazon S3 버킷 및 객체를 나열합니다.
-
EC2 Describe – 커넥터는 이 권한을 사용하여 Amazon EC2 인스턴스, 보안 그룹, VPC 및 Amazon EBS 볼륨과 같은 리소스를 설명합니다.
-
EMR Describe/List – 커넥터는 이 권한을 사용하여 EMR 클러스터를 설명합니다.
-
RDS Describe – 커넥터는 이 권한을 사용하여 RDS 인스턴스를 설명합니다.
성능
현재 Athena AWS CMDB 커넥터는 병렬 스캔을 지원하지 않습니다. 조건자 푸시다운은 Lambda 함수 내에서 수행됩니다. 가능한 경우 부분 조건자는 쿼리 중인 서비스로 푸시됩니다. 예를 들어, 특정 Amazon EC2 인스턴스의 세부 정보에 대한 쿼리는 특정 인스턴스 ID로 EC2 API를 호출하여 대상 설명 작업을 실행합니다.
라이선스 정보
Amazon Athena AWS CMDB 커넥터 프로젝트는 Apache-2.0 라이선스
추가 리소스
이 커넥터에 대한 추가 정보를 알아보려면 GitHub.com의 해당 사이트