CloudQuery를 통해서 할 수 있는 일은 SQL을 통해서 인프라 관리가 가능합니다.
Download and Install
$ brew install cloudquery/tap/cloudquery
Shell
복사
초기화 명령을 통해서 CloudQuery를 설치한 후 사용하려는 Cloud CSP간에 초기화 파일을 생성해야 합니다.
$ cloudquery init aws
$ cloudquery init --help 명령을 통해서 도움말 확인 가능합니다.
Shell
복사
Docker로 로컬 데이터베이스 생성
$ docker run --name cloudquery_postgres -p 5432:5432 -e POSTGRES_PASSWORD=<password> -d postgres
Shell
복사
AWS에 인증하는 방법
기본적으로 CloudQuery에는 읽기 권한으로 대부분 동작시킬 수 있지만 좀 더 세세한 설정도 가능합니다.
관련 내용으로는 아래 링크 참고하세요.
https://alestic.com/2015/10/aws-iam-readonly-too-permissive/
인증하는 방법 여러가지 중 AWS 자격 증명 공급자 방식을 권장하고 있고 인증을 시도할 때 우선 순위가 있습니다.
- AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY 및 AWS_SESSION_TOKEN
- ~/.aws/credentials 및 config
- EC2, Farget, ECS 자체 IAM 역할
아래의 방식으로 설정이 가능합니다.
$ aws configure
or
$ export AWS_ACCESS_KEY_ID
$ export AWS_SECRET_ACCESS_KEY
$ export AWS_SESSION_TOKEY
Shell
복사
config.hcl 파일이 생성된 이후에 aws 인증을 통과하면 fetch 명령을 통해서 리소스를 가져올 수 있습니다.
$ cloudquery fetch
Shell
복사
쿼리 탐색 및 실행하는 방법은 CloudQuery가 리소스를 정상적으로 가져왔으면 SQL을 통해서 인프라 정보
확인이 가능합니다.
$ docker exec -it cloudquery_postgres psql -U postgres
Shell
복사
예를 들면 아래와 같이 조회할 수 있습니다.
select * from aws_ec2_images;
select * from aws_elbv2_load_balancers where scheme='internet-facing';
select name, region, account_id, status from aws_autoscaling_groups;
SQL
복사