と Terraform を使用してメインフレームアプリケーションをモダナイズ AWS Transform およびデプロイする - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

と Terraform を使用してメインフレームアプリケーションをモダナイズ AWS Transform およびデプロイする

Amazon Web Services、Mason Cahill、Polaris Jhandi、Prachi Khanna、Sivasubramanian Ramani、Santosh Kumar Singh

概要

AWS Transform は、.NET、メインフレーム、VMware ワークロードの大規模モダナイズを加速します。評価、コード分析、リファクタリング、分解、依存関係マッピング、検証、変換計画などの複雑なタスクを自動化する特殊な AI エージェントをデプロイします。このパターンは、 AWS Transform を使用してメインフレームアプリケーションをモダナイズし、Hashicorp Terraform を使用して AWS インフラストラクチャにデプロイする方法を示しています。この手順はオープンソースのメインフレームアプリケーションのサンプルである CardDemo を、COBOL から最新の Java アプリケーションに変換する際に利用できます。

前提条件と制限

前提条件

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

  • AWS リソースを作成してアプリケーションをデプロイするための管理アクセス許可

  • 設定済みの Terraform バージョン 1.5.7 以降

  • AWS Terraform のプロバイダー、設定済み

  • 有効なAWS IAM アイデンティティセンター

  • 有効なAWS Transform

  • 変換ジョブを実行できるコントリビューターロールを持つ AWS Transform ワークスペースにオンボーディングされたユーザー

制限事項

  • AWS Transform は一部の でのみ使用できます AWS リージョン。対応リージョンのリスト全文は「Supported Regions for AWS Transform」よりご確認ください。

  • AWS Transformのメインフレーム変換機能では Service Quota があります。詳細については、「AWS Transformのクォータ」を参照してください。

  • 共有ワークスペースでコラボレーションするには、すべてのユーザーが、 AWS Transform ウェブアプリケーションのインスタンス AWS IAM アイデンティティセンター に関連付けられている の同じインスタンスの登録済みユーザーである必要があります。

  • Amazon Simple Storage Service (Amazon S3) バケット と は、同じ AWS アカウント とリージョンにある AWS Transform 必要があります。

アーキテクチャ

次の図は、レガシーアプリケーションのエンドツーエンドのモダナイズと、 AWS クラウドへのデプロイを示しています。アプリケーションとデータベースの認証情報は に保存され AWS Secrets Manager、Amazon CloudWatch はモニタリングおよびログ記録機能を提供します。

AWS Transform は、Terraform を使用してメインフレームアプリケーションとデプロイをモダナイズします。

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

  1. を通じて AWS IAM アイデンティティセンター、ユーザーは AWS Transform で認証とアクセスを行います AWS アカウント。

  2. ユーザーは COBOL メインフレームコードを Amazon S3 バケットにアップロードし、 AWS Transformで変換を開始します。

  3. AWS Transform は COBOL コードをクラウドネイティブの Java コードにモダナイズし、モダナイズされたコードを Amazon S3 バケットに保存します。

  4. Terraform は、Application Load Balancer、Amazon Elastic Compute Cloud (Amazon EC2) インスタンス、Amazon Relational Database Service (Amazon RDS) データベースなど、モダナイズされたアプリケーションをデプロイするための AWS インフラストラクチャを作成します。Terraform は、モダナイズされたコードを Amazon EC2 インスタンスにデプロイします。

  5. VSAM ファイルは Amazon EC2 にアップロードされ、Amazon EC2 から Amazon RDS データベースに移行されます。

ツール

