/ AmazonAppFlowでSalesforceのバックアップ

Created Wed, 29 Apr 2020 16:44:26 +0000

つい先日、AmazonAppFlowというSaaS間連携のサービスがリリースされました。

https://aws.amazon.com/jp/blogs/news/new-announcing-amazon-appflow/

S3, RedShift, Salesforce, Slack, Marketo, Google Analytics, Amplitudeなど全16サービスの連携が行えるということで、Salesforce(以下SFDC)のバックアップをこれで出来ないかと思い検証してみました。
ちなみに、シンプルにバックアップをやろうとすると、ある程度手作業が発生します。
そのため、自動化するにはSOAPやRESTAPIでSOQLを書いて、出力したファイルをバックアップするという作業があるので、それなりにツライです。

事前準備

  • SFDCのsandboxを用意
  • バックアップファイルを保存するS3バケットを用意

検証

まず、AppFlowの画面で フローの作成 を実行します。

つぎに フロー名 を指定します。
ここでデータ暗号化にKMSが指定できます。(今回はテストなので使いませんが、本番ではKMSで暗号化したほうが良さそうです。)

つぎに連携するSaaSを選択します。今回はSFDCです。

新規接続先を作成を選択します。既に作成済みの接続先は下から選択できるようになります。

SFDCの場合に設定できる項目は下記の通りで、ProductionかSandboxの選択と、接続先ホスト名の指定が可能です。

その後に、ポップアップウィンドウでSFDCのログイン画面が表示されますので、ここでログインを実施します。

ログインが出来たら、データ転送フローにイベントかオブジェクト単位(テーブル)かを選択できます。
今回はオブジェクト単位にします。

その次に送信先を選択できます。面白いのは送信先にもSFDCが選択できるところです。SFDC to SFDCは次回検証してみようと思います。
今回はバックアップ用途なので、S3を選択します。

S3を選択すると、存在するバケット名の一覧が出てきますので選択し、バックアップ先のパスを指定します。
今回はSFDCとします。

フローの実行トリガーを選択できます。
パターンとしては、ボタンを都度押して実行するオンデマンド実行、定期実行、イベントトリガーになります。
今回はバックアップ用途ではありますがテストなので、オンデマンド実行にします。

スケジュール実行にした場合は下記のように指定ができるので、定期実行もできそうです。

次に進むとフィールドのマッピングが行えます。
恐らく、SFDC to SFDCやRedShitなどにした場合に、どこのフィールド(カラム)を指定するかのマッピングがここで行えるようです。
バックアップ用途なのですべて選択します。

次の画面ではフィルターの設定が行えます。条件によって実行するかしないかを決められるようです。
今回は未設定で進めます。

最後に確認して作成します。

10秒ほどで作成されます。

画面右のフローを実行ボタンから実行してみます。

実行が完了すると、S3へのリンクが表示されるのでクリックします。

バックアップされていることが確認できます。
ファイルをダウンロードしてみると、json形式でデータが保存されています。

以上で完了です。

感想

ものの10分ほどで1つのフローが作成でき、バックアップ出来てしまいました。
料金は下記で確認できますが、$0.09/GBなので、100GB単位で約1000円弱といったところでしょうか。これにプラスS3の料金がかかります。
AppFlowの料金

AppFlowの説明を観る限りは、バックアップ用途よりは、分析用途が強いように見受けられるのと、フローがオブジェクト単位、つまりテーブル単位なので全テーブルをまるっとバックアップ!みたいなのには今のところは向いていないように思います。
この辺は今後のサービス展開に期待したいところです。

まだまだ連携できるサービスは少なく、海外サービスが基本なので、すぐに使えるかは判断が難しいところですが用途を限定していけば活用できそうかなと思います。
もし連携サービスが増えれば、かなり便利な神サービスになるのではないかと個人的には大変期待しているサービスです。

SFDCなどの対応サービスを使っている方にはぜひ検証してほしいです。

<p style='padding: 5px;'>