IICSからAmazon S3へIAM Roleで接続するコネクタを作成する

どうも!DA部の春田です。

本記事では、Informatica Intelligent Cloud Services(以下、IICS)でAmazon S3に接続するためのコネクタを作成していきます。

S3に接続するためには、以下の方法がありますが、今回はIAM Roleを使った方法をご紹介します。

  • S3バケットでパブリックアクセスを許可する
  • IICSにAWSのAWS_ACCESS_KEY_IDとAWS_SECRET_ACCESS_KEYを登録する
  • Secure Agentに付与したIAM Roleを使用する。

シークレットをそのまま登録するのは少し気が引けますからね…。S3に接続する際はこれがベストプラクティスとなるはずです。

事前準備

IAM Roleで接続するためには、EC2インスタンスでSecure Agentが稼働している必要があります。Secure Agentサーバーの構築方法については、以下の記事をご参照ください。

S3のバケットも作成しておき、適当なファイルを配置しておきましょう。

IAM Roleの設定

まずはAWS側の設定を行っていきます。Secure AgentインスタンスにアタッチするIAM Roleを作成しましょう。ロールの作成が画面から、EC2をユースケースに選択します。

今回アタッチするポリシーは、AmazonS3FullAccessにしておきます。権限を絞りたい方は、各自で調節してください。

タグと名前を決めて作成すると、こんな感じに仕上がるかと思います。これをSecure Agentインスタンスにアタッチします。

EC2の画面からSecure Agentインスタンスを選択し、アクションセキュリティIAMロールを変更をクリックします。

先ほど作成したIAM Role、こちらではcm-haruta-secure-agentを選択して保存します。

これでIAM Roleのアタッチは完了です!

IICSのコネクションの設定

次に、IICS側の設定を行っていきます。メインメニューからAdministratorをクリックしてください。

続いて、サイドバーのConnectionsをクリックします。

既存のコネクション一覧が表示されると思います。New Connectionをクリックして、コネクションを新規作成しましょう。

Connection Detailsの画面が表示されたら、Connection NameTypeを設定します。Typeは、今回はAmazon S3 v2となります。

Amazon S3 v2を選択すると、自動的に設定項目が表示されます。以下のように設定してください。

  • Runtime Environment
    • 先ほど作成したIAM RoleがアタッチされたSecure Agentインスタンス
  • Folder Path
    • コネクションで読みにいきたいS3のバケットとフォルダ。s3://では始まらない点に注意
  • Region Name
    • Folder Pathで指定したS3バケットのリージョン。cm-harutaアジアパシフィック (東京) ap-northeast-1に存在

画面右上のTest Connectionをクリックして、問題なければ保存します。これでコネクションの作成は完了です。

参照できるか確認してみる

コネクションがちゃんと使えるかどうか、Mapping Designerを使って確認してみます。Sourceに先ほど作成したコネクションを選択し、Selectをクリックしてブラウズします。

良い感じに取得できてますね!OKです。

最後に

IICSとAWSを組み合わせて使う場合、Amazon S3はかなり重要なハブになるはずです。ぜひ初期段階から作成しておきましょう!

参照: Configuring AWS IAM Authentication for Amazon S3 and Amazon S3 V2 Connectors