AWS のサービス

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

  • AWS IAM アイデンティティセンター を使用すると、 AWS アカウント およびクラウドアプリケーションへのシングルサインオン (SSO) アクセスを一元管理できます。

  • Amazon Relational Database Service (Amazon RDS) を使用して、 AWS クラウドでリレーショナルデータベース (DB) をセットアップ、運用、スケーリングできます。

  • AWS Secrets Manager を使用すると、コード内のハードコードされた認証情報 (パスワードを含む) を Secrets Manager への API コールで置き換えて、プログラムでシークレットを取得することができます。

  • Amazon Simple Storage Service (Amazon S3) は、あらゆる量のデータを保存、保護、取得できるクラウドベースのオブジェクトストレージサービスです。

  • AWS Transform はエージェンティック AI を使用して、.NET、メインフレーム、VMware ワークロードなどのレガシーワークロードのモダナイズを加速します。

その他のツール

  • Apache Maven は、Java プロジェクト用のオープンソースのソフトウェアプロジェクト管理およびビルド自動化ツールです。

  • Apache Tomcat は、Java コード用のオープンソースの Servlet コンテナおよびウェブサーバーです。

  • HashiCorp Terraform は、コードを使用してクラウドインフラストラクチャとリソースをプロビジョニングして管理するのに役立つ infrastructure as code (IaC) ツールです。

  • Spring Boot は、Java の Spring Framework 上に構築されたオープンソースフレームワークです。

コードリポジトリ

このパターンで使用するコードは、GitHub 内の「Mainframe Transformation E2E」リポジトリから取得できます。このパターンでは、オープンソースの AWS CardDemo メインフレームアプリケーションをサンプルアプリケーションとして使用します。

ベストプラクティス

  • 移行対象となるコードとリソースの完全な所有権を割り当てます。

  • 完全な移行にスケーリングする前に、概念実証を開発してテストします。

  • すべてのステークホルダーからのコミットメントを得てください。

  • 明確なコミュニケーションチャネルを確立します。

  • 実用最小限の製品 (MVP) 要件を定義し文書化します。

  • 明確な成功基準を設定します。

エピック

タスク説明必要なスキル

バケットを作成します。

AWS Transform が有効になっているのと同じ AWS アカウント およびリージョンに Amazon S3 バケットを作成します。このバケットを使用して、アプリケーションのビルドと実行に必要なメインフレームアプリケーションコード、データ、その他のスクリプトを保存します。 は、このバケット AWS Transform を使用して、リファクタリングされたコードと、変換に関連するその他のファイルを保存します。手順については、Amazon S3 ドキュメントの「バケットの作成」を参照してください。

一般的な AWS、AWS 管理者

バケットの CORS アクセス許可を設定します。

アクセス用にバケットを設定するときは AWS Transform 、バケットの Cross-Origin Resource Sharing (CORS) を設定する必要があります。正しく設定されていないと、 AWS Transformのインライン表示またはファイル比較機能が使用できなくなる場合があります。バケットの CORS を設定する方法について、詳しくは Amazon S3 バケットの「Cross−Origin Resource Sharing (CORS) の使用」をご確認ください。ポリシーについては、 AWS Transform ドキュメントのS3 バケット CORS アクセス許可」を参照してください。

一般的な AWS、AWS 管理者

サンプルメインフレームアプリケーションコードを準備します。

  1. 次のコマンドを入力し、CardDemo リポジトリをローカルのワークステーションにクローンします。

    git clone https://github.com/aws-samples/aws-mainframe-modernization-carddemo.git
  2. aws-mainframe-modernization-carddemo フォルダを ZIP ファイルに圧縮します。

  3. 作成した Amazon S3 バケットに ZIP ファイルをアップロードします。手順については、Amazon S3 ドキュメントの「オブジェクトのアップロード」を参照してください。

AWS 全般、アプリ開発者
タスク説明必要なスキル

AWS Transform ジョブをセットアップします。

  1. 認証情報を使用してログインして、 AWS Transform ウェブアプリケーションにアクセスします。

  2. AWS Transform ドキュメントの「ワークスペースのセットアップ」の手順に従って、新しいワークスペースを作成します。

  3. ワークスペースのランディングページで、ジョブの作成 AWS Transform を依頼を選択します

  4. 次に、ジョブのタイプとして [メインフレームのモダナイズ] を選択します。

  5. チャットウィンドウで [コードを Java に変換] と入力します。

  6. 推奨されるジョブタイプ、名前、目標を確認します。[はい] を押して確認します。

  7. [ジョブの作成] を選択します。 

