Amazon Web Services ブログ

SAPファイル転送ワークロードのためのAWS Transfer for SFTP – 第2回

このシリーズ記事の第1回では、 SAP PI / POシステムとAWS Transfer for SFTP (AWS SFTP)を統合する方法、またAWS SFTPがAmazon S3に保存したデータを後処理分析に使用する方法を紹介しました。今回の記事では、SAP Cloud Platform Integration (SAP CPI)とAWS SFTPを統合し、第1回で紹介したAWS分析ソリューションを後処理分析に使用する方法を示します。

アーキテクチャ概要

SAP CPIは、SAPが提供する従量課金制のサブスクリプションモデルです。SAP PI / POと同様の機能を備えたSAP CPIは、従量課金制のエクスチェンジインフラストラクチャを提供し、プロセスとデータを統合します。これには、クラウドアプリ、サードパーティ製アプリケーション、オンプレミスソリューション間のSAPファイルワークロードを含みます。このオープンで柔軟でオンデマンドな統合システムは、SAP Cloud Platformのコアサービスとして実行されます。

次の図は、SAP CPIとAWS SFTPによるシステム統合のハイレベルなアーキテクチャを示しています。SAPシステムは、オンプレミスまたはSAP CPI Connectionと繋がるAWSクラウド環境でホストされます。統合フロー接続を有効にし、AWS GlueとAmazon Athena、Amazon QuickSightによる後処理機能を実行することで、AWS SFTPを使用してSAPファイルワークロードをS3に保存できます。

SAP CPI system integration with AWS SFTP: High-level architecture of SAP CPI system integration with AWS SFTP
認証の選択肢

AWS SFTPとの接続を確立するには、次のSAP CPIの認証オプションが必要です。

  • SAP CPI キーベース認証 – SAPのキーベース認証を使用して、SAP CPIとAWS SFTPを構成および統合します。
  • SAP CPI パスワードベース認証 – AWS Secrets Managerを使用して、ユーザー名とパスワードベースの認証を有効にします。これにより、SAP CPIの通信チャネルとAWS SFTPが統合されます。

SAP CPI キーベース認証

SFTPキー、ホスト名、鍵アルゴリズム、SSHキーパラメータを保存するように、SAP CPIテナントの既知のホストキーファイルを構成します。次のワークフロー図に示すように、既知のホストファイルには、SFTP公開鍵、ホスト名、公開鍵アルゴリズムが格納されます。SSHキーペアはSAP CPIキーストア構成に保存され、SAP CPIテナントからSFTPサーバーへの接続を確立します。

SAP CPI key-based authentication Workflow diagram for SAP CPI key-based authentication.

既知のホストファイル

SSHベースの通信を確立するには、SAP CPIテナントにSFTPサーバーのホストキーが必要です。

  1. SFTPサーバーのホストキーを抽出するには、作成したAWS SFTPエンドポイントでssh-keyscanコマンドを実行します。
  2. SAP CPIの既知のホストファイルのホストキーを更新します。ホストキー値を取得するためにAWS SFTPサーバードメインでssh-keyscanコマンドが実行される次のコード例を参照してください。

Use ssh-keyscan command on AWS SFTP server endpoint to extract host key.

CPIテナントファイル形式のknown_hostsのサーバーのホストキーを更新

  1. CPIツールで、監視 (操作ビュー)、セキュリティマテリアルオプションを選択します。
  2. known_hostsエントリーを選択し、ローカルマシンにダウンロードします。
  3. 前の手順で取得したAWS SFTPサーバーのホストキーを既知のホストファイルに追加します。

Download known host file from CPI security material.

他のSAP CPIによる統合を妨げる可能性のある既存のホストキーの破損や削除を回避するには、SAP CPIの既知のホストファイルの最後にホストキーを追加します。

Add SFTP host key in the known_host file

以下に示すように、既知のホストファイルをローカルドライブからSAP CPIテナントにアップロードします。

  1. 追加の機能からKnown Hosts (SSH)を選択します。
  2. デプロイを選択します。

Deploy the known_host file

キーベース認証の場合、SAP CPIのツールを使用してキーペアを生成できます。

  1. SAP CPIの監視ページのテナントキーストアで、SSHキーの作成を選択します。
  2. キータイプにはRSAを選択します。
  3. キー固有の値を定義します。
  4. デプロイを選択します。

Create SSH key in SAP CPI tenant. Generate a key pair using SAP CPI tools and update the keypair in AWS SFTP

デプロイが完了したら、キーストアからid_rsaの公開鍵をダウンロードします。前にダウンロードしたid_rsaの公開キーペアをAWS SFTPサーバーのSSH公開鍵ページにアップロードします。

AWS SFTPサーバーの公開鍵の追加またはローテーションの詳細については、SSHキーのローテーションのドキュメントを参照してください。

接続性のテスト

