BMC AMI Cloud を使用したメインフレームデータを Amazon S3 にバックアップおよびアーカイブ - AWS 規範的ガイダンス

BMC AMI Cloud を使用したメインフレームデータを Amazon S3 にバックアップおよびアーカイブ

Santosh Kumar Singh、Gilberto Biondo、Maggie Li (Amazon Web Services)

Mikhael Liberman (Model9 Mainframe Software)

概要

このパターンでは、メインフレームデータを Amazon Simple Storage Service (Amazon S3) に直接バックアップしてアーカイブし、BMC AMI Cloud Data (旧 Model9 Manager) を使用してそのデータを呼び出してメインフレームに復元する方法を示します。メインフレームのモダナイズプロジェクトの一環として、またはコンプライアンス要件を満たすために、バックアップとアーカイブのソリューションを最新化する方法を探しているなら、このパターンがそれらの目標の達成に役立ちます。

通常、メインフレーム上でコアビジネスアプリケーションを実行している組織は、仮想テープライブラリ (VTL) を使用してファイルやログなどのデータストアをバックアップします。この方法では、請求可能な MIPS を消費し、メインフレーム外のテープに保存されているデータにアクセスできないため、コストがかかる可能性があります。このような問題を回避するには、BMC AMI Cloud Data を使用して、運用データおよび過去のメインフレームデータを迅速かつ費用対効果の高い方法で Amazon S3 に直接転送できます。BMC AMI Cloud Data を使用すると、TCP/IP 経由でデータを AWS にバックアップおよびアーカイブできると同時に、IBM z 統合情報プロセッサー (zIIP) エンジンを活用してコスト、並列処理、転送時間を削減できます。

前提条件と制限

前提条件

  • アクティブなAWS アカウント

  • 有効なライセンスキーを持つ BMC AMI Cloud Data

  • メインフレームと AWS 間の TCP/IP 接続

  • S3 バケットへの読み取り/書き込みアクセス用の AWS Identity and Access Management (IAM) ロール

  • BMC AMI Cloud プロセスを実行するためのメインフレームセキュリティ製品 (RACF) へのアクセスが可能

  • 使用可能なネットワークポート、S3 バケットへのアクセスを許可するファイアウォールルール、専用の z/FS ファイルシステムを備えた BMC AMI Cloud z/OS エージェント (Java バージョン 8 64 ビット SR5 FP16 以降)

  • BMC AMI Cloud 管理サーバーの要件を満たす

制限

  • BMC AMI Cloud Data は、管理サーバーと同じ Amazon Elastic Compute Cloud (Amazon EC2) インスタンス上の Docker コンテナとして実行される PostgreSQL データベースに運用データを保存します。Amazon Relational Database Service (Amazon RDS) は現在、BMC AMI Cloud Data のバックエンドとしてサポートされていません。製品の最新アップデートの詳細については、BMC ドキュメントの「What's New?」を参照してください。

  • このパターンは z/OS メインフレームデータのみのバックアップとアーカイブを行います。BMC AMI Cloud Data は、メインフレームファイルのみをバックアップおよびアーカイブします。

  • このパターンは、データを JSON や CSV などの標準のオープンフォーマットに変換しません。BMC AMI Cloud Analytics (旧 Model9 Gravity) などの追加の変換サービスを使用して、データを標準オープン形式に変換します。クラウドネイティブのアプリケーションとデータ分析ツールは、データがクラウドに書き込まれた後にそれにアクセスできます。

製品バージョン

  • BMC AMI Cloud Data バージョン 2.x

アーキテクチャ

ソーステクノロジースタック

  • z/OS を実行するメインフレーム

  • データセットや z/OS UNIX システムサービス (USS) ファイルなどのメインフレームファイル

  • ダイレクトアクセスストレージデバイス (DASD) などのメインフレームディスク

  • メインフレームテープ (仮想または物理テープライブラリ)

