ファイル転送エージェントを設定する
ファイル転送エージェントをインストールしたら、次のステップに従ってエージェントを設定します。新しいエージェントをインストールする必要がある場合は、「ファイル転送エージェントのインストール」ページの手順に従ってください。
トピック
ステップ 1: アクセス許可と開始タスクコントロール (STC) を設定する
-
指示に従って
SYS2.AWS.M2.SAMPLIB(SEC#RACF)
(RACF アクセス許可の設定用) またはSYS2.AWS.M2.SAMPLIB(SEC#TSS)
(TSS アクセス許可の設定用) のいずれかを更新して送信します。これらのメンバーは前のCPY#PDS
ステップで作成されたものです。注記
SYS2.AWS.M2
は、インストール中に選択された高レベル修飾子 (HLQ) です。 -
デフォルトのファイル転送エージェントディレクトリパス (
/usr/lpp/aws/m2-agent
) が変更された場合は、SYS2.AWS.M2.SAMPLIB(M2AGENT)
STC JCL の PWD エクスポートを更新します。 -
SYS2.AWS.M2.SAMPLIB(M2AGENT)
JCL を更新してSYS1.PROCLIB
にコピーします。 -
以下のコマンドを使用して、APF リストに
SYS2.AWS.M2.LOADLIB
を追加します。SETPROG APF ADD DSNAME(SYS2.AWS.M2.LOADLIB) SMS
-
エージェントの
logs
とdiag
フォルダのグループおよび所有者をエージェントのユーザー/グループ (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 でカスタマーマネージドポリシーを作成するには
-
https://console.aws.amazon.com/kms
で AWS KMS コンソールを開きます。 -
左のナビゲーションペインで、[カスタマーマネージドキー] を選択します。
-
[Create key] (キーの作成) を選択します。
-
[キーの設定] で、[対称] として [キータイプ] を選択し、[暗号化および復号] として [キーの使用] を選択します。他のデフォルト設定を使用します。
-
[ラベルを追加] で、キーのエイリアスと説明を追加します。
-
[Next] を選択します。
-
[キー管理アクセス許可の定義] で、このキーを管理する IAM ユーザーとロールを少なくとも 1 つ選択します。
-
[Next] を選択します。
-
[レビュー] ページで、[キーポリシー] に次の構文を追加します。これにより、 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 シークレットを作成するには
-
https://console.aws.amazon.com/secretsmanager
で Secrets Manager コンソールを開きます。 -
[シークレットの種類を選択] で、[他の種類のシークレット] を選択します。
-
データセットにアクセスできるメインフレーム userId のキー値「
userId
」を使用します。 -
パスワードフィールドにキー値「
password
」を使用します。 -
[暗号化キー] では、前に作成したAWS カスタマーマネージドキーを選択します。
-
[Next] を選択します。
-
[ルールの設定] ページで、名前と説明を入力します。
-
同じページで、[リソース許可] を編集し、以下のリソースポリシーを使用して AWS Mainframe Modernization サービスがアクセスできるようにします。
{ "Version" : "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Principal" : { "Service" : "m2.amazonaws.com" }, "Action" : [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource" : "*" } ] }
-
[保存] を選択して更新されたアクセス許可を保存してから、[次へ] を選択します。
-
[ローテーションの設定] ページをスキップし、[次へ] を選択します。
-
[レビュー] ページで、すべての設定を確認し、[ストア] を選択してシークレットを保存します。
重要
userId
および password
シークレットキーは大文字と小文字が区別されるため、図のように入力する必要があります。
ステップ 5: IAM ポリシーを作成する
エージェントに必要なアクセス許可を持つ新しいポリシーを作成する方法
-
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>" } ] }
-
request-queue および response-queue ARN の
111122223333
をアカウントに置き換えます。注記
これらは、データ転送エンドポイントの初期化中に作成された 2 つの Amazon SQS キューに一致するワイルドカード ARN です。ファイル転送エンドポイントを作成したら、オプションでこれらの ARN を Amazon SQS の実際の値に置き換えます。
-
file-transfer-endpoint-intermediate-bucket-arn
を先ほど作成された転送バケットの ARN と置き換えます。最後に「/*」ワイルドカードを残します。 -
先ほど作成した AWS KMS キーの ARN と置き換えます。
ステップ 6: 長期アクセス認証情報を使用して IAM ユーザーを作成する
メインフレームエージェントが AWS アカウントに接続できるようにする IAM ユーザーを作成します。エージェントは、このユーザーに接続し、Amazon SQS レスポンスキューとリクエストキューを使用し、データセットを Amazon S3 バケットに保存するためのアクセス許可で定義したロールを引き受けます。
IAM ユーザーを作成する方法
-
https://console.aws.amazon.com/iam
で [IAM コンソール] に移動します。 -
[許可オプション] で、[ポリシーを直接アタッチする] オプションを選択しますが、許可ポリシーはアタッチしません。これらの許可は、アタッチされるロールによって管理されます。
-
ユーザーを作成したら、ユーザーを選択し、[セキュリティ認証情報] タブを開きます。
-
[アクセスキーを作成] セクションで、[ユースケース] の入力を求められたら [その他] を選択します。
-
生成された [アクセスキー] と [シークレットアクセスキー] をコピーして安全に保存します。これらは後で使用されます。
IAM アクセスキーの作成に関する詳細については、「IAM ユーザーのアクセスキーの管理」を参照してください。
重要
[完了] をクリックする前に、アクセスキー作成ウィザードの最後のページに表示されるアクセスキーとシークレットアクセスキーを保存します。これらのキーはメインフレームエージェントの設定に使用されます。
注記
IAM ロールとの信頼関係を設定するために使用した IAM ユーザー ARN を保存します。
ステップ 7: エージェントが引き受ける IAM ロールを作成する
エージェントが引き受ける IAM ロールを作成する方法
-
https://console.aws.amazon.com/iam
の IAM コンソールで、[ロール] を選択します。 -
[ロールの作成] を選択します。
-
[信頼されたエンティティを選択] ページで、[信頼されたエンティティタイプ] に [カスタム信頼ポリシー] を選択します。
-
カスタム信頼ポリシーを以下に置き換え、前に作成したユーザーの ARN に
<iam-user-arn>
を置き換えます。{ "Version": "2012-10-17", "Statement": [ { "Sid": "FileTransferAgent", "Effect": "Allow", "Principal": { "AWS": "<IAM-User-arn>" }, "Action": "sts:AssumeRole" } ] }
-
[Next] を選択します。
-
[許可を追加] で、前に作成した [ポリシー名] でフィルタリングし、選択します。
-
[Next] を選択します。
-
ロールに名前を付け、[ロールの作成] を選択します。
注記
ロール名を保存します。この名前は後でメインフレームエージェントを設定するときに使用します。
ステップ 8: エージェントを設定する
ファイル転送エージェントを設定する方法
-
$AGENT_DIR/current-version/config
に移動します。 -
以下のコマンドを使用して、エージェントの設定ファイル
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>
コードの説明は以下のとおりです。
-
AWS_ACCOUNT_ID
は、AWS アカウントの ID です。 -
AWS_IAM_ROLE_NAME
は、ステップ 7: エージェントが引き受ける IAM ロールを作成する で作成された IAM ロールの名前です。 -
AWS_IAM_ROLE_ACCESS_KEY
は、ステップ 6: 長期アクセス認証情報を使用して IAM ユーザーを作成する で作成された IAM ユーザーのアクセスキーです。 -
AWS_IAM_ROLE_SECRET_KEY
は、ステップ 6: 長期アクセス認証情報を使用して IAM ユーザーを作成する で作成された IAM ユーザーのアクセスシークレットキーです。 -
AWS_S3_BUCKET_NAME
は、データ転送エンドポイントで作成された転送バケットの名前です。 -
AWS_REGION
は、ファイル転送エージェントを設定するリージョンです。注記
複数の環境を定義することで、ファイル転送エージェントを AWS の複数のリージョンとアカウントに転送できます。
-
(任意)
zos.complex-name
は、ファイル転送エンドポイントの作成時に作成した複雑な名前です。注記
このフィールドは、ファイル転送エンドポイントの作成時に定義したものと同じ複雑な名前 (デフォルトでは sysplex 名) をカスタマイズする場合にのみ必要です。詳細については、「ファイル転送用のデータ転送エンドポイントを作成する」を参照してください。
重要
括弧 —
[0]
— 内のインデックスが 1 つずつ増えていれば、このようなセクションが複数あっても構いません。 -
変更を有効にするには、エージェントを再起動する必要があります。
要件
-
パラメータを追加または削除したら、エージェントを停止して起動する必要があります。CLI で以下のコマンドを使用してファイル転送エージェントを起動します。
/S M2AGENT
M2 エージェントを停止するには、CLI で以下のコマンドを実行します。
/P M2AGENT
-
複数の環境を定義することで、ファイル転送エージェントを 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