アプリ開発者、アプリオーナー

コネクタをセットアップします。

  1. 作成した Amazon S3 バケットを使用してコネクタを設定します。手順については、 AWS Transform ドキュメントの「コネクタのセットアップ」を参照してください。プロンプトが表示されたら、Amazon S3 バケットの aws-mainframe-modernization-carddemo zip ファイルのパスを入力します。

  2. 分析が完了するまで待ちます。

アプリ開発者、アプリオーナー

コードを変換します。

  1. AWS Transform ドキュメントの「コードを分析する」の指示に従って、コード分析の結果を確認します。

  2. AWS Transform ドキュメントの「リファクタリングコード」の指示に従って、メインフレームコードをリファクタリングします。サンプル CardDemo メインフレームアプリケーションでは、デフォルト設定を受け入れることができます。

  3. リファクタリングが完了するまで待ちます。

  4. [結果の表示] を選択して、Amazon S3 バケット内のリファクタリングされたコードのパスを表示します。ファイルパスを書き留めておきます。後で必要になります。

アプリ開発者、アプリオーナー
タスク説明必要なスキル

テンプレートを更新します。

  1. 次のコマンドを入力して、メインフレーム変換 E2E リポジトリをローカルワークステーションにクローンします。

    git clone https://github.com/aws-samples/sample-mainframe-transformation-e2e.git
  2. 現在のパブリック IP アドレスを取得するには、次のコマンドを入力します。

    curl checkip.amazonaws.com
  3. 以下のコマンドを入力して、インフラストラクチャのディレクトリに移動します。

    cd mainframe-transformation-e2e/infra
  4. variables.tf ファイルを開きます。

  5. YOUR_IP_ADDRESS_HERE を IP アドレスに置き換えます。

  6. パブリックのホストゾーンがある場合は、次の操作を行います。

    1. hosted_zone_name をホストゾーン名に置き換えます。

    2. truehosted_zone_enabled を設定します。

    パブリックのホストゾーンがない場合は、次の操作を行います。

    1. 次のコマンドを入力して自己署名証明書を生成します。

      openssl genrsa 2048 > my-private-key.pem openssl req -new -x509 -nodes -sha256 -days 365 -key my-private-key.pem -outform PEM -out my-certificate.pem
    2. 次のコマンドを入力して、証明書を AWS Certificate Manager (ACM) にインポートします。

      aws acm import-certificate \ --certificate fileb://my-certificate.pem \ --private-key fileb://my-private-key.pem

      このコマンドの出力には、インポートされた証明書の Amazon リソースネーム (ARN) が含まれます。

    3. self_signed_cert_arn を証明書の ARN に置き換えます。

    4. hosted_zone_enabledfalse に設定します。

  7. aws_region をターゲットリージョンに変更します。デフォルトは us-east-1 です。

  8. variables.tf ファイルを保存して閉じます。

注記

本番稼働および本番稼働に近い環境では、追加のセキュリティコンポーネントを設定します。例えば、[AWS WAF Application Load Balancer の保護] を有効にします。

一般的な AWS、AWS 管理者

インフラストラクチャを準備します。

  1. 次のコマンドを入力して、Terraform を初期化します。

    terraform init
  2. 実行プランを生成するには、次のコマンドを入力します。

    terraform plan
  3. 計画を確認し、作成されるリソースとインフラストラクチャコンポーネントを検証します。

  4. 次のコマンドを入力してインフラストラクチャをデプロイします。

    terraform apply
  5. プロンプトが表示されたら、yes と入力してデプロイを確認します。

  6. デプロイが完了するまで待ちます。

Terraform
タスク説明必要なスキル