ターゲットテクノロジースタック

  • Amazon S3

  • Virtual Private Cloud (VPC) での Amazon EC2 インスタンス

  • AWS Direct Connect

  • Amazon Elastic File System (Amazon EFS)

ターゲット アーキテクチャ

次の図は、メインフレーム上の BMC AMI Cloud Data ソフトウェアエージェントが Amazon S3 にデータを保存するレガシーデータバックアップおよびアーカイブプロセスを駆動するリファレンスアーキテクチャを示しています。

レガシーデータのバックアップとアーカイブプロセスを推進するメインフレーム上の BMC AMI Cloud Data ソフトウェアエージェント

この図表は、次のワークフローを示しています:

  1. BMC AMI Cloud Data ソフトウェアエージェントはメインフレーム論理パーティション (LPAR) 上で動作します。ソフトウェアエージェントは、メインフレームデータを DASD またはテープから TCP/IP 経由で直接 Amazon S3 に読み書きします。

  2. AWS Direct Connect は、オンプレミスネットワークと AWS 間の物理的で分離された接続を設定します。セキュリティを強化するために、Direct Connect 上でサイト間 VPN を実行して、転送中のデータを暗号化します。

  3. S3 バケットはメインフレームファイルをオブジェクトストレージデータとして保存し、BMC AMI Cloud Data エージェントは S3 バケットと直接通信します。証明書は、エージェントと Amazon S3 間のすべての通信の HTTPS 暗号化に使用されます。Amazon S3 データ暗号化は、保管中のデータを暗号化して保護するために使用されます。

  4. BMC AMI Cloud Data 管理サーバーは、EC2 インスタンスの Docker コンテナとして実行されます。インスタンスはメインフレーム LPAR や S3 バケット上で稼働するエージェントと通信します。

  5. Amazon EFS はアクティブ EC2 インスタンスとパッシブ EC2 インスタンスの両方にマウントされ、ネットワークファイルシステム (NFS) ストレージを共有します。これは、管理サーバーで作成されたポリシーに関連するメタデータがフェイルオーバーの際に失われないようにするためです。アクティブサーバーによるフェイルオーバーが発生しても、データを失うことなくパッシブサーバーにアクセスできます。アクティブサーバーが失敗した場合、データを失うことなく、アクティブサーバーにアクセスできます。

ツール

サービス

  • Amazon Elastic Compute Cloud (Amazon EC2) は、AWS クラウドでスケーラブルなコンピューティング容量を提供します。仮想サーバーを必要な数だけ起動して、迅速にスケールアップまたはスケールダウンができます。

  • Amazon Elastic File System (Amazon EFS) は、AWS クラウドでの共有ファイルシステムの作成と設定に役立ちます。

  • Amazon Simple Storage Service (Amazon S3) は、量にほとんどかかわらず、データを保存、保護、取得するのに役立つクラウドベースのオブジェクトストレージサービスです。

  • Amazon Virtual Private Cloud (Amazon VPC) を使用すると、定義した仮想ネットワーク内で AWS リソースを起動できます。この仮想ネットワークは、ユーザー自身のデータセンターで運用されていた従来のネットワークと似ていますが、AWS のスケーラブルなインフラストラクチャを使用できるという利点があります。

  • AWS Direct Connect は、お客様の内部ネットワークを AWS Direct Connect ロケーションに、標準のイーサネット光ファイバケーブルを介して接続するサービスです。この接続を使用すると、ネットワークパス内のインターネットサービスプロバイダーをバイパスしながら、パブリック AWS サービスへの仮想インターフェイスを直接作成できます。

  • AWS Identity and Access Management (IAM) を使用すると、リソースの使用を認証、許可されるユーザーを制御することで、AWS リソースへのアクセスを安全に管理できます。

