ファイル転送エージェントを設定する - AWS Mainframe Modernization

ファイル転送エージェントを設定する

ファイル転送エージェントをインストールしたら、次のステップに従ってエージェントを設定します。新しいエージェントをインストールする必要がある場合は、「ファイル転送エージェントのインストール」ページの手順に従ってください。

ステップ 1: アクセス許可と開始タスクコントロール (STC) を設定する

  1. 指示に従って SYS2.AWS.M2.SAMPLIB(SEC#RACF) (RACF アクセス許可の設定用) または SYS2.AWS.M2.SAMPLIB(SEC#TSS) (TSS アクセス許可の設定用) のいずれかを更新して送信します。これらのメンバーは前の CPY#PDS ステップで作成されたものです。

    注記

    SYS2.AWS.M2 は、インストール中に選択された高レベル修飾子 (HLQ) です。

  2. デフォルトのファイル転送エージェントディレクトリパス (/usr/lpp/aws/m2-agent) が変更された場合は、SYS2.AWS.M2.SAMPLIB(M2AGENT) STC JCL の PWD エクスポートを更新します。

  3. SYS2.AWS.M2.SAMPLIB(M2AGENT) JCL を更新して SYS1.PROCLIB にコピーします。

  4. 以下のコマンドを使用して、APF リストに SYS2.AWS.M2.LOADLIB を追加します。

    SETPROG APF ADD DSNAME(SYS2.AWS.M2.LOADLIB) SMS
  5. エージェントの logsdiag フォルダのグループおよび所有者をエージェントのユーザー/グループ (M2USER/M2GROUP) に設定します。以下のコマンドを使用します。

    chown -R M2USER:M2GROUP $AGENT_DIR/current-version/logs chown -R M2USER:M2GROUP $AGENT_DIR/current-version/diag

ステップ 2: Amazon S3 バケットを作成する

AWS Mainframe Modernization File Transfer には、作業領域として中間 Amazon S3 バケットが必要です。これ専用のバケットを作成することをお勧めします。

必要に応じて、転送されたデータセットの新しいターゲット Amazon S3 バケットを作成します。それ以外の場合は、既存の Amazon S3 バケットを使用することもできます。Amazon S3 バケットの作成については、「バケットを作成する」を参照してください。

ステップ 3: AWS KMS カスタマーマネージドキーを作成する

AWS KMS でカスタマーマネージドポリシーを作成するには
  1. https://console.aws.amazon.com/kms で AWS KMS コンソールを開きます。

  2. 左のナビゲーションペインで、[カスタマーマネージドキー] を選択します。

  3. [Create key] (キーの作成) を選択します。

  4. [キーの設定] で、[対称] として [キータイプ] を選択し、[暗号化および復号] として [キーの使用] を選択します。他のデフォルト設定を使用します。

  5. [ラベルを追加] で、キーのエイリアスと説明を追加します。

  6. [Next] を選択します。

  7. [キー管理アクセス許可の定義] で、このキーを管理する IAM ユーザーとロールを少なくとも 1 つ選択します。

  8. [Next] を選択します。

  9. [レビュー] ページで、[キーポリシー] に次の構文を追加します。これにより、 AWS Mainframe Modernization サービスはこれらのキーを読み取り、暗号化/復号化に使用できます。

    重要

    ステートメントを既存のステートメントに追加します。ポリシーにすでにあるものを置き換えないでください。

    { "Sid" : "Enable AWS M2 File Transfer Permissions", "Effect" : "Allow", "Principal" : { "Service" : "m2.amazonaws.com" }, "Action" : [ "kms:Encrypt", "kms:Decrypt" ], "Resource" : "*" },

カスタマーマネージドキーが作成されたら、ARN を保存します。これは後でポリシーで使用されます。

ステップ 4: メインフレームの認証情報用の AWS Secrets Manager シークレットを作成する

転送するデータセットにアクセスするにはメインフレーム認証情報が必要であり、これらは AWS Secrets Manager シークレットとして保存する必要があります。

AWS Secrets Manager シークレットを作成するには
  1. https://console.aws.amazon.com/secretsmanager で Secrets Manager コンソールを開きます。

  2. [シークレットの種類を選択] で、[他の種類のシークレット] を選択します。

  3. データセットにアクセスできるメインフレーム userId のキー値「userId」を使用します。

  4. パスワードフィールドにキー値「password」を使用します。

  5. [暗号化キー] では、前に作成したAWS カスタマーマネージドキーを選択します。

  6. [Next] を選択します。

  7. [ルールの設定] ページで、名前と説明を入力します。

  8. 同じページで、[リソース許可] を編集し、以下のリソースポリシーを使用して AWS Mainframe Modernization サービスがアクセスできるようにします。

    { "Version" : "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Principal" : { "Service" : "m2.amazonaws.com" }, "Action" : [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource" : "*" } ] }
  9. [保存] を選択して更新されたアクセス許可を保存してから、[次へ] を選択します。

  10. [ローテーションの設定] ページをスキップし、[次へ] を選択します。

  11. [レビュー] ページで、すべての設定を確認し、[ストア] を選択してシークレットを保存します。

重要

userId および password シークレットキーは大文字と小文字が区別されるため、図のように入力する必要があります。

ステップ 5: IAM ポリシーを作成する

エージェントに必要なアクセス許可を持つ新しいポリシーを作成する方法
  1. Visual エディタから JSON エディタに切り替え、内容を次のテンプレートに置き換えます。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "FileTransferAgentSQSReceive", "Effect": "Allow", "Action": [ "sqs:DeleteMessage", "sqs:ReceiveMessage" ], "Resource": "arn:aws:sqs:*:111122223333:m2-*-request-queue.fifo" }, { "Sid": "FileTransferAgentSQSSend", "Effect": "Allow", "Action": "sqs:SendMessage", "Resource": "arn:aws:sqs:*:111122223333:m2-*-response-queue.fifo" }, { "Sid": "FileTransferWorkingS3", "Effect": "Allow", "Action": "s3:PutObject", "Resource": "<file-transfer-endpoint-intermediate-bucket-arn>/*" }, { "Sid": "FileTransferAgentKMSDecrypt", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "<kms-key-arn>" } ] }
  2. request-queue および response-queue ARN の 111122223333 をアカウントに置き換えます。

    注記

    これらは、データ転送エンドポイントの初期化中に作成された 2 つの Amazon SQS キューに一致するワイルドカード ARN です。ファイル転送エンドポイントを作成したら、オプションでこれらの ARN を Amazon SQS の実際の値に置き換えます。

  3. file-transfer-endpoint-intermediate-bucket-arn を先ほど作成された転送バケットの ARN と置き換えます。最後に「/*」ワイルドカードを残します。

  4. 先ほど作成した AWS KMS キーの ARN と置き換えます。

ステップ 6: 長期アクセス認証情報を使用して IAM ユーザーを作成する

メインフレームエージェントが AWS アカウントに接続できるようにする IAM ユーザーを作成します。エージェントは、このユーザーに接続し、Amazon SQS レスポンスキューとリクエストキューを使用し、データセットを Amazon S3 バケットに保存するためのアクセス許可で定義したロールを引き受けます。

IAM ユーザーを作成する方法
  1. https://console.aws.amazon.com/iam で [IAM コンソール] に移動します。

  2. [許可オプション] で、[ポリシーを直接アタッチする] オプションを選択しますが、許可ポリシーはアタッチしません。これらの許可は、アタッチされるロールによって管理されます。

  3. ユーザーを作成したら、ユーザーを選択し、[セキュリティ認証情報] タブを開きます。

  4. [アクセスキーを作成] セクションで、[ユースケース] の入力を求められたら [その他] を選択します。

  5. 生成された [アクセスキー][シークレットアクセスキー] をコピーして安全に保存します。これらは後で使用されます。

IAM アクセスキーの作成に関する詳細については、「IAM ユーザーのアクセスキーの管理」を参照してください。

重要

[完了] をクリックする前に、アクセスキー作成ウィザードの最後のページに表示されるアクセスキーシークレットアクセスキーを保存します。これらのキーはメインフレームエージェントの設定に使用されます。

注記

IAM ロールとの信頼関係を設定するために使用した IAM ユーザー ARN を保存します。

ステップ 7: エージェントが引き受ける IAM ロールを作成する

エージェントが引き受ける IAM ロールを作成する方法
  1. https://console.aws.amazon.com/iam の IAM コンソールで、[ロール] を選択します。

  2. [ロールの作成] を選択します。

  3. [信頼されたエンティティを選択] ページで、[信頼されたエンティティタイプ][カスタム信頼ポリシー] を選択します。

  4. カスタム信頼ポリシーを以下に置き換え、前に作成したユーザーの ARN に <iam-user-arn> を置き換えます。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "FileTransferAgent", "Effect": "Allow", "Principal": { "AWS": "<IAM-User-arn>" }, "Action": "sts:AssumeRole" } ] }
  5. [Next] を選択します。

  6. [許可を追加] で、前に作成した [ポリシー名] でフィルタリングし、選択します。

  7. [Next] を選択します。

  8. ロールに名前を付け、[ロールの作成] を選択します。

注記

ロール名を保存します。この名前は後でメインフレームエージェントを設定するときに使用します。

ステップ 8: エージェントを設定する

ファイル転送エージェントを設定する方法
  1. $AGENT_DIR/current-version/config に移動します。

  2. 以下のコマンドを使用して、エージェントの設定ファイル appication.properties を編集し、環境設定を追加します。

    oedit $AGENT_DIR/current-version/config/application.properties

    例:

    agent.environments[0].account-id=<AWS_ACCOUNT_ID> agent.environments[0].agent-role-name=<AWS_IAM_ROLE_NAME> agent.environments[0].access-key-id=<AWS_IAM_ROLE_ACCESS_KEY> agent.environments[0].secret-access-id=<AWS_IAM_ROLE_SECRET_KEY> agent.environments[0].bucket-name=<AWS_S3_BUCKET_NAME> agent.environments[0].environment-name=<AWS_REGION> agent.environments[0].region=<AWS_REGION> zos.complex-name=<File_Transfer_Endpoint_Name>

    コードの説明は以下のとおりです。

    重要

    括弧 — [0] — 内のインデックスが 1 つずつ増えていれば、このようなセクションが複数あっても構いません。

変更を有効にするには、エージェントを再起動する必要があります。

要件

  1. パラメータを追加または削除したら、エージェントを停止して起動する必要があります。CLI で以下のコマンドを使用してファイル転送エージェントを起動します。

    /S M2AGENT

    M2 エージェントを停止するには、CLI で以下のコマンドを実行します。

    /P M2AGENT
  2. 複数の環境を定義することで、ファイル転送エージェントを AWS の複数のリージョンとアカウントに転送できます。

    注記

    値を、以前に作成および設定したパラメータ値に置き換えます。

    #Region 1 agent.environments[0].account-id=AWS_ACCOUNT_ID agent.environments[0].agent-role-name=AWS_IAM_ROLE_NAME agent.environments[0].access-key-id=AWS_IAM_ROLE_ACCESS_KEY agent.environments[0].secret-access-id=AWS_IAM_ROLE_SECRET_KEY agent.environments[0].bucket-name=AWS_S3_BUCKET_NAME agent.environments[0].environment-name=AWS_REGION agent.environments[0].region=AWS_REGION #Region 2 agent.environments[1].account-id=AWS_ACCOUNT_ID agent.environments[1].agent-role-name=AWS_IAM_ROLE_NAME agent.environments[1].access-key-id=AWS_IAM_ROLE_ACCESS_KEY agent.environments[1].secret-access-id=AWS_IAM_ROLE_SECRET_KEY agent.environments[1].bucket-name=AWS_S3_BUCKET_NAME agent.environments[1].environment-name=AWS_REGION agent.environments[1].region=AWS_REGION