必要なソフトウェアをインストールします。

  1. AWS Systems Manager Session Manager を使用して Amazon EC2 インスタンスに接続します。

  2. ルートユーザーに切り替えるには、次のコマンドを入力します。

    sudo su -
  3. 以下のコマンドを入力して、scripts ディレクトリに移動します。

    cd /opt/scripts
  4. install_software.sh スクリプトを確認します。このスクリプトは、Java 17、Apache Maven、および Apache Tomcat 10.0.23 をインストールします。

  5. ユースケースに応じてスクリプトを更新します。

  6. 次のコマンドを入力して、スクリプトを実行可能にします。

    chmod +x install_software.sh
  7. 次のコマンドを入力してスクリプトを実行します。

    ./install_software.sh
アプリ開発者、移行エンジニア

ソフトウェアのインストールを確認します。

  1. 次のコマンドを入力して Tomcat サーバーを起動します。

    /opt/tomcat/apache-tomcat-10.0.23/bin/startup.sh
  2. 次のコマンドを入力してウェブサーバーのレスポンスを確認します。

    curl http://localhost:8080

    出力により、Tomcat が HTML ページを提供していることが確認されます。

アプリ開発者、移行エンジニア
タスク説明必要なスキル

生成されたコードをダウンロードして抽出します。

  1. download_and_extract.sh スクリプトを実行可能にするには、次のコマンドを入力します。このスクリプトは、Amazon S3 バケットに保存されているリファクタリングされたコードと Gapwalk ランタイムライブラリをダウンロードします。

    chmod +x /opt/scripts/download_and_extract.sh
  2. 次のコマンドを入力してスクリプトを実行します。<file_path> を Amazon S3 バケット内の generated.zip ファイルへのパスに置き換えます。

    ./download_and_extract.sh <file_path>
    注記

    ファイルパスは通常 s3://<bucket-name>/transform_output/<aws_transform_job_id>/codetransformation/generated.zip です。

  3. 次のコマンドを入力して、shared フォルダに移動します。

    cd /opt/runtime/velocity/shared
  4. deploy-velocity-runtime.sh スクリプトをコピーするには、次のコマンドを入力します。

    cp /opt/scripts/deploy-velocity-runtime.sh .
  5. 次のコマンドを入力して、コピーしたスクリプトを実行可能にします。

    chmod +x deploy-velocity-runtime.sh
  6. 次のコマンドを入力してスクリプトを実行します。このスクリプトは、プロジェクトオブジェクトモデル (POM) ファイルに存在するすべての必要な Web Application Archive (WAR) 依存関係をリポジトリフォルダにコピーします。

    ./deploy-velocity-runtime.sh
  7. エラーがないこと、および必要な WAR 依存関係がローカル Maven リポジトリにインストールされていることを確認します。

アプリ開発者、移行エンジニア

モダナイズされたアプリケーションを構築します。

  1. 以下のコマンドを入力して、app-pom プロジェクトディレクトリに移動します。

    cd /opt/codebase/app-pom/
  2. 次のコマンドを入力して Maven をインストールします。

    mvn clean install
  3. インストールと構築が完了するまで待ちます。

    注記

    CardDemo アプリケーションでこのコマンドを実行すると、app-web プロジェクトの警告メッセージが表示されることがあります。これらの警告は無視してかまいません。

  4. 構築が正常に完了したら、app-service/target/app-service-1.0.0.warapp-web/target/app-web-1.0.0.war が存在していることを確認します。

    重要

    この段階では Tomcat サーバーを再起動しないでください。必要なデータベースがないため、エラーが発生します。サーバーを再起動する前に、データベースを設定する必要があります。

アプリ開発者、移行エンジニア
タスク説明必要なスキル

