아마존 퀵 사이트 확장 가능한 서버리스 머신 러닝(ML) 기반 비즈니스 인텔리전스(BI) 솔루션으로 데이터에 쉽게 연결하고, 대화형 대시보드를 생성하고, ML 지원 인사이트에 액세스하고, 시각적 개체 및 대시보드를 수만 명과 공유할 수 있습니다. QuickSight 자체 내에서 또는 모든 애플리케이션에 내장된 내부 및 외부 사용자.
쓰기 저장은 BI 대시보드 내에서 데이터 마트, 데이터 웨어하우스 또는 기타 데이터베이스 백엔드를 업데이트하고 업데이트된 데이터를 대시보드 자체 내에서 거의 실시간으로 분석하는 기능입니다. 이 게시물에서는 QuickSight를 사용하여 안전한 데이터베이스 쓰기 저장을 수행하는 방법을 보여줍니다.
사용 사례 개요
QuickSight로 다시 쓰기 기능을 활성화하는 방법을 보여주기 위해 가상의 회사인 AnyCompany Inc를 가정해 보겠습니다. AnyCompany는 고객에게 인력 솔루션을 전문적으로 제공하는 전문 서비스 회사입니다. AnyCompany는 증가하는 글로벌 비즈니스 요구 사항을 지원하기 위해 클라우드에서 워크로드를 실행하는 것이 경쟁 우위를 점하고 클라우드를 사용하여 모든 워크로드를 호스팅한다고 판단했습니다. AnyCompany는 지점에서 고객에게 견적을 제공하는 방식을 개선하기로 결정했습니다. 현재 지사는 고객 견적을 수동으로 생성하고 있으며, 이 혁신 여정의 첫 번째 단계로 AnyCompany는 견적 생성 시 현지 가격 데이터를 동적으로 적용할 수 있는 기능을 갖춘 고객 견적 생성을 위한 엔터프라이즈 솔루션을 개발하려고 합니다.
현재 AnyCompany에서 사용하는 아마존 레드 시프트 엔터프라이즈 데이터 웨어하우스 플랫폼으로, QuickSight를 BI 솔루션으로 사용합니다.
새로운 솔루션을 구축하려면 다음과 같은 과제가 따릅니다.
- AnyCompany는 구축 및 유지 관리가 쉬운 솔루션을 원하며 별도의 사용자 인터페이스 구축에 투자하기를 원하지 않습니다.
- AnyCompany는 견적 생성 및 견적 승인도 가능하도록 기존 QuickSight BI 대시보드의 기능을 확장하고자 합니다. 직원들이 이미 QuickSight 대시보드를 사용하고 있고 QuickSight가 제공하는 사용하기 쉬운 인터페이스를 즐기기 때문에 이렇게 하면 기능 롤아웃이 간소화됩니다.
- AnyCompany는 생성, 검토 및 수락된 견적을 포함하는 견적 협상 내역을 저장하려고 합니다.
- AnyCompany는 분석 및 비즈니스 통찰력을 위한 견적 내역 데이터가 포함된 새로운 대시보드를 구축하고자 합니다.
이 게시물에서는 QuickSight에서 Amazon Redshift로 다시 쓰기 기능을 활성화하는 단계를 살펴봅니다. 기존 BI 도구는 원본 데이터를 업데이트하는 옵션이 거의 없거나 전혀 없는 읽기 전용입니다.
솔루션 개요
이 솔루션은 다음 AWS 서비스를 사용합니다.
- 아마존 API 게이트웨이 – QuickSight에서 호출할 후기입 REST API를 호스팅하고 보호합니다.
- AWS 람다 – 해시를 생성하는 데 필요한 계산 기능과 다시 쓰기를 안전하게 수행하는 두 번째 기능을 실행합니다.
- 아마존 퀵 사이트 – BI 대시보드 및 견적 생성 기능 제공
- 아마존 레드 시프트 – 시세, 가격 및 기타 관련 데이터 세트 저장
- AWS 비밀 관리자 – 서명 해시(메시지 다이제스트)를 위한 키 저장 및 관리
이 솔루션은 Amazon Redshift를 데이터 저장소로 사용하지만 Lambda를 호출할 수 있는 사용자 정의 함수(UDF) 생성을 지원하는 모든 데이터베이스에서 유사한 접근 방식을 구현할 수 있습니다.
다음 그림은 QuickSight에서 다시 쓰기를 수행하는 워크플로우를 보여줍니다.
솔루션의 첫 번째 단계는 Lambda 함수를 호출하여 Amazon Redshift에서 속성 세트의 해시 또는 메시지 다이제스트를 생성하는 것입니다. 이 단계는 요청 변조를 방지합니다. 해시를 생성하기 위해 Amazon Redshift는 스칼라 람다 UDF. 여기에 사용된 해싱 메커니즘은 널리 사용되는 블레이크 2 함수(Python 라이브러리에서 사용 가능) 해시립). 해시를 더욱 안전하게 보호하기 위해 더 빠르고 간단한 대안인 키 해시가 사용됩니다. 해시 기반 메시지 인증 코드 (HMAC). 이 키는 Secrets Manager에서 생성하고 저장하며 허용된 애플리케이션에서만 액세스할 수 있어야 합니다. 보안 해시가 생성되면 Amazon Redshift로 반환되고 Amazon Redshift 보기에서 결합됩니다.
생성된 견적을 다시 Amazon Redshift에 쓰는 작업은 후기입 Lambda 함수에 의해 수행되며 요청을 보호하고 후기입 기능에 전달하기 위해 API Gateway REST API 엔드포인트가 생성됩니다. 쓰기 되돌림 기능은 다음 작업을 수행합니다.
- QuickSight에서 받은 API 입력 매개변수를 기반으로 해시를 생성합니다.
- Secrets Manager의 키를 적용하여 해시에 서명합니다.
- 다음에서 사용할 수 있는 compare_digest 메서드를 사용하여 생성된 해시와 입력 매개 변수에서 받은 해시를 비교합니다. HMAC 기준 치수.
- 확인에 성공하면 Amazon Redshift의 견적 제출 테이블에 레코드를 씁니다.
다음 섹션에서는 샘플 페이로드 및 코드 스니펫과 함께 자세한 단계를 제공합니다.
해시 생성
해시는 Amazon Redshift에서 Lambda UDF를 사용하여 생성됩니다. 또한 Secrets Manager 키는 해시 서명에 사용됩니다. 해시를 생성하려면 다음 단계를 완료하십시오.
- Secrets Manager 키를 생성합니다. AWS 명령 줄 인터페이스 (AWS CLI):
- 암호화를 위한 해시를 생성하는 Lambda UDF를 생성합니다.
- Lambda 함수를 호출하여 해시를 생성하도록 Amazon Redshift UDF를 정의합니다.
XNUMXD덴탈의 AWS 자격 증명 및 액세스 관리 이전 단계의 (IAM) 역할에는 Lambda 함수를 호출할 수 있도록 다음 정책이 연결되어 있어야 합니다.
- Secrets Manager에서 키를 가져옵니다.
이 키는 Lambda 함수에서 해시를 추가로 보호하는 데 사용됩니다. 이것은 get_secret 2단계의 기능.
QuickSight에서 Amazon Redshift 데이터 세트 설정
견적 생성 대시보드는 다음 Amazon Redshift 보기를 사용합니다.
해시 열과 함께 앞의 모든 열을 사용하는 Amazon Redshift 보기를 생성합니다.
레코드는 다음 스크린샷과 같습니다.
이전 보기는 견적을 생성하기 위한 QuickSight 데이터 세트로 사용됩니다. 데이터 세트를 사용하여 QuickSight 분석이 생성됩니다. 실시간에 가까운 분석을 위해 QuickSight 직접 쿼리 모드를 사용할 수 있습니다.
API 게이트웨이 리소스 생성
쓰기 되돌림 작업은 Lambda 쓰기 되돌림 기능을 호출하는 API 게이트웨이 리소스를 호출하는 QuickSight에 의해 시작됩니다. 쓰기 되돌림 API를 호출하기 위해 QuickSight에서 계산된 필드를 생성하기 위한 전제 조건으로 먼저 이러한 리소스를 생성해야 합니다.
API Gateway는 매핑 템플릿을 사용하여 URL 쿼리 문자열 매개변수로 생성된 매개변수를 사용하여 쓰기 되돌림 Lambda 함수를 보호하고 호출합니다. Lambda 프록시 통합을 사용하면 매핑 매개변수를 피할 수 있습니다.
Lambda 함수(다음 단계에서 생성됨)를 통합 유형으로 사용하는 메서드 유형 GET의 REST API 리소스를 생성합니다. 지침은 다음을 참조하십시오. Amazon API Gateway에서 REST API 생성 및 API Gateway에서 Lambda 통합 설정.
다음 스크린샷은 API Gateway에 전달되는 각 파라미터에 대한 쿼리 문자열 파라미터 생성에 대한 세부 정보를 보여줍니다.
다음 스크린샷은 API Gateway에 전달된 각 파라미터에 대한 매핑 템플릿 파라미터 생성에 대한 세부 정보를 보여줍니다.
Lambda 함수 생성
API Gateway가 호출할 새 Lambda 함수를 생성합니다. Lambda 함수는 다음 단계를 수행합니다.
- API 게이트웨이를 통해 QuickSight에서 매개변수를 수신하고 연결된 매개변수를 해시합니다.
다음 코드 예제는 Lambda 함수의 이벤트 객체를 사용하여 API Gateway 호출에서 매개변수를 검색합니다.
이 함수는 다음과 같이 해싱 논리를 수행합니다. 해시 생성 QuickSight에서 전달한 연결된 매개변수를 사용하여 이전 단계를 수행합니다.
- 해시된 출력을 해시 매개변수와 비교하십시오.
일치하지 않으면 쓰기 되돌림이 발생하지 않습니다.
- 해시가 일치하면 다시 쓰기를 수행합니다. QuickSight에서 전달된 매개변수를 사용하여 테이블에서 쿼리를 생성하여 견적 생성 테이블에 레코드가 있는지 확인합니다.
- 쿼리 결과에 따라 다음 작업을 완료합니다.
- 이전 조합에 대한 레코드가 없으면 상태가 생성된 모든 매개변수를 사용하여 삽입 쿼리를 생성하고 실행합니다.
- 이전 조합에 대한 레코드가 있는 경우 검토 중 상태로 삽입 쿼리를 생성하고 실행합니다. 기존 조합의 quote_Id가 재사용됩니다.
QuickSight 시각적 개체 만들기
이 단계에는 계산된 필드를 사용하여 파라미터를 API Gateway에 전달하고 이전 Lambda 함수를 호출하는 테이블 시각적 개체를 생성하는 작업이 포함됩니다.
- 견적 내역을 Amazon Redshift에 다시 쓰기 위해 트리거될 API Gateway 호스팅 URL을 보관할 견적 생성이라는 QuickSight 계산 필드를 추가합니다.
- QuickSight 테이블 시각적 개체를 만듭니다.
- 고객, 기술 및 비용과 같은 필수 필드를 추가합니다.
- Generate Quote 계산 필드를 추가하고 하이퍼링크로 스타일을 지정합니다.
이 링크를 선택하면 레코드가 Amazon Redshift에 기록됩니다. 이는 Lambda 함수가 매개 변수에 대한 해시를 수행할 때 반환되는 동일한 해시 값에 적용됩니다.
다음 스크린샷은 샘플 테이블 시각적 개체를 보여줍니다.
Amazon Redshift 데이터베이스에 쓰기
Secrets Manager 키는 비교를 위한 해시를 생성하기 위해 Lambda 함수에서 가져오고 사용합니다. 쓰기 되돌림은 해시가 매개변수에 전달된 해시와 일치하는 경우에만 수행됩니다.
다음 Amazon Redshift 테이블은 Lambda 함수로 채워진 견적 내역을 캡처합니다. 녹색 레코드는 견적에 대한 가장 최근 레코드를 나타냅니다.
고려 사항 및 다음 단계
보안 해시를 사용하면 쓰기 되돌림 URL이 호출될 때 브라우저 창에 표시되는 페이로드 매개변수의 변조를 방지할 수 있습니다. 후기입 URL의 보안을 강화하기 위해 다음 기술을 사용할 수 있습니다.
- QuickSight 사용자만 액세스할 수 있는 프라이빗 VPC에 REST API를 배포합니다.
- 재생 공격을 방지하기 위해 해싱 함수와 함께 타임스탬프를 생성하고 후기입 URL에 추가 매개변수로 전달할 수 있습니다. 그런 다음 특정 시간 기반 임계값 내에서만 쓰기 되돌림을 허용하도록 백엔드 Lambda 함수를 수정할 수 있습니다.
- API 게이트웨이 따르기 컨트롤에 액세스 및 보안 모범 사례.
- 완화 공용 API에 대한 잠재적인 서비스 거부.
후기입 URL이 열릴 때 웹 기반 양식을 렌더링하도록 이 솔루션을 더욱 향상시킬 수 있습니다. 이는 추가 정보 입력을 지원하기 위해 백엔드 Lambda 함수에서 HTML 양식을 동적으로 생성하여 구현할 수 있습니다. 워크로드에 더 높은 처리량 또는 동시성이 필요한 많은 수의 쓰기 되돌림이 필요한 경우 다음과 같은 목적으로 구축된 데이터 저장소 Amazon Aurora PostgreSQL 호환 에디션 더 나은 선택이 될 수 있습니다. 자세한 내용은 다음을 참조하십시오. Aurora PostgreSQL DB 클러스터에서 AWS Lambda 함수 호출. 그런 다음 이러한 업데이트를 다음을 사용하여 Amazon Redshift 테이블로 동기화할 수 있습니다. 연합 쿼리.
결론
이 게시물에서는 Lambda, API Gateway, Secrets Manager 및 Amazon Redshift와 함께 QuickSight를 사용하여 QuickSight BI 환경을 벗어나지 않고 사용자 입력 데이터를 캡처하고 Amazon Redshift 데이터 웨어하우스를 안전하게 업데이트하는 방법을 보여주었습니다. 이 솔루션은 데이터베이스 업데이트 또는 삽입 작업을 위한 외부 애플리케이션 또는 사용자 인터페이스를 생성할 필요가 없으며 관련 개발 및 유지 관리 오버헤드를 줄입니다. QuickSight에서 발생하는 호출만 API Gateway에서 수락하도록 하기 위해 키 또는 토큰을 사용하여 API Gateway 호출을 보호할 수도 있습니다. 이에 대해서는 후속 게시물에서 다룰 예정입니다.
저자에 관하여
스리칸트 바헤티 Amazon QuickSight의 전문 월드 와이드 수석 솔루션 아키텍트입니다. 그는 컨설턴트로 경력을 시작했으며 여러 민간 및 정부 기관에서 근무했습니다. 나중에 그는 PerkinElmer Health and Sciences & eResearch Technology Inc에서 일하면서 트래픽이 많은 웹 애플리케이션, AWS 서비스 및 서버리스 컴퓨팅을 사용하는 보고 플랫폼을 위한 고도로 확장 가능하고 유지 관리 가능한 데이터 파이프라인의 설계 및 개발을 담당했습니다.
라지 시바수브라마니암 분석에 중점을 둔 AWS의 수석 솔루션 설계자입니다. Raji는 전 세계 Fortune 500대 기업 및 Fortune 100대 기업을 위한 종단 간 엔터프라이즈 데이터 관리, 비즈니스 인텔리전스 및 분석 솔루션 설계를 전문으로 합니다. 그녀는 관리 시장, 의사 타겟팅 및 환자 분석을 비롯한 다양한 의료 데이터 세트를 통해 통합 의료 데이터 및 분석에 대한 심층적인 경험을 보유하고 있습니다.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- PlatoAiStream. Web3 데이터 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 미래 만들기 w Adryenn Ashley. 여기에서 액세스하십시오.
- PREIPO®로 PRE-IPO 회사의 주식을 사고 팔 수 있습니다. 여기에서 액세스하십시오.
- 출처: https://aws.amazon.com/blogs/big-data/perform-secure-database-write-backs-with-amazon-quicksight/
- :있다
- :이다
- :어디
- $UP
- 100
- 11
- 13
- 22
- 500
- 7
- 8
- 9
- a
- 능력
- 할 수 있는
- 수락
- 접수
- ACCESS
- 얻기 쉬운
- 가로질러
- 동작
- 행위
- 추가
- 추가 정보
- 또한
- 이점
- 후
- All
- 수
- 따라
- 함께
- 이미
- 또한
- 대안
- 아마존
- 아마존 퀵 사이트
- an
- 분석
- 분석
- 분석하다
- 및
- 어떤
- API를
- API
- 어플리케이션
- 어플리케이션
- 신청
- 적용
- 접근
- 있군요
- 논의
- 인수
- AS
- At
- 공격
- 속성
- 오로라
- 인증
- 가능
- 피하는
- AWS
- AWS 람다
- 뒤로
- 백엔드
- 기반으로
- BE
- 때문에
- BEST
- 모범 사례
- 더 나은
- 가지
- 브라우저
- 빌드
- 건물
- 사업
- 비즈니스 인텔리전스
- by
- 계산 된
- 전화
- 통화
- CAN
- 기능
- 포착
- 채용
- 케이스
- 어떤
- 과제
- 검사
- 선택
- 클라이언트
- 클라우드
- 암호
- 단
- 열
- 결합
- 결합 된
- 제공
- 기업
- 회사
- 비교
- 경쟁력
- 완전한
- 계산
- 컴퓨팅
- 연결하기
- 고려
- 컨설턴트
- 문맥
- 비용
- 수
- 적용
- 만들
- 만든
- 만들기
- 현재
- 고객
- 고객
- 계기반
- 데이터
- 데이터 관리
- 데이터웨어 하우스
- 데이터베이스
- 데이터 세트
- 결정된
- 태만
- 보여
- 서비스 거부
- 설계
- 상세한
- 세부설명
- 결정된
- 개발
- 개발
- 개발
- 요람
- 곧장
- 말라
- 역동적 인
- e
- 마다
- 이전
- 쉽게
- 사용하기 쉬운
- 효과
- 중
- 거림
- 임베디드
- 직원
- 가능
- 암호화
- 끝으로 종료
- 종점
- 강화
- 즐겨
- 확인
- Enterprise
- 환경
- 에테르 (ETH)
- 이벤트
- 예
- 외
- 예외
- 현존하는
- 존재
- 경험
- 확장
- 외부
- 그릇된
- 빠른
- 특색
- 가져옴
- 꾸며낸
- 들
- Fields
- 그림
- 굳은
- 먼저,
- 초점
- 수행원
- 럭셔리
- 형태
- 운
- 에
- 기능
- 기능
- 기능
- 추가
- 게이트웨이
- 생성
- 생성
- 생성
- 세대
- 얻을
- 글로벌
- 글로벌 비즈니스
- 공
- 간다
- Government
- 초록색
- 성장하는
- 핸들
- 발생
- 해시
- 해시
- 해싱
- 있다
- he
- 건강
- 건강 관리
- 여기에서 지금 확인해 보세요.
- 높은
- 더 높은
- 고도로
- 그의
- history
- 보유
- 주인
- 호스팅
- 호스트
- 방법
- How To
- HTML
- HTTP
- HTTPS
- IAM
- 통합 인증
- if
- 구현
- import
- in
- 심도
- 주식 회사
- 포함
- 포함
- 쑥 내민
- 표시된
- 정보
- 혁신
- 입력
- 통찰력
- 명령
- 통합 된
- 완성
- 통합
- 인텔리전스
- 대화형
- 인터페이스
- 내부의
- 으로
- 사다
- 호출
- 호출
- IT
- 그
- 그 자체
- 여행
- JPG
- JSON
- 키
- 키
- 후에
- 배우기
- 출발
- 도서관
- 처럼
- 라인
- LINK
- 작은
- 지방의
- 논리
- 보기
- 같이
- 찾고
- 기계
- 기계 학습
- 유지하다
- 유지보수 가능
- 유지
- 제작
- 관리
- 구축
- 매니저
- 관리하다
- 수동으로
- 매핑
- 시장
- 경기
- 기구
- 메시지
- 방법
- 수도
- ML
- 모드
- 수정
- 모듈
- 배우기
- 가장
- 여러
- 절대로 필요한 것
- 이름
- 필요
- 요구
- 신제품
- 새로운 솔루션
- 다음 것
- 아니
- 번호
- 대상
- of
- 제공
- on
- 만
- 오픈
- 조작
- 행정부
- 옵션
- or
- 조직
- 기타
- 출력
- 매개 변수
- 매개 변수
- 패스
- 합격
- 환자
- 수행
- 수행하다
- 내과 의사
- 플랫폼
- 플랫폼
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- 정책
- 인기 문서
- 인구가 많은
- 게시하다
- Postgresql
- 게시물
- 가능성
- 사례
- 존재
- 예방
- 방지
- 학비 안내
- 가격
- 교장
- 사설
- 링크를
- 제공
- 제공
- 제공
- 대리
- Python
- 모집
- 접수
- 최근
- 기록
- 기록
- 감소
- 관련
- 관련된
- 교체
- 통계 보고서
- 대표
- 의뢰
- 요청
- 필요
- 필수
- 필요
- 의지
- 제품 자료
- 책임
- REST
- 결과
- return
- 반환
- 반품
- 리뷰
- 검토
- 직위별
- 달리기
- 달리는
- 같은
- 확장성
- 과학
- 둘째
- 비밀
- 섹션
- 안전해야합니다.
- 보안
- 안전하게
- 확보
- 참조
- 별도의
- 서버리스
- 서비스
- 서비스
- 세션
- 세트
- 공유
- 그녀
- 변화
- 영상을
- 표시
- 표시
- 쇼
- 기호
- 비슷한
- 단순화
- 기술
- 해결책
- 솔루션
- 출처
- 전문
- 전문적으로
- 구체적인
- 안정된
- 시작
- 성명서
- Status
- 단계
- 단계
- 저장
- 저장
- 상점
- 끈
- 스타일
- 제출
- 후속의
- 성공
- 성공한
- 이러한
- SUPPORT
- 지원
- 테이블
- 대상
- 기법
- Technology
- 이 템플릿
- 템플릿
- 수십
- 그
- XNUMXD덴탈의
- 그들의
- 그때
- Bowman의
- 그들
- 이
- 수천
- 임계값
- 을 통하여
- 처리량
- 시간
- 따라서 오른쪽 하단에
- 에
- 토큰
- 검색을
- 전통적인
- 교통
- 방아쇠를 당긴
- 참된
- 시도
- 유형
- 업데이트
- 업데이트
- 업데이트
- URL
- 사용
- 익숙한
- 사용자
- 시간을 아껴주는 인터페이스
- 사용자
- 사용
- 확인
- 가치
- 종류
- 버전
- 관측
- 눈에 보이는
- 영상
- 필요
- 원
- 창고
- 였다
- 방법..
- we
- 웹
- 웹 애플리케이션
- 웹 기반
- 언제
- 어느
- 넓은
- 위키 백과
- 의지
- 과
- 이내
- 없이
- 일
- 워크플로우
- 인력
- 세계
- 쓰다
- 당신
- 너의
- 제퍼 넷