BMC ツール

  • BMC AMI Cloud 管理サーバーは、Amazon EC2 の Amazon Linux Amazon マシンイメージ (AMI) で Docker コンテナとして実行される GUI アプリケーションです。管理サーバーには、レポート、ポリシーの作成と管理、アーカイブの実行、バックアップ、リコール、復元の実行などの BMC AMI Cloud アクティビティを管理する機能があります。

  • BMC AMI Cloud エージェントはオンプレミスのメインフレーム LPAR 上で動作し、TCP/IP を使用してオブジェクトストレージに直接ファイルを読み書きします。スターティッドタスクはメインフレーム LPAR 上で実行され、Amazon S3 との間でバックアップデータとアーカイブデータを読み書きします。

  • BMC AMI Cloud メインフレームコマンドラインインターフェイス (M9CLI) には、BMC AMI Cloud のアクションを TSO/E から直接実行したり、バッチオペレーションで実行したりするための一連のコマンドが用意されています。管理サーバーに依存する必要はありません。

エピック

タスク説明必要なスキル

S3 バケットを作成します。

S3 バケット」 を作成して、メインフレーム環境からバックアップおよびアーカイブするファイルとボリュームを保存します。

AWS 全般

IAM ポリシーを作成します。

すべての BMC AMI Cloud サーバーとエージェントは、前のステップで作成した S3 バケットにアクセスする必要があります。