データベースと JICS スキーマを作成します。

  1. 次のコマンドを入力して、csd commands フォルダの名前を csd_commands に変更します。これにより、フォルダ名からスペースが削除されます。

    mv /opt/codebase/extra/csd\ commands/ /opt/codebase/extra/csd_commands
  2. 以下のコマンドを入力して、scripts ディレクトリに移動します。

    cd /opt/scripts
  3. 次のコマンドを入力して、データベース移行スクリプトを実行可能にします。

    chmod +x database_migration_setup.sh
  4. 次のコマンドを入力して、次の変数をパラメータとして設定します。

    RDS_ENDPOINT=<database_endpoint> SECRET_NAME=<secret_name> JICS_SQL_SCRIPT_DIR=/opt/runtime/velocity/jics/sql/jics.sql INIT_JICS_SQL_SCRIPT_DIR=/opt/codebase/extra/csd_commands/sql/aws-mainframe-modernization-carddemo-main/app/csd/initJics.sql

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

    • <database_endpoint> は、Terraform を通じてデプロイした Amazon RDS データベースのエンドポイントです。

    • <secret_name> は、Terraform を通じてデプロイした AWS Secrets Manager シークレットの名前です。

  5. 次のコマンドを入力して、データベース移行スクリプトを実行します。

    ./database_migration_setup.sh $RDS_ENDPOINT $SECRET_NAME $JICS_SQL_SCRIPT_DIR $INIT_JICS_SQL_SCRIPT_DIR
  6. 次のコマンドを入力して、Amazon EC2 インスタンスからデータベースに接続します。

    psql -h <Your Amazon RDS Endpoint> -U foo -p 5432 postgres
  7. プロンプトが表示されたら、データベースの認証情報を入力します。

アプリ開発者、移行エンジニア

データベースの作成を検証します。

  1. すべてのデータベースを一覧表示するには、以下のコマンドを入力します。

    \l
  2. jics データベースに切り替えるには、次のコマンドを入力します。

    \c jics
  3. 次のコマンドを入力して、作成されたテーブルのリストを確認します。

    \dt
アプリ開発者、移行エンジニア

データを JICS データベースに移行します。

  1. execute_listcat_sql.sh スクリプトを実行可能にするには、次のコマンドを入力します。

    chmod +x execute_listcat_sql.sh
  2. 次のコマンドを入力して、LISTCAT SQL ファイルを含むディレクトリである PATH_TO_LISTCAT_SQL_FILES 変数を設定します。

    PATH_TO_LISTCAT_SQL_FILES=/opt/codebase/extra/listcat/sql/cluster/aws-mainframe-modernization-carddemo-main/app/catlg
  3. RDS_ENDPOINTSECRET_NAME、および PATH_TO_LISTCAT_SQL_FILES 変数が前の手順に従って正しく設定されていることを確認します。

  4. 次のコマンドを入力して execute_listcat_sql.sh スクリプトを実行します。

    ./execute_listcat_sql.sh $RDS_ENDPOINT $SECRET_NAME $PATH_TO_LISTCAT_SQL_FILES

    このスクリプトは、JICS データベースの VSAM ファイルプロパティを更新し、データベースを変更するために必要なクエリを実行します。

アプリ開発者、移行エンジニア
タスク説明必要なスキル

