[TIL] Amazon AppFlow 사용해보기

sorzzzzy·2023년 5월 29일
0

TIL

목록 보기
36/36
post-thumbnail

Amazon AppFlow?

아마존 앱플로우는, AWS 서비스와 SaaS 애플리케이션 간에 데이터를 안전하게 전송할 수 있게 하는 완전관리형 통합 서비스이다.
이 서비스를 이용하면 사용자는 AWS 서비스와 지원되는 SaaS 애플리케이션 간에 데이터를 안전하게 이동시키고 자동으로 변환할 수 있고,
코드를 작성하지 않고도 클라우드에서 온-프레미스 환경으로, 그리고 그 반대로도 데이터를 이동할 수 있다.

Amazon AppFlow의 주요 기능으로는,

  1. 데이터 흐름 생성
    AppFlow는 사용자가 데이터를 수집, 변환, 전송할 수 있도록 미리 정의된 데이터 흐름을 생성하게 합니다.

  2. 데이터 전송
    AppFlow의 데이터는 SSL/TLS를 통해 전송되며, 휴면 시에는 AWS KMS를 통해 암호화된다.

  3. 데이터 변환
    AppFlow는 데이터를 전송하는 동안 다양한 변환 작업을 수행할 수 있다.
    예를 들어, 필드를 합치거나 분할하고, 날짜 및 시간 형식을 변환하고, 빈 필드를 처리하고, 마스킹하여 민감한 데이터를 숨기는 등의 작업을 할 수 있다.

  4. 이벤트 기반 데이터 전송
    AppFlow는 특정 이벤트가 발생했을 때 데이터를 전송하도록 설정할 수 있는데, 이를 통해 실시간 데이터 전송 및 분석을 수행할 수 있다.

  5. SaaS 애플리케이션 통합
    AppFlow는 Salesforce, Slack, ServiceNow, Zendesk, Datadog 등 다양한 SaaS 애플리케이션과 통합된다.

위와 같이 크게 5가지가 있다.

그리고 Appflow에는 60개 이상의 다양하고 많은 SaaS 애플리케이션이 등록되어 있다.

참고😊 https://aws.amazon.com/ko/appflow/integrations/


AppFlow 특징 및 장점

appflow의 주요 특징이나 장점은 크게 이 4가지로 볼 수 있다.

1. 사용 편의성

Appflow의 직관적인 사용자 인터페이스로, 전문 지식이 크게 없어도 클릭 몇번만으로 쉽게 플로우를 설정할 수 있다.

2. 비용 절감

AWS의 많은 서비스들이 그렇듯, 라이선스 없이도 사용할 수 있고, 실행한 플로우 수와 처리된 데이터 볼륨에 대한 요금만 지불하기 때문에 다른 애플리케이션 통합 서비스를 사용할 때와 비교했을 때 비용이 절감된다.

3. 확장성

플로우 당 최대 100GB의 데이터를 실행할 수 있어서 수백만개에 달하는 대규모 데이터 전송에도 적합하다.

4. 보안 및 신뢰성

기본적으로 플로우를 거치는 모든 데이터는 암호화된 채로 전송이 이루어지고, 추가적으로 커스텀하여 암호를 지정할 수도 있다.


AppFlow 사용해보기

https://ap-northeast-2.console.aws.amazon.com/appflow/home?region=ap-northeast-2#/

Salesforce와 S3 버킷을 연동하여 데이터를 전송하는 테스트를 진행해보았다.

사전 작업은 아래와 같다.
1. 연동하려는 세일즈포스에 대한 유효한 사용자 권한을 가진 계정 준비
2. S3 버킷 생성

AppFlow 서비스 화면에서 플로우 생성 버튼을 누르면 플로우의 기본 정보를 작성할 수 있다.
알맞게 이름을 설정하고, 암호화는 기본으로, 태그는 선택사항이라 제외했다.

원본에는 세일즈포스를 선택하고, 연결 설정을 하는데, 이 연결은 테스트 전에 세일즈포스 샌드박스 계정을 통해 인증을 받은 연결이다.
Account라는 고객사 객체의 데이터를 전송해보도록 하겠다.

대상으로는 미리 만들어둔 S3 버킷을 선택한다.
파일 형식은 JSON으로 설정했다.

플로우 트리거는 크게 3가지로 구분되어 있는데, 트리거하는 즉시 플로우가 실행되는 온디맨드 실행, 선택한 시간 간격에 따라 정기적으로 실행하는 방식이 있다.
그리고 비즈니스 이벤트가 발생한 후에 플로우가 실행되게 하는 옵션도 있는데, 이 옵션은 세일즈포스 연결 대상을 객체가 아닌 이벤트로 설정했을 때 사용이 가능하다.

데이터 필드 매핑 시 수동으로 필드를 매핑할 수도 있고 특정 형식의 파일을 업로드 할 수 있지만, 나는 데이터 변환이나 검증이 얼마나 자유롭게 잘 이루어지는지가 궁금해서 직접 필드 매핑으로 진행했다.
모든 필드를 선택할 수도 있고 특정 필드만을 선택할 수도 있다.
추가 옵션으로 삭제된 레코드나 새로 추가된 필드도 자동으로 가져올 수 있는데, 새로 추가된 필드를 가져오는 옵션은 모든 필드를 매핑하는 경우에만 사용이 가능하다.

검증으로는 고객사 Id가 누락되거나 null이면 기록을 무시하는 검증을 추가했다.
객체의 모든 필드를 검증 가능하고, 작업으로는 기록을 무시하는 것 외에 플로우를 중지시키는 옵션도 있다.

마지막으로 필터 설정인데, 조건으로 boolean,string,integer 타입 각각 다르게 세세하게 필터를 지정할 수 있어서 생각보다 더 편리했다👍🏻

검토를 마친 후 플로우를 생성할 수 있다.
실행한 플로우를 테스트하려면, 간단하게 우측 상단의 플로우 실행 버튼만 클릭하면 된다.
설정할 때 온디맨드 옵션을 줬기 때문에 버튼을 클릭하면 즉시 실행이 된다.

성공적으로 실행을 마치면 지정해둔 버킷에 선택한 필드만 포함되어져있는 Account 개체 리스트가 json형식으로 저장된다!
(고객사 정보라, 스크린샷은 제외했다.)


+) 일년만에 다시 찾은 벨로그

벨로그 안녕!!!!!!!!!!!!!!!!!!!!!!!!!!
작년 이맘때엔 1일 1 TIL이니 뭐니.. 정말 열심히 살았는데 시간이 언제 이렇게 흘렀는 지 모르겠다 ㅎㅎ
바쁘다는 핑계로 잠시..라기 보단 꽤 오래 미뤄뒀던 블로그 작성을 다시 시작해보려고 한다.

화이팅~~~^^!

profile
Backend Developer

0개의 댓글