CloudShell에서 SQL로 AWS를 즉시 쿼리

AWS CloudShell을 사용하면 AWS 계정에서 바로 터미널을 쉽게 가동할 수 있습니다. CloudShell은 해당 계정 내에서 AWS CLI 및 자격 증명과 함께 사전 설치되어 제공됩니다. CloudShell은 다른 터미널과 같기 때문에 인스턴스를 가동할 필요 없이 다른 도구를 부트스트랩할 수 있습니다. 저는 개인적으로 CloudShell이 ​​AWS CLI 또는 다른 오픈 소스 도구와 함께 수행해야 하는 임시 작업에 유용하다고 생각합니다.

오픈 소스 도구인 Steampipe.io의 책임자로서 저는 AWS 다중 계정 환경 및 기타 클라우드 계정에서 집계된 쿼리 및 보고서를 실행하기 위해 종종 로컬 컴퓨터에서 Steampipe를 실행하는 Steampipe CLI를 많이 사용합니다. 고객의 AWS 계정에서 작업할 때 계정 구조 내에서 작업하는 것보다 로컬 프로필을 설정하는 것이 더 쉽다는 것을 알게 되었습니다. 이 경우 AWS CloudShell이 ​​다른 계정의 게스트가 되어 그들이 통제하는 임시 환경에서 내 도구를 부트스트랩하는 것이 빠른 승리라는 것을 알았습니다.

이 게시물에서는 AWS CloudShell에 Steampipe를 설치하는 방법을 안내합니다.

Steampipe 배경



Steampipe를 사용하면 터미널에서 바로 SQL을 사용하여 AWS API를 즉시 쿼리할 수 있습니다.

select
  title,
  create_date,
  mfa_enabled
from
  aws_iam_user

+-----------------+---------------------+-------------+
| title           | create_date         | mfa_enabled |
+-----------------+---------------------+-------------+
| pam_beesly      | 2005-03-24 21:30:00 | false       |
| creed_bratton   | 2005-03-24 21:30:00 | true        |
| stanley_hudson  | 2005-03-24 21:30:00 | false       |
| michael_scott   | 2005-03-24 21:30:00 | false       |
| dwight_schrute  | 2005-03-24 21:30:00 | true        |
+-----------------+---------------------+-------------+


AWS API 호출을 install Steampipe에 매핑하는 AWS plugin과 함께 Postgres tables 자체에 몇 초 밖에 걸리지 않습니다.

Steampipe는 AWS CLI와 동일한 메커니즘(AWS 환경 변수, 기본 프로필 등)을 사용하여 지역 및 자격 증명을 확인합니다. 참고: 여러 계정, 리전 쿼리, AWS 프로필, SSO, aws-vault 등에서 자격 증명 구성을 위해 추가로 확장할 수 있습니다.

AWS CloudShell + 스팀파이프



또는 CloudShell을 사용하여 AWS 계정에 직접 Steampipe를 설치할 수 있습니다. CloudShell을 사용하면 AWS 콘솔에 로그인하는 데 사용하는 자격 증명이 이미 CloudShell로 전달됩니다. Steampipe는 기본적으로 로컬 AWS 자격 증명을 사용하므로 콜드 스타트에서 몇 초 만에 SQL로 AWS API를 쿼리할 수 있습니다.

CloudShell에 Steampipe 설치



AWS CloudShell로 이동하여 Steampipe를 설치합니다.

$ sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/turbot/steampipe/main/install.sh)"
...
Installing
Applying necessary permissions
Steampipe was installed successfully to /usr/local/bin/steampipe


AWS 플러그인 설치



이제 Steampipe가 설치되었으므로 AWS 플러그인을 설치할 수 있습니다.

$ steampipe plugin install aws

Installed plugin: aws v0.57.0
Documentation:    https://hub.steampipe.io/plugins/turbot/aws


SQL 쿼리를 실행하세요!



이제 SQL 쿼리를 실행할 준비가 되었습니다. CloudShell에는 이미 자격 증명이 있으므로 간단히 시작할 수 있습니다.

$ steampipe query
Welcome to Steampipe v0.13.6
For more information, type .help
> select * from aws_s3_bucket
+--------------------------------------+
| name                                 |
+--------------------------------------+
| jon-turbot-test-bucket-01            |
| cf-templates-1s5tzrjxv4j52-us-west-1 |
+--------------------------------------+


CloudShell은 Steampipe CLI 구성 요소를 최대한 활용하므로 테이블 검사, 환경 변수 구성, 구문 강조 표시 시각화, 자동 채우기 제안 선택 등을 수행할 수 있습니다.



마지막 생각들



저는 특정 AWS 계정 내에서 AWS CLI 및 Steampipe를 사용한 임시 작업에 AWS CloudShell을 사용하는 것을 즐깁니다. 귀하의 환경에서 CloudShell을 사용하는 방법에 대해 다른 사람들로부터 배우고 싶습니다. 사용 사례는 무엇이며 CloudShell을 얼마나 자주 사용합니까?

좋은 웹페이지 즐겨찾기