モダナイズ済みのアプリケーションを Amazon EC2 インスタンスにインストールします。

  1. application_installer.sh スクリプトを実行可能にするには、次のコマンドを入力します。

    chmod +x /opt/scripts/application_installer.sh
  2. 次のコマンドを入力して、次の変数をパラメータとして設定します。

    RDS_ENDPOINT=<database_endpoint> SECRET_NAME=<secret_name> AIX_JSON_FILE_PATH=/opt/codebase/extra/csd_commands/json/aws-mainframe-modernization-carddemo-main/jicsFileAix.json LISTCAT_JSON_FILES_DIR=/opt/codebase/extra/listcat/json/cluster/default/aws-mainframe-modernization-carddemo-main/app/catlg S3_PATH_FOR_EBCDIC_DATA_FILES=s3://<bucket_name>/transform-output/<job_id>/inputs/aws-mainframe-modernization-carddemo-main/app/data/EBCDIC

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

    • <database_endpoint> は、Terraform を通じてデプロイした Amazon RDS データベースのエンドポイントです。

    • <secret_name> は、Terraform を通じてデプロイした AWS Secrets Manager シークレットの名前です。

    • <bucket_name> は、モダナイズされたアプリケーションを含む Amazon S3 バケットの名前です。

    • <job_id> は AWS Transform ジョブの ID です。

  3. application_installer.sh スクリプトを実行するには、次のコマンドを入力します。

    ./application_installer.sh $RDS_ENDPOINT $SECRET_NAME $AIX_JSON_FILE_PATH $LISTCAT_JSON_FILES_DIR $S3_PATH_FOR_EBCDIC_DATA_FILES
  4. /opt/tomcat/apache-tomcat-10.0.23/workingdir/config フォルダの application-utility-pgm.yml ファイルで、エンコードパラメータを次のように変更します。

    encoding : CP1047
    注記

    AWS Blu Age を使用して でアプリケーション AWS Transform を自動的にリファクタリングする場合は、YAML ファイルを使用してアプリケーションとそのランタイム環境を設定します。例えば、アプリケーションの application-main.yml ファイルでログを設定できます。使用可能なプロパティの詳細については、AWS 「Blu Age ランタイムのプロパティを有効にする」を参照してください。

アプリ開発者、クラウドアーキテクト

Tomcat サーバーを再起動します。

  1. 以下のコマンドを入力して、ワーキングディレクトリに移動します。

    cd /opt/tomcat/apache-tomcat-10.0.23/workingdir
  2. Tomcat サーバーを停止および起動するには、次のコマンドを入力します。

    /opt/tomcat/apache-tomcat-10.0.23/bin/shutdown.sh /opt/tomcat/apache-tomcat-10.0.23/bin/startup.sh
  3. 次のコマンドを入力して、Tomcat のサービス起動ログをモニタします。

    tail -f /opt/tomcat/apache-tomcat-10.0.23/logs/catalina.out
アプリ開発者、クラウドアーキテクト

VSAM データセットを移行します。

  1. Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで、[Load Balancers] (ロードバランサー) を選択します。

  3. Terraform で作成されたロードバランサーを選択します。

  4. application-load-balancer-<id>.<region>.elb.amazonaws.com などの Application Load Balancer のドメインネームシステム (DNS) 名を見つけます。

  5. ブラウザで http://<dns_name>/gapwalk-application/scripts/data-load に移動します。ここで <dns_name> は Application Load Balancer の DSN 名です。これにより、データロードスクリプトが開始されます。

  6. スクリプトが完了するまで待ちます。完了すると、ブラウザに [DONE] と表示されます。

  7. Amazon EC2 インスタンスで、新しいターミナルを開きます。

  8. 次のコマンドを入力して Amazon RDS データベースに接続し、<database_endpoint> の値を置き換えます。

    psql -h <database_endpoint> -U foo -p 5432 postgres
  9. プロンプトが表示されたら、認証情報を入力してデータベースに接続します。

  10. すべてのデータベースを一覧表示するには、以下のコマンドを入力します。

    \l
  11. bluesam データベースに切り替えるには、次のコマンドを入力します。

    \c bluesam
  12. 次のコマンドを入力して、作成されたテーブルのリストを確認します。

    \dt
  13. データロードを確認するには、次のコマンドを入力します。

    SELECT * FROM public.aws_m2_carddemo_usrsec_vsam_ksds;

    返された 10 個のレコードがアウトプットに表示されます。

アプリ開発者、移行エンジニア