これで、SAP CPIとAWS SFTPサーバー間の接続をテストできます。

  1. SAP CPIの監視ビューで、接続性のテスト機能を選択します。
  2. SSHオプションを選択し、次の詳細を入力します。
    • ホストには、s-6602732347fea.server.transfer.us-east-1.amazonaws.com (AWS SFTPのエンドポイント)と入力します。詳細は、SFTPサーバーの作成を参照します。
    • ポートには、22を入力します。
    • プロキシータイプには、Noneを選択します。
    • タイムアウトには、希望するタイムアウト値を入力します。
    • 認証には、公開鍵ベースを選択します。
    • ユーザー名には、kenny (前に作成したAWS SFTPサーバーのユーザー名)を入力します。
    • ホストキーのチェックとディレクトリアクセスのチェックのチェックボックスをオンにします。
    • ディレクトリには、AWS SFTPサーバーに関連付けられているS3ディレクトリを選択します。
    • 送信を選択します。

これにより、SAP CPIとAWS SFTP間の接続が確立され、AWS SFTPサーバーのS3ディレクトリに保存されている現在のオブジェクトが一覧表示されます。次の図では、SAP CPIは、STFP接続を使用してS3ディレクトリに保存されているSAP品目マスターファイルをリストしています。

SAP CPI and AWS SFTP connectivity test. Listing the SAP material master files stored in S3 directory using SAP CPI connectivity testing.

これで、このSSHキーペアベースのSAP CPI接続を使用して、ファイル転送ワークロード用にSAPシステムとAWS SFTPサーバー間の統合フローを作成できます。

SAP CPI パスワードベース認証

ユーザー名とパスワードベースの認証を使用して、AWS SFTPサーバーとSAP CPIの統合を設定できるようになりました。

別のAWS SFTPエンドポイントを使用している場合は、前述のSAP CPIの既知のホストファイル設定で説明しているのと同じ既知のホストファイル設定プロセスに従ってください。ユーザー名とパスワードベースの認証を作成するには、SAPファイル転送ワークロードのためのAWS Transfer for SFTP – 第1回を参照してください。

  1.  SAP CPIの監視ビューで、セキュリティマテリアル機能を選択します。
  2. 追加の機能からユーザー資格情報を選択します。
  3. ユーザー資格情報の追加ページで、資格情報を入力し、次のエントリーを展開します。
    • 名前には、資格情報名を入力して、SAP CPIの統合フローでユーザー名とパスワードの資格情報を取得します。
    • タイプでは、ユーザー資格情報を選択します。
    • ユーザーには、AWS Secrets Managerを使用して、このシリーズ記事の第1回でパスワードベース認証用に作成したユーザー名を入力します。
    • パスワードには、AWS Secrets Managerを使用して、このシリーズ記事の第1回でパスワードベース認証の一部として作成した同じパスワードを入力します。
    • デプロイしたら、SAP CPIのセキュリティマテリアルページでユーザー資格情報エントリーのデプロイが成功したことを確認します。

Setup the user credentials. Adding user credentials for username and password-based authentication

接続性のテスト

接続をテストするには、好みのHTTPSツールとAWS SFTPの間にSAP CPIで統合フローを作成します。

  1. SAP CPIの設計ビューで、アドレスにs-66027032347fea.server.transfer.us-east-1.amazonaws.com (AWS SFTPのエンドポイント)を入力します。
  2. 認証では、ユーザー名/パスワードを選択します。
  3. 資格情報名には、SFTP_KENNY (前の手順の資格情報名)を入力します。
  4. タイムアウトには、目的の値を入力します。
  5. 再接続の最大試行回数には、目的の値を入力します。
  6. 再接続の遅延には、目的の値を入力します。

CPI integration-flow. Integration flow setup in SAP CPI between HTTPS tool and AWS SFTP.

デプロイされた統合フローのURLは、SAP CPIの管理統合コンテンツページから取得できます。

この記事では、SOAP UIから、HTTPS接続メソッドを使用してSAP MATMASドキュメントを送信します。ファイルをSAP CPIに送信するには、HTTPSツールでSAP品目に関するIdoc構造をアップロードします。統合フローは、AWS SFTPを使用してS3ディレクトリへのファイルを処理します。

Process file workloads using HTTPS tool Send the SAP material file to AWS SFTP using HTTPS connection tool and SAP CPI intergration.

処理が完了すると、後処理作業用にS3ディレクトリに保存されたSAP MATMASファイルが表示されます。

SAP Matmas file is stored in AWS SFTP S3 directory for post processing activites.

結論

完全マネージド型のAWS SFTPサービスを使用して、SAPファイル転送ワークロードとSAPエクスポートファイルをS3にシームレスに移行できます。ミッションクリティカルなワークロードのSFTPサーバーとデータの回復力の管理と保守について心配する必要はありません。

翻訳はPartner SA 河原が担当しました。原文はこちらです。