必要なアクセス権を付与するには、次の IAM ポリシーを作成します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Listfolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:ListBucketVersions" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::<Bucket Name>" ] }, { "Sid": "Objectaccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObjectAcl", "s3:GetObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:PutObjectAcl", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::<Bucket Name>/*" ] } ] }
AWS 全般
タスク説明必要なスキル

BMC AMI Cloud ソフトウェアライセンスを取得します。

ソフトウェアライセンスキーを取得するには、BMC AMI Cloud チームにお問い合わせください。ライセンスを生成するには z/OS D M=CPU コマンドの出力が必要です。

ビルドリード

BMC AMI Cloud ソフトウェアとライセンスキーをダウンロードします。

BMC ドキュメントの指示に従って、インストールファイルとライセンスキーを取得します。

メインフレームインフラストラクチャ管理者
タスク説明必要なスキル

BMC AMI Cloud ソフトウェアエージェントをインストールします。

  1. インストールプロセスを開始する前に、エージェントのソフトウェアとハードウェアの最小要件を満たしていることを確認します。

  2. エージェントをインストールするには、BMC のドキュメントの指示に従います。

  3. エージェントがメインフレーム LPAR で実行を開始したら、ZM91000I MODEL9 BACKUP AGENT INITIALIZED スプール内のメッセージを確認します。エージェントの STDOUT Object store connectivity has been established successfully でメッセージを探して、エージェントと S3 バケット間の接続が正常に確立されていることを確認します。

メインフレームインフラストラクチャ管理者
タスク説明必要なスキル

Amazon EC2 Linux 2 インスタンスを作成します。

Amazon EC2 ドキュメントの「ステップ 1: インスタンスを起動する」 の指示に従って、2 つの Amazon EC2 Linux 2 インスタンスを異なるアベイラビリティーゾーンで起動します。

インスタンスは、次の推奨ハードウェア要件とソフトウェア要件を満たしている必要があります。

  • CPU — 最低 4 コア

  • RAM — 8 GB 以上

  • ドライブ — 40 GB

  • 推奨の EC2 インスタンス — C5.xlarge

  • OS – Linux

  • ソフトウェア — ドッカー、解凍、VI/Vim

  • ネットワーク帯域幅 – 1 GB 以上

詳細については、BMC のドキュメントを参照してください。

クラウドアーキテクト、クラウド管理者

Amazon EFS ファイルシステムを作成します。

Amazon EFS ドキュメントの「ステップ 1: Amazon EFS ファイルシステムを作成する」 の指示に従って Amazon EFS ファイルシステムを作成します。

ファイルシステムを作成する場合、以下の作業を行います。

  • 標準ストレージクラスを選択します。

  • 使用された同じな VPC を選択して、EC2 インスタンスを起動します。

クラウド管理者、クラウドアーキテクト

Docker をインストールし、管理サーバーを設定します。

EC2 インスタンスに接続する

Amazon EC2 ドキュメントの 「Linux インスタンスへのConnect」 の指示に従って EC2 インスタンスに接続します。

EC2 インスタンスを設定する

各インスタンスタイプでは、以下の作業を行います。

  1. Docker をインストールするには、次のコマンドを実行します。

    sudo yum install docker
  2. Docker を起動するには、次のコマンドを実行します。

    sudo service docker start
  3. Docker のステータスを検証するには、次のコマンドを実行します。

    sudo service docker status
  4. /etc/selinux フォルダ内の config ファイルを SELINUX=permissive に変更します。

  5. model9-v2.x.y_build_build-id-server.zip および VerificationScripts.zip ファイル (以前にダウンロードした) を、いずれかの EC2 インスタンスの一時フォルダ (例えば、/var/tmp インスタンス内のフォルダ) にアップロードします。

  6. tmp フォルダに移動するには、次のコマンドを実行します。

    cd/var/tmp
  7. 検証スクリプトを解凍するには、次のコマンドを実行します。

    unzip VerificationScripts.zip
  8. 以下のコマンドを実行して、ディレクトリを変更します。

    cd /var/tmp/sysutils/PrereqsScripts
  9. 検証スクリプトを実行するには、次のコマンドを実行します。

    ./M9VerifyPrereqs.sh
  10. 検証スクリプトで入力を求められたら、Amazon S3 URL とポート番号を入力します。次に、z/OS IP/DNS とポート番号を入力します。

    注記

    このスクリプトは、EC2 インスタンスがメインフレーム上で実行されている S3 バケットとエージェントに接続できることを確認するチェックを実行します。接続が確立されると、成功メッセージが表示されます。

クラウドアーキテクト、クラウド管理者

管理サーバーソフトウェアをインストールします。

  1. アクティブサーバーにする予定の EC2 インスタンスのルートディレクトリ (例:/data/model9 ) にフォルダとサブフォルダを作成します。

  2. amazon-efs-utils パッケージをインストールし、前に作成した Amazon EFS ファイルシステムをマウントするには、次のコマンドを実行します。

    sudo yum install -y amazon-efs-utils sudo mount -t efs -o tls <File System ID>:/ /data/model9
  3. EC2 インスタンスの /etc/fstab ファイルを Amazon EFS ファイルシステムのエントリで更新するには (Amazon EC2 の再起動時に Amazon EFS が自動的に再マウントされるように)、次のコマンドを実行します。

    <Amazon-EFS-file-system-id>:/ /data/model9 efs defaults,_netdev 0 0
  4. BMC AMI Cloud インストールファイルへのパスとターゲットのインストール場所を定義するには、以下のコマンドを実行して変数をエクスポートします。

    export MODEL9_HOME=/data/model9 export M9INSTALL=/var/tmp
    注記

    これらの EXPORT コマンドを .bashrc スクリプトに追加することをお勧めします。

  5. ディレクトリを変更するには、mkdir diag コマンドを実行し、cd $MODEL9_HOME コマンドを実行して別のサブディレクトリを作成します。

  6. インストールファイルを解凍するには、次のコマンドを実行します。

    unzip $M9INSTALL/model9-<v2.x.y>_build_<build-id>-server.zip
    注記

    x.y (バージョン) と build-id を自分の値に置き換えてください。

  7. アプリケーションをデプロイするには、次のコマンドを実行します:

    docker load -i $MODEL9_HOME/model9-<v2.x.y>_build_<build-id>.docker docker load -i $MODEL9_HOME/postgres-12.10-x86.docker.gz
    注記

    v2.x.y (バージョン) と build-id を自分の値に置き換えてください。

  8. $MODEL9_HOME/conf フォルダ内の model9-local.yml ファイルを更新します。

    注記

    一部のパラメータにはデフォルト値があり、その他は必要に応じて更新できます。詳細については、 model9-local.yml ファイルの手順を参照してください。

  9. $MODEL9_HOME/conf という名前のファイルを作成し、そのファイルに次のパラメータを追加します。

    TZ=America/New_York EXTRA_JVM_ARGS=-Xmx2048m
  10. Docker ネットワークブリッジを作成するには、次のコマンドを実行します。

    docker network create -d bridge model9network
  11. BMC AMI Cloud 用の PostgreSQL データベースコンテナを起動するには、次のコマンドを実行します。

    docker run -p 127.0.0.1:5432:5432 \ -v $MODEL9_HOME/db/data:/var/lib/postgresql/data:z \ --name model9db --restart unless-stopped \ --network model9network \ -e POSTGRES_PASSWORD=model9 -e POSTGRES_DB=model9 -d postgres:12.10
  12. PostgreSQL コンテナの実行が開始されたら、次のコマンドを実行してアプリケーションサーバーを起動します。

    docker run -d -p 0.0.0.0:443:443 -p 0.0.0.0:80:80 \ --sysctl net.ipv4.tcp_keepalive_time=600 \ --sysctl net.ipv4.tcp_keepalive_intvl=30 \ --sysctl net.ipv4.tcp_keepalive_probes=10 \ -v $MODEL9_HOME:/model9:z -h $(hostname) --restart unless-stopped \ --env-file $MODEL9_HOME/conf/model9.env \ --network model9network \ --name model9-v2.x.y model9:<v2.x.y>.<build-id>
    注記

    v2.x.y (バージョン) と build-id を自分の値に置き換えてください。

  13. 両方のコンテナのヘルスステータスをチェックするには、次のコマンドを実行します。

    docker ps -a
  14. パッシブ EC2 インスタンスに管理サーバーをインストールするには、ステップ 1~4、7、10~13 を繰り返します。

注記

問題をトラブルシューティングするには、/data/model9/logs/ フォルダに保存されているログを参照してください。詳細については、BMC のドキュメントを参照してください。

クラウドアーキテクト、クラウド管理者
タスク説明必要なスキル

新しいエージェントを追加します。

新しいエージェントを追加する前に、下記のことを確認します。

  • BMC AMI Cloud エージェントがメインフレーム LPAR 上で実行されており、完全に初期化されています。エージェントは、ZM91000I MODEL9 BACKUP AGENT INITIALIZED スプール内の初期化メッセージを探すことで識別します。

  • 管理サーバーの Docker コンテナは完全に初期化され、実行中です。

バックアップポリシーとアーカイブポリシーを定義する前に、管理サーバー上にエージェントを作成する必要があります。エージェントを作成するには、以下の作業を行います。

  1. ウェブブラウザを使用して Amazon EC2 マシンにデプロイされている管理サーバーにアクセスし、メインフレームの認証情報を使用してログインします。

  2. [AGENTS] タブを選択し、[ADD NEW AGENT] を選択します。

  3. [Name] では、エージェン名を入力します。

  4. [Hostname/IP Address] には、メインフレームのホスト名/IP アドレスを入力します。

  5. [Port] では、ポート番号を入力します。

  6. [TEST CONNECTION] を選択します。接続が正常に確立されると、成功メッセージが表示されます。

  7. [Create] (作成) を選択します。

エージェントが作成されると、テーブルに表示される新しいウィンドウに、オブジェクトストレージとメインフレームエージェントに対する接続状態が表示されます。

メインフレームストレージ管理者または開発者

バックアップポリシーまたはアーカイブポリシーを作成する。

  1. [POLICIES] を選択します。

  2. [CREATE POLICY] を選択します。

  3. [CREATE A NEW POLICY] ページで、ポリシーの仕様を入力します。

    注記

    使用可能な仕様の詳細については、BMC ドキュメントの「Creating a new policy」を参照してください。

  4. [Finish] を選択してください。

  5. これで、新しいポリシーが表として一覧表示されました。この表を表示するには、[POLICIES] タブを選択します。

メインフレームストレージ管理者または開発者
タスク説明必要なスキル

バックアップポリシーまたはアーカイブポリシーを実行する。

以前に作成したデータバックアップまたはアーカイブポリシーを管理サーバーから手動で、または自動的に (スケジュールに基づいて) 実行します。ポリシーを手動で実行するには、次を行います。

  1. ナビゲーションメニューから [ポリシー] タブを選択します。

  2. 実行するポリシーの表の右側で、3 つのドットのメニューを選択します。

  3. [今すぐ実行] を選択します。

  4. ポップアップ確認ウィンドウで、[はい、ポリシーを今すぐ実行] を選択します。

  5. ポリシーが実行されたら、ポリシーアクティビティセクションで実行ステータスを確認します。

  6. 実行したポリシーについて、3 つのドットのメニューを選択し、次に [実行ログを表示] を選択してログを確認します。

  7. バックアップが作成されたことを確認するには、S3 バケットをチェックします。

メインフレームストレージ管理者または開発者

バックアップポリシーまたはアーカイブポリシーを復元します。

  1. ナビゲーションメニューで [ポリシー] タブを選択します。

  2. 復元プロセスを実行するポリシーを選択します。これで、その特定のポリシーに対して過去に実行されたすべてのバックアップまたはアーカイブアクティビティのリストが表示されます。

  3. 復元するバックアップを選択するには、[日付/時刻] 列を選択します。file/Volume/Storage グループ名にはポリシーの実行詳細が表示されます。

  4. 表の右側にある 3 つのドットのメニューを選択し、次に [復元] を選択します。

  5. ポップアップウィンドウで、ターゲット名、ボリューム、ストレージグループを入力し、[復元] を選択します。

  6. メインフレームの認証情報を入力し、もう一度 [復元] を選択します。

  7. 復元が成功したことを確認するには、ログまたはメインフレームを確認します。

メインフレームストレージ管理者または開発者
タスク説明必要なスキル

M9CLI を使用してバックアップまたはアーカイブポリシーを実行します。

M9CLI を使用すると、BMC AMI Cloud 管理サーバーでルールを設定しなくても、TSO/E、REXX、または JCL からバックアップおよび復元プロセスを実行します。

TSO/E を使用する:

TSO/E を使用する場合は、M9CLI REXXTSO と連結されていることを確認します。TSO/E を使用してデータセットをバックアップするには、TSO M9CLI BACKDSN <DSNAME> コマンドを使用します。

注記

M9CLI コマンドの詳細については、BMC ドキュメントの「CLI reference」を参照してください。

JCL を使用する:

JCL を使用してバックアップとアーカイブのポリシーを実行するには、M9CLI コマンドを実行します。

バッチ操作の使用:

次の例では、バッチで M9CLI コマンドを実行して、データセットをアーカイブする方法を示しています。

//JOBNAME JOB … //M9CLI EXEC PGM=IKJEFT01 //STEPLIB DD DISP=SHR,DSN=<MODEL9 LOADLIB> //SYSEXEC DD DISP=SHR,DSN=<MODEL9 EXEC LIB> //SYSTSPRT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSTSIN DD TSO M9CLI ARCHIVE M9CLI ARCHIVE <DSNNAME OR DSN PATTERN> /
メインフレームストレージ管理者または開発者

JCL バッチでバックアップポリシーまたはアーカイブポリシーを実行します。

BMC AMI Cloud には M9SAPIJ というサンプル JCL ルーチンが用意されています。M9SAPIJ をカスタマイズして、管理サーバー上に作成された特定のポリシーを JCL で実行できます。このジョブは、バックアップと復元のプロセスを自動的に実行するバッチスケジューラの一部にすることもできます。

バッチジョブには以下の必須値が必要です。

  • 管理サーバの IP アドレス/ホスト名

  • ポート番号

  • ポリシー ID またはポリシー名 (管理サーバー上で作成される)

注記

サンプルジョブの指示に従って他の値を変更することもできます。

メインフレームストレージ管理者または開発者

関連リソース