Groovy スクリプトのパラメータを更新します。

  1. 以下のコマンドを入力して、スクリプトディレクトリに移動します。

    cd /opt/tomcat/apache-tomcat-10.0.23/webapps/workingdir/scripts
  2. フラットファイルへの参照を含むすべての Groovy ファイルで、次のファイル設定を更新します。

    • ローカルファイルパス – Amazon EC2 インスタンスのローカルディレクトリにあるフラットファイルへのパス

    • ファイルシステムタイプ – フラットファイルを含むファイルシステム

    • レコードサイズ – フラットファイルのサイズ

    参照資料として、コードリポジトリのサンプル DUSRSECJ.jcl.groovy スクリプトもご確認ください。。

  3. ファイルを保存して閉じます。

アプリ開発者
タスク説明必要なスキル

モダナイズされたアプリケーションをテストします。

  1. Application Load Balancer (http://<your-load-balancer-dns>) またはホストゾーン (https://myhostedzone.dev/) からオンラインアプリケーションにアクセスします。

  2. トランザクション ID には、CC00 と入力します。

  3. ユーザー名に USER0001 と入力します。

  4. パスワードには PASSWORD と入力します。

    ログインに成功すると、メインメニューが表示されます。

アプリ開発者、テストエンジニア

バッチスクリプトを確認します。

  1. Application Load Balancer (http://<your-load-balancer-dns>/gapwalk-application/scripts) またはホストゾーン (https://myhostedzone.dev/gapwalk-application/scripts) からスクリプトインターフェイスにアクセスします。

  2. DUSRSECJ.jcl.groovy スクリプトなど、実行するスクリプトを選択します。

  3. スクリプトが正常に実行されたことを確認します。以下は、正常に実行された場合の出力例です。

    { "exitCode": 0, "stepName": "STEP03", "program": "IDCAMS", "status": "Succeeded" }
アプリ開発者、テストエンジニア
タスク説明必要なスキル

インフラストラクチャを削除する準備をします。

  1. 次のコマンドを入力して、Amazon RDS インスタンスから削除保護を削除します。

    aws rds modify-db-instance \ --db-instance-identifier <your-db-instance-name> \ --no-deletion-protection \ --apply-immediately
  2. 次のコマンドを入力して、Application Load Balancer から削除保護を削除します。

    aws elbv2 modify-load-balancer-attributes \ --load-balancer-arn <your-load-balancer-arn> \ --attributes Key=deletion_protection.enabled,Value=false
  3. 次のコマンドを入力して、Amazon S3 バケットの内容を削除します。

    ACCOUNT_NUMBER=$(aws sts get-caller-identity --query Account --output text) aws s3 rm s3://mf-carddemo-$ACCOUNT_NUMBER --recursive aws s3 rm s3://mf-carddemo-logs-$ACCOUNT_NUMBER --recursive
AWS 全般

インフラストラクチャを削除します。

重要

これらのステップにより、リソースは完全に削除されます。先に進む前に、重要なデータをバックアップしていることを確認してください。

  1. 次のコマンドを入力して、infra フォルダに移動します。

    cd /mainframe-transformation-e2e/infra
  2. 次のコマンドを入力してインフラストラクチャを削除します。

    terraform destroy --auto-approve    
AWS 全般

トラブルシューティング

問題ソリューション

Terraform 認証

  1. AWS 認証情報が正しく設定されていることを確認します。

  2. 正しい AWS プロファイルが選択されていることを確認します。

  3. 必要なアクセス許可があることを確認してください。

Tomcat 関連のエラー

  1. 例外については、/opt/tomcat/apache-tomcat-10.0.23/logs の「catalina.out」をご確認ください。

  2. 次のコマンドを入力して、Tomcat フォルダの所有権を Tomcat ユーザーに変更します。

    chown -R tomcat:tomcat /opt/tomcat/*

URL 名がロードされない

Application Load Balancer セキュリティグループに、ソースとしてインバウンドルールに IP アドレスがあることを確認します。

Tomcat ログの認証の問題

のデータベースシークレットパスワード AWS Secrets Manager と server.xml のパスワードが一致していることを確認します。

関連リソース

AWS 規範ガイダンス

AWS サービスドキュメント

AWS ブログ投稿