

AWS Mainframe Modernization Service （受管執行期環境體驗） 不再開放給新客戶使用。對於與 AWS Mainframe Modernization Service （受管執行期環境體驗） 類似的功能，探索 AWS Mainframe Modernization Service （自我管理體驗）。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[AWS 大型主機現代化可用性變更](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 設定大型主機執行期的 AWS 轉換
<a name="ba-runtime-setup"></a>

本節說明在 AWS 基礎設施上設定大型主機執行期 AWS 轉換的步驟。為應用程式設定大型主機執行期 AWS 轉換之前，請先了解先決條件、區域和儲存貯體，以及設定和管理執行期環境的 CloudWatch 警示設定。

**Topics**
+ [AWS 大型主機執行期先決條件的轉換](ba-runtime-setup-prereq.md)
+ [大型主機執行期的加入 AWS 轉換](ba-runtime-setup-onboard.md)
+ [適用於大型主機執行期之 AWS Transform 的基礎設施設定需求](ba-infrastructure-setup.md)
+ [AWS 大型主機執行期成品的轉換](ba-runtime-artifacts.md)
+ [在 Amazon EC2 上部署大型主機執行期的 AWS 轉換](ba-deploy-ec2.md)
+ [在 Amazon ECS 和 Amazon EKS 上的容器上部署大型主機執行期的 AWS 轉換](ba-deploy-container.md)
+ [測試 PlanetsDemo 應用程式](ba-runtime-test-planetsdemo.md)

# AWS 大型主機執行期先決條件的轉換
<a name="ba-runtime-setup-prereq"></a>

AWS 大型主機執行期的轉換可在數個[AWS 大型主機版本備註的轉換](ba-release-notes.md)發行版本中使用。如果您有持續的現代化專案，您可能需要執行時間的增量版本，以便實作和測試。若要定義您的需求，請聯絡適用於大型主機交付管理員的 AWS Transform。

開始針對大型主機執行期使用 AWS 轉換之前，請執行下列動作：
+ 請確定您擁有 AWS 帳戶。
+ 請確定您的現代化應用程式已透過適用於大型主機的 AWS Transform 進行重構。
+ 選擇 AWS 區域，以及適用於大型主機執行期的 AWS Transform 支援的其中一個運算選項。
+ 選擇您要使用之大型主機執行期版本的 AWS 轉換。
+ 檢閱[適用於大型主機執行期之 AWS Transform 的基礎設施設定需求](ba-infrastructure-setup.md)並驗證執行大型主機執行期 AWS 轉換所需的其他元件。

**注意**  
如果您想要測試大型主機執行期 AWS 轉換的功能，您可以使用示範應用程式 `Planets Demo`，您可以從 [PlanetsDemo-v1.zip](https://d3lkpej5ajcpac.cloudfront.net/demo/bluage/PlanetsDemo-v1.zip) 下載。

# 大型主機執行期的加入 AWS 轉換
<a name="ba-runtime-setup-onboard"></a>

**注意**  
大型主機執行期存取的 AWS 轉換已從票證型請求轉換，以透過[大型主機重構的 AWS 轉換](https://bluinsights.aws/)直接下載。我們已透過 AWS 轉換中用於大型主機重構[AWS Transform for mainframe的工具箱](https://bluinsights.aws/docs/bluage-toolbox-introduction)功能，推出一種新的簡化方式來存取AWS Transform for mainframe產品。

若要開始使用，請建立[AWS 支援](https://support.console.aws.amazon.com/support/home)案例來請求加入以存取大型主機執行期的 AWS 轉換。在您的請求中包含您的 AWS 帳戶 ID、您要使用的 AWS 區域，以及運算選擇，以及大型主機執行時間版本的 AWS 轉換。如果您不確定需要哪個版本，請聯絡適用於大型主機交付管理員的 AWS Transform。如果您已經有 AWS Mainframe Modernization Refactoring 工具產生的應用程式程式碼來源，請將`gapwalk.version`標籤值記錄在現代化程式碼基礎內的`pom.xml`檔案中。

**注意**  
大型主機執行期的 AWS 轉換有兩種主要類型：Alpha 發行前版本和發行版本。若要判斷要使用哪個版本，請參閱 [AWS 大型主機版本控制的轉換](ba-versioning.md)，或聯絡適用於大型主機交付管理員的 AWS Transform。

## 適用於大型主機執行期 AWS 轉換的區域和儲存貯體
<a name="ba-runtime-setup-buckets"></a>

我們會依區域和運算選擇，將大型主機執行期成品的 AWS 轉換存放在不同的 Amazon S3 儲存貯體中。若要存取 AWS 區域 for AWS Transform for mainframe Runtime 的 儲存貯體，請使用下表所列的名稱。


| AWS 區域 | 發行儲存貯體 | Alpha 發行前儲存貯體 | 
| --- | --- | --- | 
|  美國東部 (俄亥俄)  |  aws-bluage-runtime-artifacts-055777665268-us-east-2  | aws-bluage-runtime-artifacts-dev-055777665268-us-east-2 | 
|  美國東部 (維吉尼亞北部)  |  aws-bluage-runtime-artifacts-139023371234-us-east-1  | aws-bluage-runtime-artifacts-dev-139023371234-us-east-1 | 
|  美國西部 (加利佛尼亞北部)  |  aws-bluage-runtime-artifacts-788454048782-us-west-1  | aws-bluage-runtime-artifacts-dev-788454048782-us-west-1 | 
|  美國西部 (奧勒岡)  |  aws-bluage-runtime-artifacts-836771190483-us-west-2  | aws-bluage-runtime-artifacts-dev-836771190483-us-west-2 | 
|  加拿大 (中部)  |  aws-bluage-runtime-artifacts-637423580979-ca-central-1  |  aws-bluage-runtime-artifacts-dev-637423580979-ca-central-1  | 
|  歐洲 (愛爾蘭)  |  aws-bluage-runtime-artifacts-925278190477-eu-west-1  | aws-bluage-runtime-artifacts-dev-925278190477-eu-west-1 | 
|  歐洲 (倫敦)  |  aws-bluage-runtime-artifacts-767397831990-eu-west-1  |  aws-bluage-runtime-artifacts-dev-767397831990-eu-west-1  | 
|  Europe (Paris)  |  aws-bluage-runtime-artifacts-673009995881-eu-west-3  | aws-bluage-runtime-artifacts-dev-673009995881-eu-west-3 | 
|  歐洲 (法蘭克福)  |  aws-bluage-runtime-artifacts-485196800481-eu-central-1  | aws-bluage-runtime-artifacts-dev-485196800481-eu-central-1 | 
|  歐洲 (斯德哥爾摩)  |  aws-bluage-runtime-artifacts-654654484534-eu-north-1  |  aws-bluage-runtime-artifacts-dev-654654484534-eu-north-1  | 
|  歐洲 (米蘭)  |  aws-bluage-runtime-artifacts-654654328338-eu-south-1  |  aws-bluage-runtime-artifacts-dev-654654328338-eu-south-1  | 
|  歐洲 (西班牙)  |  aws-bluage-runtime-artifacts-905417994954-eu-south-2  |  aws-bluage-runtime-artifacts-dev-905417994954-eu-south-2  | 
|  南美洲 (聖保羅)  |  aws-bluage-runtime-artifacts-737536804457-sa-east-1  | aws-bluage-runtime-artifacts-dev-737536804457-sa-east-1 | 
|  亞太地區 (東京)  |  aws-bluage-runtime-artifacts-445578176276-ap-northeast-1  | aws-bluage-runtime-artifacts-dev-445578176276-ap-northeast-1 | 
|  亞太地區 (首爾)  |  aws-bluage-runtime-artifacts-381492221498-ap-northeast-2  |  aws-bluage-runtime-artifacts-dev-381492221498-ap-northeast-2  | 
|  亞太地區 (大阪)  |  aws-bluage-runtime-artifacts-905418229615-ap-northeast-3  |  aws-bluage-runtime-artifacts-dev-905418229615-ap-northeast-3  | 
|  亞太地區 (新加坡)  |  aws-bluage-runtime-artifacts-767397774613-ap-southeast-1  |  aws-bluage-runtime-artifacts-dev-767397774613-ap-southeast-1  | 
|  亞太地區 (悉尼)  |  aws-bluage-runtime-artifacts-726160321909-ap-southeast-2  | aws-bluage-runtime-artifacts-dev-726160321909-ap-southeast-2 | 
|  亞太地區 (孟買)  |  aws-bluage-runtime-artifacts-905418353577-ap-south-1  |  aws-bluage-runtime-artifacts-dev-905418353577-ap-south-1  | 
|  非洲 (開普敦)  |  aws-bluage-runtime-artifacts-992382777663-af-south-1  |  aws-bluage-runtime-artifacts-dev-992382777663-af-south-1  | 
|  以色列 (特拉維夫)  |  aws-bluage-runtime-artifacts-471112516508-il-central-1  |  aws-bluage-runtime-artifacts-dev-471112516508-il-central-1  | 

## 使用 AWS CLI 列出儲存貯體的內容
<a name="ba-runtime-setup-cmds"></a>

加入後，您可以在終端機中執行下列 AWS CLI 命令，列出儲存貯體的內容。

`aws s3 ls bucket-name `

`bucket-name` 將 取代為上一個資料表中 的 儲存貯 AWS 區域 體名稱。

此命令會傳回對應至大型主機執行期執行期 AWS 轉換不同版本的資料夾清單，例如發行儲存貯體的下列資料夾：

```
PRE 4.0.0/
PRE 4.10.0/
```

或者，建置儲存貯體的下列項目：

```
PRE 4.11.0/
PRE 4.13.0/
```

我們建議您使用最新版本。如果無法這麼做，請使用在應用程式重構階段驗證的執行時間版本。若要列出特定版本的可用架構，請執行下列命令：

`aws s3 ls s3://bucket-name/version/Framework/`

`bucket-name` 將 取代為 的儲存貯體名稱 AWS 區域 ，並將 `version`取代為您想要的版本。以下是兩個範例。

對於發行儲存貯體：

`aws s3 ls s3://aws-bluage-runtime-artifacts-139023371234-us-east-1/4.10.0/Framework/`

命令會傳回 zip 檔案的清單，例如：

```
2025-04-08 16:11:19  152040176 aws-bluage-runtime-4.10.0.zip
2025-04-08 16:11:52  176518889 aws-bluage-webapps-4.10.0.zip
```

對於 Alpha 發行前儲存貯體：

`aws s3 ls s3://aws-bluage-runtime-artifacts-dev-139023371234-us-east-1/4.11.0/Framework/`

命令會傳回 zip 檔案的清單，例如：

```
2025-04-09 20:23:34  152304534 aws-bluage-runtime-4.11.0.zip
2025-04-09 20:24:07  176262381 aws-bluage-webapps-4.11.0.zip
```

## 下載架構
<a name="ba-runtime-setup-download"></a>

您可以下載架構，例如升級現有 Amazon EC2 執行個體上大型主機執行期版本的 AWS 轉換。

`aws s3 cp s3://bucket-name/version/Framework/ folder-of-your-choice --recursive `

其中：

folder-of-your-choice  
您要下載架構的資料夾路徑。

例如：`aws s3 cp s3://aws-bluage-runtime-artifacts-139023371234-us-east-1/4.0.0/Framework/ . --recursive`

此命令會產生以下的輸出：

```
download: s3://aws-bluage-runtime-artifacts-139023371234-us-east-1/4.0.0/Framework/aws-bluage-webapps-4.0.0.zip to ./aws-bluage-webapps-4.0.0.zip
download: s3://aws-bluage-runtime-artifacts-139023371234-us-east-1/4.0.0/Framework/aws-bluage-runtime-4.0.0.zip to ./aws-bluage-runtime-4.0.0.zip
```

您可以列出架構檔案，如下所示：

`ls -l`

此命令會產生以下的輸出：

```
total 230928
-rw-rw-r-- 1 cloudshell-user cloudshell-user 152040176 Apr  8 16:11 aws-bluage-runtime-4.0.0.zip
-rw-rw-r-- 1 cloudshell-user cloudshell-user 176518889 Apr  8 16:11 aws-bluage-webapps-4.0.0.zip
```

**注意**  
可能會暫時中斷對成品的存取，而且基於安全考量，可能會移除版本。我們強烈建議您將使用的成品存放在您自己的帳戶中。本機版本應該用於內部架構中的參考。

# 適用於大型主機執行期之 AWS Transform 的基礎設施設定需求
<a name="ba-infrastructure-setup"></a>

本主題說明執行大型主機執行期 AWS 轉換所需的最低基礎設施組態。下列程序說明如何在您選擇的運算上設定大型主機執行期 AWS 的轉換，以在大型主機執行期的 AWS 轉換上部署現代化應用程式。您建立的資源必須位於具有專屬於您應用程式網域之子網路的 Amazon VPC 中。

**Topics**
+ [基礎設施需求](#infrastructure-requirements)
+ [在 Amazon EC2 上執行大型主機執行期的 AWS 轉換](#ba-running-on-ec2)
+ [在 Amazon EC2 上的 Amazon EC2 上執行大型主機執行期的 AWS 轉換](#ba-running-on-ecs-on-ec2)
+ [在 Amazon EC2 上的 Amazon EKS 上執行大型主機執行期的 AWS 轉換](#ba-running-on-eks-on-ec2)
+ [在由 管理的 Amazon ECS 上執行大型主機執行期的 AWS 轉換 AWS Fargate](#ba-running-on-fargate)

## 基礎設施需求
<a name="infrastructure-requirements"></a>

**建立安全群組**

如果您計劃在 Amazon EKS 上使用 Amazon EC2 執行個體，請略過此程序，因為 Amazon EKS 叢集建立程序會代表您建立安全群組。在下列程序中使用該安全群組，而不是建立新的安全群組。

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在左側導覽窗格**的安全**下，選擇**安全群組**。

1. 在中央窗格中，選擇**建立安全群組**。

1. 在**安全群組名稱**欄位中，輸入 **M2BluagePrivateLink-SG**。

1. 在 **Inbound rules (傳入規則)** 區段中，選擇 **Add rule (新增規則)**。

1. 針對**類型**，選擇 HTTPS。

1. 針對**來源**輸入您的 VPC CIDR。

1. 在**傳出規則**區段中，選擇**新增規則**。

1. 針對**類型**，選擇 HTTPS。

1. 針對 **Destination (目標)**，輸入 **0.0.0.0/0**。

1. 選擇**建立安全群組**。

**建立 IAM 角色**

1. 前往 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在左側導覽窗格的**存取管理**下，選擇**角色**。

1. 在中央窗格中，選擇**建立角色**。

1. 在**使用案例**區段中，根據您的運算選擇，選擇下列其中一項：
   + **EC2** （適用於 Amazon EC2 和 Amazon EC2 上的 Amazon EKS)
   + **Elastic Container Service** 和 **Elastic Container Service 的 EC2 角色** （適用於 Amazon EC2 上的 Amazon EC2)
   + **Elastic Container Service**，然後 **Elastic Container Service Task** （適用於 Fargate 管理的 Amazon ECS)

1. 選擇**下一步**。

1. 輸入角色名稱，然後選擇**建立角色**。

## 在 Amazon EC2 上執行大型主機執行期的 AWS 轉換
<a name="ba-running-on-ec2"></a>

若要建立 Amazon EC2 執行個體，請使用下列步驟。

**建立 Amazon EC2 執行個體**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 選擇**啟動執行個體**。

1. 針對**執行個體類型**，選擇 EC2 可用的執行個體類型。

1. 在**金鑰對**區段中，選擇現有的金鑰對或建立新的金鑰對。

1. 在**網路設定**區段中，選擇**選取現有的安全群組**。

1. 針對**一般安全群組**，選擇 **M2BluagePrivateLink-SG**。

1. 展開**進階詳細資訊**區段。

1. 針對 **IAM 執行個體描述檔**，選擇您先前建立的 IAM 角色。

1. 選擇**啟動執行個體**。

**在 Amazon EC2 執行個體上安裝應用程式**

1. 當 Amazon EC2 執行個體的狀態變更為**執行**中時，請連線至執行個體。

1. 在執行個體上安裝下列軟體元件 （請參閱 中提及的版本[AWS 大型主機版本備註的轉換](ba-release-notes.md))：
   + Java 執行期環境 (JRE)。
   + Apache Tomcat。
   + AWS 大型主機執行期的轉換 （在 Amazon EC2 上）。在 Apache Tomcat 安裝資料夾的根目錄安裝大型主機執行期的 AWS 轉換 （有些檔案會新增，有些檔案則會覆寫）。

   若要安裝與大型主機執行期封存 AWS 轉換一起交付的其他 Web 應用程式，請設定 Apache Tomcat 伺服器的次要執行個體，然後解壓縮該位置的 Web 應用程式封存。如需詳細說明，請參閱 [AWS 大型主機執行期成品的轉換](ba-runtime-artifacts.md)。

## 在 Amazon EC2 上的 Amazon EC2 上執行大型主機執行期的 AWS 轉換
<a name="ba-running-on-ecs-on-ec2"></a>

1. 建立 Amazon ECS 叢集，並將 **Amazon EC2 執行個體**做為基礎基礎設施。請參閱《[Amazon Elastic Container Service 開發人員指南》中的 Windows on Amazon EC2 入門](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/getting-started-ecs-ec2-v2.html#getting-started-ec2-cluster-v2)。

1. 指定您在先前步驟中建立的 IAM 角色。

1. 選擇 EC2 執行個體類型。

1. 在 **Amazon EC2 執行個體的網路設定**中，選擇您在先前步驟中建立的安全群組。

## 在 Amazon EC2 上的 Amazon EKS 上執行大型主機執行期的 AWS 轉換
<a name="ba-running-on-eks-on-ec2"></a>

1. 建立 Amazon EKS 叢集。請參閱《[Amazon EKS 使用者指南》中的建立 Amazon EKS 叢集](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html)。 **

1. 如前所述，系統會代表您建立安全群組。

1. 建立節點群組。指定您在先前步驟中建立的 IAM 角色。

1. 選擇 EC2 執行個體類型。

1. Amazon EKS 會自動將安全群組指派給產生的 Amazon EC2 執行個體。

## 在由 管理的 Amazon ECS 上執行大型主機執行期的 AWS 轉換 AWS Fargate
<a name="ba-running-on-fargate"></a>

使用 **AWS Fargate （無伺服器） **作為基礎基礎設施來建立 Amazon ECS 叢集。請參閱《*Amazon Elastic Container Service 開發人員指南*》中的 [Fargate 入門](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/getting-started-fargate.html)。

# AWS 大型主機執行期成品的轉換
<a name="ba-runtime-artifacts"></a>

AWS 大型主機執行期成品的轉換是部署和執行現代化應用程式的元件。本文件概述了不同類型的可用成品、其儲存位置，以及如何存取它們。

## AWS 大型主機執行期成品的轉換
<a name="ba-runtime-artifacts-contents"></a>

### 成品內容
<a name="ba-runtime-artifacts-artifacts"></a>

在發行和發行前儲存貯體中，您會找到：

**gapwalk-x.y.z.zip**

此封存，其中 x.y.z 代表版本編號 （請參閱[AWS 大型主機版本控制的轉換](https://docs.aws.amazon.com/m2/latest/userguide/ba-versioning.html))，其中包含執行大型主機應用程式 AWS 轉換所需的大型主機執行期元件核心 AWS 轉換，包括：


| Artifact | 說明 | Type | 分佈資料夾 | 
| --- | --- | --- | --- | 
| gapwalk-application-x.y.z.war | AWS Transform for mainframe 主要 Web 應用程式 Gapwalk | 戰鬥 | Web 應用程式 | 
| \$1.jar | AWS Transform for mainframe 執行期架構共用程式庫 (Gapwalk) | Jars | shared | 
| gapwalk-\$1-x.y.z.war | AWS Transform for mainframe 其他 Web 應用程式 (utility-pgm、階層式支援、... ) | 戰鬥 | Webapps-extra | 
| bac-x.y.z.war / jac-x.y.z.war | AWS Transform for mainframe 管理主控台 （非獨立） | 戰鬥 | webapps-consoles | 

**aws-bluage-webapps-x.y.z.zip**

此封存，其中 x.y.z 遵循與上述相同的版本控制機制，包括AWS Transform for mainframe管理主控台 （獨立）
+ **BAC** (Blusam 主控台） WAR 檔案，用於監控Blusam資料庫。
+ **JAC** (JICS 主控台） WAR 檔案，用於監控 JICS 資料庫。
+ 必要的支援程式庫。

### 套件簽章驗證
<a name="ba-runtime-signed"></a>

發行的 zip 檔案以數位簽章 ZIP 封存形式提供，以確保安全性和真實性。數位簽章有助於驗證您下載的檔案是否為正版、未變更且由我們的組織正式發行。這可防止篡改並防止可能惡意散佈的惡意軟體或遭到入侵的檔案。

若要在使用 ZIP 檔案之前驗證其簽章，您可以使用下列命令：

`jarsigner -verify -certs -verbose aws-bluage-runtime-x.y.z.zip`

認證檔案 的結果範例如下：

```
...
jar verified.
```

如需如何解決安全漏洞的詳細資訊，請參閱 [AWS Mainframe Modernization Refactor with AWS Transform for mainframe Release Overview](https://docs.aws.amazon.com/m2/latest/userguide/lifecycle-m2.html#lifecycle-ba-overview)。

**注意**  
雖然我們努力在沒有 CVEs 的情況下發佈產品，但之後可能會出現新的 CVEs。

# 在 Amazon EC2 上部署大型主機執行期的 AWS 轉換
<a name="ba-deploy-ec2"></a>

您可以了解如何在 Amazon EC2 上設定大型主機執行期的 AWS 轉換、如何更新執行期版本、如何使用 Amazon CloudWatch 警示來監控您的部署，以及如何使用本節中的主題新增授權相依性。當您建立 Amazon EC2 執行個體，以及在 Amazon EC2 上使用 Amazon ECS 或 Amazon EC2 上使用 Amazon EC2 EKS 時，這些指示適用。

從 alpha 5.60.0 版開始，適用於大型主機執行期分佈的 AWS Transform 包含具有完整 README.md 檔案的部署資料夾。本指南提供step-by-step Amazon EC2 部署說明、組態選項和疑難排解秘訣。

**Topics**
+ [在 Amazon EC2 上設定大型主機執行期的 AWS 轉換](ba-runtime-deploy-ec2.md)
+ [升級 Amazon EC2 上大型主機執行期的 AWS 轉換](ba-runtime-maint-ec2.md)
+ [設定大型主機執行期 （在 Amazon EC2 上） Amazon CloudWatch 警示的 AWS 轉換](ba-cw-alarms-ec2.md)
+ [在 Amazon EC2 上的大型主機執行期 AWS 轉換中設定授權相依性](ba-runtime-dependencies-ec2.md)

# 在 Amazon EC2 上設定大型主機執行期的 AWS 轉換
<a name="ba-runtime-deploy-ec2"></a>

本主題說明如何在 Amazon EC2 上使用適用於大型主機執行期的 AWS Transform 來設定和部署 PlanetsDemo 範例應用程式。

**Topics**
+ [先決條件](#ba-runtime-deploy-prereq)
+ [設定](#ba-runtime-deploy-setup)
+ [測試部署的應用程式](#ba-runtime-deploy-test)

## 先決條件
<a name="ba-runtime-deploy-prereq"></a>

開始之前，請務必完成下列先決條件。
+  AWS CLI 請依照設定 [AWS CLI 中的步驟來設定 ](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)。
+ 完成 [AWS 大型主機執行期先決條件的轉換](ba-runtime-setup-prereq.md)和 [大型主機執行期的加入 AWS 轉換](ba-runtime-setup-onboard.md)。
+ 使用其中一個支援的執行個體類型建立 Amazon EC2 執行個體。如需詳細資訊，請參閱 [Amazon EC2 Linux 執行個體入門](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html)。
+ 請確定您可以成功連線至 Amazon EC2 執行個體，例如使用 SSM。
**注意**  
在本指南中，Tomcat 安裝路徑假設為 `/m2-anywhere/tomcat-gapwalk/velocity`。遵循下列指示時，請務必使用此路徑，或將下列指示調整為您選擇的路徑。
+ 將大型主機執行期 （在 Amazon EC2 上） 的 AWS 轉換直接下載並解壓縮至速度目錄 `/m2-anywhere/tomcat-gapwalk/velocity`(Tomcat 安裝資料夾）。如需如何擷取大型主機執行期成品 AWS 轉換的指示，包括儲存、存取和內容的相關資訊，請參閱 [AWS 大型主機執行期成品的轉換](ba-runtime-artifacts.md)。
+ 下載 [PlanetsDemo 應用程式封存](https://d3lkpej5ajcpac.cloudfront.net/demo/bluage/PlanetsDemo-v1.zip)。
+ 解壓縮封存檔，並將應用程式上傳到您選擇的 Amazon S3 儲存貯體。
+ 為 JICS 建立 Amazon Aurora PostgreSQL 資料庫。大型主機執行期的 AWS 轉換會在第一次啟動期間自動執行`PlanetsDemo-v1/jics/sql/initJics.sql`指令碼。如需有關如何建立 Amazon Aurora PostgreSQL 資料庫的資訊，請參閱[建立並連線至 Aurora PostgreSQL 資料庫叢集](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.AuroraPostgreSQL.html#CHAP_GettingStarted.AuroraPostgreSQL.CreateDBCluster)。

## 設定
<a name="ba-runtime-deploy-setup"></a>

若要設定 PlanetsDemo 範例應用程式，請完成下列步驟。

1. 連線至 Amazon EC2 執行個體，並前往 Apache Tomcat 安裝`conf`資料夾下的 資料夾。開啟 `catalina.properties` 檔案進行編輯，並以下列行取代開頭`common.loader`為 的行。

   ```
   common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar","${catalina.home}/shared","${catalina.home}/shared/*.jar","${catalina.home}/extra","${catalina.home}/extra/*.jar"
   ```

1. 導覽至 `/m2-anywhere/tomcat-gapwalk/velocity/webapps` 資料夾。

1. 使用下列命令，從 Amazon S3 儲存貯體複製`PlanetsDemo-v1/webapps/`資料夾提供的 PlanetsDemo 二進位檔。

   ```
   aws s3 cp s3://path-to-demo-app-webapps/ . --recursive
   ```
**注意**  
針對您先前解壓縮 PlanetsDemo 封存的儲存貯體，`path-to-demo-app-webapps`以正確的 Amazon S3 URI 取代 。

1. 將`PlanetsDemo-v1/config/`資料夾的內容複製到 `/m2-anywhere/tomcat-gapwalk/velocity/config/`。

1. 在 `/m2-anywhere/tomcat-gapwalk/velocity/config/application-main.yml` 檔案的下列程式碼片段中提供您在先決條件中建立之資料庫的連線資訊。如需詳細資訊，請參閱[建立並連線至 Aurora PostgreSQL 資料庫叢集](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.AuroraPostgreSQL.html#CHAP_GettingStarted.AuroraPostgreSQL.CreateDBCluster)。

   ```
   datasource:
      jicsDs:
        driver-class-name :  
        url: 
        username: 
        password: 
        type :
   ```

1. 啟動 Apache Tomcat 伺服器並驗證日誌。

   ```
   /m2-anywhere/tomcat-gapwalk/velocity/startup.sh
   
   tail -f /m2-anywhere/tomcat-gapwalk/velocity/logs/catalina.log
   ```

   如果您找到以 C 開頭的錯誤代碼，後面接著 CXXXX 等數字，請注意錯誤訊息。例如，錯誤碼 C5102 是表示基礎設施組態不正確的常見錯誤。

## 測試部署的應用程式
<a name="ba-runtime-deploy-test"></a>

如需如何測試 PlanetsDemo 應用程式的範例，請參閱 [測試 PlanetsDemo 應用程式](ba-runtime-test-planetsdemo.md)。

# 升級 Amazon EC2 上大型主機執行期的 AWS 轉換
<a name="ba-runtime-maint-ec2"></a>

本指南說明如何升級 Amazon EC2 上大型主機執行期的 AWS 轉換。

**Topics**
+ [先決條件](#ba-runtime-maint-prereq)
+ [升級 Amazon EC2 執行個體中大型主機執行期的 AWS 轉換](#ba-runtime-maint-copy-files)
+ [升級容器中大型主機執行期的 AWS 轉換](#ba-runtime-maint-copy-files)

## 先決條件
<a name="ba-runtime-maint-prereq"></a>

開始之前，請確定您符合下列先決條件。
+ 若要檢查您的版本是否有特定指示，請參閱 [升級適用於大型主機之 AWS Transform 的指示](ba-migration-notes.md)。
+ 完成 [AWS 大型主機執行期先決條件的轉換](ba-runtime-setup-prereq.md)和 [大型主機執行期的加入 AWS 轉換](ba-runtime-setup-onboard.md)。
+ 請確定您的 Amazon EC2 執行個體具有適用於大型主機執行期安裝的現有 AWS 轉換。如需詳細資訊，請參閱 [Amazon EC2 Linux 執行個體入門](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html)。
+ 請確定您可以成功連線至 Amazon EC2 執行個體，例如使用 SSM。
+ 下載您要升級之大型主機執行期版本的 AWS 轉換。框架包含兩個封存檔案： `gapwalk-x.y.z.zip`和 `aws-bluage-webapps-x.y.z.zip`。如需詳細資訊，請參閱[AWS 大型主機執行期成品的轉換](ba-runtime-artifacts.md)。

## 升級 Amazon EC2 執行個體中大型主機執行期的 AWS 轉換
<a name="ba-runtime-maint-copy-files"></a>

完成下列步驟，以升級大型主機執行期的 AWS 轉換。

1. 連線至您的 Amazon EC2 執行個體，並執行下列命令，將使用者變更為 **su**。

   ```
   sudo su
   ```

   您需要超級使用者權限才能在本教學課程中執行命令。

1. 若要擷取二進位檔，請使用下列命令。在每個資料夾中執行命令。

   ```
   unzip gapwalk-x.y.z.zip
   unzip aws-bluage-webapps-x.y.z.zip
   ```

1. 使用以下命令停止 Apache Tomcat 服務。

   ```
   systemctl stop tomcat.service
   systemctl stop tomcat-webapps.service
   ```

1. 將 的內容取代`<your-tomcat-path>/shared/`為 的內容`gapwalk-x.y.z/shared/`。

1. 使用 `gapwalk-x.y.z/webapps/gapwalk-application.war` 取代 `<your-tomcat-path>/webapps/gapwalk-application.war`。

1. 使用來自 的相同檔案取代 中的 war 檔案`jac.war`，`<your-tomcat-path>/webapps/`也就是 `bac.war`和 `aws-bluage-webapps-x.y.z/velocity/webapps/`。

1. 執行下列命令來啟動 Apache Tomcat 服務。

   ```
   systemctl start tomcat.service
   systemctl start tomcat-webapps.service
   ```

1. 檢查日誌。

若要檢查已部署應用程式的狀態，請執行下列命令。

```
curl http://localhost:8080/gapwalk-application/
```

應該會顯示以下訊息。

```
Jics application is running
```

```
curl http://localhost:8181/jac/api/services/rest/jicsservice/
```

應該會顯示以下訊息。

```
Jics application is running
```

```
curl http://localhost:8181/bac/api/services/rest/bluesamserver/serverIsUp
```

回應應該是空的。

大型主機執行時間的 AWS 轉換已成功升級。

## 升級容器中大型主機執行期的 AWS 轉換
<a name="ba-runtime-maint-copy-files"></a>

完成下列步驟，以升級大型主機執行期的 AWS 轉換。

1. 使用大型主機執行期版本所需的 AWS 轉換來重建 Docker 映像。如需說明，請參閱[在 Amazon EC2 上設定大型主機執行期的 AWS 轉換](ba-runtime-deploy-ec2.md)。

1. 將 Docker 映像推送至 Amazon ECR 儲存庫。

1. 停止並重新啟動您的 Amazon ECS 或 Amazon EKS 服務。

1. 檢查日誌。

大型主機執行期的 AWS 轉換已成功升級。

# 設定大型主機執行期 （在 Amazon EC2 上） Amazon CloudWatch 警示的 AWS 轉換
<a name="ba-cw-alarms-ec2"></a>

您可以設定 CloudWatch 來接收應用程式日誌，並新增警示來警告您可能發生的錯誤。這可讓您在部署的應用程式遇到例外狀況時，收到更多可見的通知。下列各節可協助您了解和了解 CloudWatch 記錄和警示設定的組態。

## 啟用 CloudWatch 記錄
<a name="ba-cw-log-deploy"></a>

若要啟用 CloudWatch 記錄，請使用下一節提供的組態範本，在組態資料夾中建立`logback-cloudwatch.xml`檔案。然後，透過取消註解以下幾行，在 檔案中參考此`application-main.yml`檔案：

```
# logging:
#  config: classpath:logback-cloudwatch.xml
```

 取消註解這些行後，將啟用 CloudWatch 記錄，並可以進一步設定，如以下章節所述。

## CloudWatch 記錄的組態
<a name="config-cw-log"></a>

使用下列範本建立 `logback-cloudwatch.xml` 檔案：

```
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>
<configuration>

    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%date{yyyy-MM-dd HH:mm:ss.SSS,UTC}  %level --- [%thread{15}] %logger{40} : %msg%n%xThrowable</pattern>
        </encoder>
    </appender>

    <appender name="cloudwatch" class="com.netfective.bluage.runtime.cloudwatchlogger.CloudWatchAppender">
        <logGroup>BluAgeRuntimeOnEC2-Logs</logGroup>
        <logStream>%date{yyyy-MM-dd,UTC}.%instanceId.%uuid</logStream>
        <layout>
            <pattern>%date{yyyy-MM-dd HH:mm:ss.SSS,UTC}  %level --- [%thread{15}] %logger{40} : %msg%n%xThrowable</pattern>
        </layout>
        <appender-ref ref="console" />
    </appender>

    <root level="INFO">
        <appender-ref ref="cloudwatch" />
    </root>
</configuration>
```

<appender name="cloudwatch"/> 元素外的所有內容都是標準日誌傳回組態。此檔案中有兩個附加元件：主控台附加元件將日誌傳送至主控台，以及 CloudWatch 附加元件將日誌傳送至 CloudWatch。

`root` 元素中的 `level` 屬性會指定整個應用程式的記錄層級。

標籤 <appender name="cloudwatch"/> 內的必要值為：
+ <logGroup/>：在 CloudWatch 中設定日誌群組的名稱。如果未指定值，則預設為 `BluAgeRuntimeOnEC2-Logs`。如果日誌群組不存在，則會自動建立日誌群組。此行為可以透過組態進行變更，如下所述。
+ <logStream/>：設定 CloudWatch 中 logStream （日誌群組內部） 的名稱。

選用值：
+ <region/>：覆寫日誌串流將寫入的區域。根據預設，日誌會前往與 EC2 執行個體相同的區域。
+ <layout/>：日誌訊息將使用的模式。
+ <maxbatchsize/>：每個操作要傳送至 CloudWatch 的日誌訊息數量上限。
+ <maxbatchtimemillis/>：允許寫入 CloudWatch 日誌的時間，以毫秒為單位。
+ <maxqueuewaittimemillis/>：嘗試在內部日誌佇列中插入請求的時間，以毫秒為單位。
+ <internalqueuesize/>：內部佇列的大小上限。
+ <createlogdests/>：如果日誌群組不存在，請建立日誌群組和日誌串流。
+ <initialwaittimemillis/>：您希望執行緒在啟動時休眠的時間量。此初始等待允許日誌的初始累積。
+ <maxeventmessagesize/>：日誌事件的大小上限。不會傳送超過此大小的日誌。
+ <truncateeventmessages/>：截斷過長的訊息。
+ <printrejectedevents/>：啟用緊急附加元件。

## CloudWatch 設定
<a name="cw-setup"></a>

為了讓上述組態正確將日誌推送至 CloudWatch，請更新您的 Amazon EC2 IAM 執行個體描述檔角色，以授予 `BluAgeRuntimeOnEC2-Logs` 日誌群組及其日誌串流的額外許可：
+ `logs:CreateLogStream`
+ `logs:DescribeLogStreams`
+ `logs:CreateLogGroup`
+ `logs:PutLogEvents`
+ `logs:DescribeLogGroups`

## 警示設定
<a name="alarm-setup"></a>

由於 CloudWatch 日誌，您可以根據您的應用程式和需求，設定不同的指標和警示。具體而言，您可以為用量提醒設定主動警示，以便在發生錯誤時警告您的應用程式處於寬限期 （最後防止其完全運作）。若要達成此目的，您可以在日誌中新增有關 "Error C5001" 字串的指標，這會反白顯示與大型主機控制系統 AWS 的 Transform 連線中的錯誤。然後，您可以定義對此指標做出反應的警示。

# 在 Amazon EC2 上的大型主機執行期 AWS 轉換中設定授權相依性
<a name="ba-runtime-dependencies-ec2"></a>

本指南說明如何設定額外的授權相依性，您可以將這些相依性與 Amazon EC2 上大型主機執行期的 AWS Transform 搭配使用。

**Topics**
+ [先決條件](#ba-runtime-dependencies-prereq)
+ [安裝步驟](#ba-runtime-dependencies-overview)

## 先決條件
<a name="ba-runtime-dependencies-prereq"></a>

開始之前，請務必完成下列先決條件。
+ 完成 [AWS 大型主機執行期先決條件的轉換](ba-runtime-setup-prereq.md)和 [大型主機執行期的加入 AWS 轉換](ba-runtime-setup-onboard.md)。
+ 請確定您已安裝適用於大型主機執行期 （在 Amazon EC2 上） 的 AWS Transform 的 Amazon EC2 執行個體。如需詳細資訊，請參閱 [Amazon EC2 Linux 執行個體入門](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html)。
+ 請確定您可以成功連線至 Amazon EC2 執行個體，例如使用 SSM。
+ 從來源取得下列相依性。

### Oracle 資料庫
<a name="ba-runtime-dependencies-prereq-oracle"></a>

提供 [Oracle 資料庫驅動程式](https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html)。我們測試了 **ojdbc11-23.3.0.23.09.jar** 版的大型主機執行期 （在 Amazon EC2 上） 功能 AWS 轉換，但較新的版本可能相容。

### IBM MQ 連線
<a name="ba-runtime-dependencies-prereq-mq"></a>

提供 [IBM MQ 用戶端](https://www.ibm.com/support/pages/mqc91-ibm-mq-clients)。我們已使用 **com.ibm.mq.jakarta.client-9.3.4.1.jar** 版測試大型主機執行期 （在 Amazon EC2 上） 功能的 AWS 轉換，但較新的版本可能相容。

在此相依性版本中， 也提供下列暫時性相依性：
+ bcprov-jdk15to18-1.76.jar
+ bcpkix-jdk15to18-1.76.jar
+ bcutil-jdk15to18-1.76.jar

### DDS 印表機檔案
<a name="ba-runtime-dependencies-prereq-dds"></a>

提供 Jasper 報告程式庫 (https://community.jaspersoft.com/download-jaspersoft/community-edition：//)。我們已使用 **jasperreports-6.16.0.jar** 測試大型主機執行期 （在 Amazon EC2 上） 功能的 AWS 轉換，但較新的版本可能相容。

在此相依性版本中， 也提供下列暫時性相依性：
+ castor-core-1.4.1.jar
+ castor-xml-1.4.1.jar
+ commons-digester-2.1.jar
+ ecj-3.21.0.jar
+ itext-2.1.7.js8.jar
+ javax.inject-1.jar
+ jcommon-1.0.23.jar
+ jfreechart-1.0.19.jar
+ commons-beanutils-1.9.4.jar
+ commons-collections-3.2.2.jar

## 安裝步驟
<a name="ba-runtime-dependencies-overview"></a>

若要安裝相依性，請完成下列步驟。

1. 連線至您的 Amazon EC2 執行個體，並執行下列命令，將使用者變更為 **su**。

   ```
   sudo su
   ```

   您需要超級使用者權限才能在本教學課程中執行命令。

1. 導覽至 `<your-tomcat-path>/extra/` 資料夾。

   ```
   cd <your-tomcat-path>/extra/
   ```

1. 視需要在此資料夾中複製上述任何相依性。
**注意**  
對於具有 Oracle 託管資料庫的 JAC 和 BAC Webapp，請確保在此資料夾中包含 Oracle 資料庫驅動程式 (ojdbc)。

1. 執行下列命令來停止和啟動 tomcat.service。

   ```
   systemctl stop tomcat.service
   ```

   ```
   systemctl start tomcat.service
   ```

1. 檢查服務的狀態，以確保其正在執行。

   ```
   systemctl status tomcat.service
   ```

1. 驗證日誌。

# 在 Amazon ECS 和 Amazon EKS 上的容器上部署大型主機執行期的 AWS 轉換
<a name="ba-deploy-container"></a>

您可以使用本節中的主題，了解如何在容器上設定大型主機執行期 AWS 的轉換，以在 Amazon ECS （由 Amazon EC2 或 管理 AWS Fargate) 和 Amazon EC2 管理的 Amazon EKS 上部署，如何更新執行期版本，如何使用 Amazon CloudWatch 警示監控您的部署，以及如何新增授權相依性。

**注意**  
這與 管理的 Amazon EKS 不相容 AWS Fargate。

**Topics**
+ [在容器上設定大型主機執行期的 AWS 轉換](ba-runtime-deploy-container.md)
+ [升級容器上大型主機執行期的 AWS 轉換](ba-runtime-maint-container.md)
+ [為容器上大型主機執行期的 AWS 轉換設定 Amazon CloudWatch 警示](ba-cw-alarms-container.md)
+ [在容器上的大型主機執行期 AWS 轉換中設定授權相依性](ba-runtime-dependencies-container.md)

# 在容器上設定大型主機執行期的 AWS 轉換
<a name="ba-runtime-deploy-container"></a>

本主題說明如何在 Docker 容器上使用適用於大型主機執行期的 AWS Transform 來設定和部署 PlanetsDemo 範例應用程式。

AWS 容器上大型主機執行期的轉換適用於由 Amazon EC2 管理的 Amazon ECS AWS Fargate、由 管理的 Amazon ECS 和由 Amazon EC2 管理的 Amazon EKS。它與 管理的 Amazon EKS 不相容 AWS Fargate。

**Topics**
+ [先決條件](#ba-runtime-deploy-prereq)
+ [設定](#ba-runtime-deploy-setup)
+ [測試部署的應用程式](#ba-runtime-deploy-test)

## 先決條件
<a name="ba-runtime-deploy-prereq"></a>

開始之前，請務必完成下列先決條件。
+  AWS CLI 請依照設定 [AWS CLI 中的步驟來設定 ](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)。
+ 完成 [AWS 大型主機執行期先決條件的轉換](ba-runtime-setup-prereq.md)和 [大型主機執行期的加入 AWS 轉換](ba-runtime-setup-onboard.md)。
+ 下載大型主機執行期二進位檔的 AWS 轉換。如需說明，請參閱[大型主機執行期的加入 AWS 轉換](ba-runtime-setup-onboard.md)。
+ 下載 Apache Tomcat 二進位檔。
+ 下載 [PlanetsDemo 應用程式封存](https://d3lkpej5ajcpac.cloudfront.net/demo/bluage/PlanetsDemo-v1.zip)。
+ 為 JICS 建立 Amazon Aurora PostgreSQL 資料庫，並在資料庫上執行`PlanetsDemo-v1/jics/sql/initJics.sql`查詢。如需如何建立 Amazon Aurora PostgreSQL 資料庫的詳細資訊，請參閱[建立並連線至 Aurora PostgreSQL 資料庫叢集](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.AuroraPostgreSQL.html#CHAP_GettingStarted.AuroraPostgreSQL.CreateDBCluster)。

## 設定
<a name="ba-runtime-deploy-setup"></a>

若要設定 PlanetsDemo 範例應用程式，請完成下列步驟。

1. 下載 Apache Tomcat 二進位檔後，擷取內容，然後移至 `conf` 資料夾。開啟 `catalina.properties` 檔案進行編輯，並以下列行取代開頭`common.loader`為 的行。

   ```
   common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar","${catalina.home}/shared","${catalina.home}/shared/*.jar","${catalina.home}/extra","${catalina.home}/extra/*.jar"
   ```

1. 使用 tar 命令建置 `tar.gz` 封存來壓縮 Apache Tomcat 資料夾。

1. 準備 [Dockerfile](https://docs.docker.com/engine/reference/builder/)，根據提供的執行時間二進位檔和 Apache Tomcat 伺服器二進位檔來建置自訂映像。請參閱下列範例 Dockerfile。目標是安裝 Apache Tomcat，後面接著擷取自 Apache Tomcat 安裝目錄根目錄的 AWS Transform for mainframe執行期 （適用於 管理的 Amazon ECS AWS Fargate)，然後安裝名為 PlanetsDemo 的範例現代化應用程式。
**注意**  
此範例 Dockerfile 中使用的 install-gapwalk.sh 和 install-app.sh 指令碼的內容會列在 Dockerfile 之後。

   ```
   FROM --platform=linux/x86_64 amazonlinux:2
   
   RUN mkdir -p /workdir/apps
   WORKDIR /workdir
   COPY install-gapwalk.sh .
   COPY install-app.sh .
   RUN chmod +x install-gapwalk.sh
   RUN chmod +x install-app.sh
   
   # Install Java and AWS CLI v2-y
   RUN yum install sudo java-17-amazon-corretto unzip tar -y
   RUN sudo yum remove awscli -y
   RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
   RUN sudo unzip awscliv2.zip
   RUN sudo ./aws/install
   
   # Installation dir
   RUN mkdir -p /usr/local/velocity/installation/gapwalk
   # Copy PlanetsDemo archive to a dedicated apps dir
   COPY PlanetsDemo-v1.zip /workdir/apps/
   
   # Copy resources (tomcat, blu age runtime) to installation dir
   COPY tomcat.tar.gz /usr/local/velocity/installation/tomcat.tar.gz
   COPY aws-bluage-runtime-4.x.x.zip /usr/local/velocity/installation/gapwalk/gapwalk.zip
   
   # run relevant installation scripts
   RUN ./install-gapwalk.sh
   RUN ./install-app.sh
   
   EXPOSE 8080
   EXPOSE 8081
   # ...
   
   WORKDIR /bluage/tomcat.gapwalk/velocity
   # Run Command to start Tomcat server
   CMD ["sh", "-c", "sudo bin/catalina.sh run"]
   ```

   以下是 的內容 `install-gapwalk.sh.`

   ```
   # Vars
   TEMP_DIR=/bluage-on-fargate/tomcat.gapwalk/temp
   
   # Install
   echo "Installing Gapwalk and Tomcat"
   sudo rm -rf /bluage-on-fargate
   mkdir -p ${TEMP_DIR}
   # Copy AWS Transform for mainframe runtime and tomcat archives to temporary extraction dir
   sudo cp /usr/local/velocity/installation/gapwalk/gapwalk.zip ${TEMP_DIR}
   sudo cp /usr/local/velocity/installation/tomcat.tar.gz ${TEMP_DIR}
   # Create velocity dir
   mkdir -p /bluage/tomcat.gapwalk/velocity
   # Extract tomcat files
   tar -xvf ${TEMP_DIR}/tomcat.tar.gz -C ${TEMP_DIR}
   # Copy all tomcat files to velocity dir
   cp -fr ${TEMP_DIR}/apache-tomcat-10.x.x/* /bluage/tomcat.gapwalk/velocity
   # Remove default webapps of Tomcat
   rm -f /bluage-on-fargate/tomcat.gapwalk/velocity/webapps/*
   # Extract AWS Transform for mainframe runtime at velocity dir
   unzip ${TEMP_DIR}/gapwalk.zip -d /bluage/tomcat.gapwalk
   # Remove temporary extraction dir
   sudo rm -rf ${TEMP_DIR}
   ```

   `install-app.sh` 的內容如下。

   ```
   #!/bin/sh
   
   APP_DIR=/workdir/apps
   TOMCAT_GAPWALK_DIR=/bluage-on-fargate/tomcat.gapwalk
   
   unzip ${APP_DIR}/PlanetsDemo-v1.zip -d ${APP_DIR}
   cp -r ${APP_DIR}/webapps/* ${TOMCAT_GAPWALK_DIR}/velocity/webapps/
   cp -r ${APP_DIR}/config/* ${TOMCAT_GAPWALK_DIR}/velocity/config/
   ```

1. 在位於 `{TOMCAT_GAPWALK_DIR}/config` 資料夾的 `application-main.yml` 檔案的下列程式碼片段中，提供您在先決條件中建立之資料庫的連線資訊。如需詳細資訊，請參閱[建立並連線至 Aurora PostgreSQL 資料庫叢集](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.AuroraPostgreSQL.html#CHAP_GettingStarted.AuroraPostgreSQL.CreateDBCluster)。

   ```
   datasource:
      jicsDs:
        driver-class-name :  
        url: 
        username: 
        password: 
        type :
   ```

1. 建置映像並將其推送到您的 Amazon ECR 儲存庫。如需說明，請參閱《Amazon Elastic Container Registry 使用者指南》中的[推送 Docker 映像](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html)。然後，根據您的情況，使用 Amazon ECR 映像建立 Amazon EKS Pod 或 Amazon ECS 任務定義，並將其部署到您的叢集。如需建立這些範例，請參閱《*Amazon Elastic Container Service (Amazon ECS) 開發人員指南*》中的[使用主控台建立任務定義](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-task-definition.html)，以及《*Amazon EKS 使用者指南*》中的[部署範例應用程式](https://docs.aws.amazon.com/eks/latest/userguide/sample-deployment.html)。

1.  具體而言，對於**由案例管理的 Amazon ECS AWS Fargate**，在建立任務定義時，請使用您在初始基礎設施設定中建立的 IAM 角色。然後，在建立服務時，展開**聯網**區段，並設定您在初始基礎設施設定中建立的 VPC、子網路和安全群組。請參閱 [AWS Transform for mainframe Runtime 的基礎設施設定需求](https://docs.aws.amazon.com/m2/latest/userguide/ba-infrastructure-setup.html)。

## 測試部署的應用程式
<a name="ba-runtime-deploy-test"></a>

如需如何測試 PlanetsDemo 應用程式的範例，請參閱 [測試 PlanetsDemo 應用程式](ba-runtime-test-planetsdemo.md)。

# 升級容器上大型主機執行期的 AWS 轉換
<a name="ba-runtime-maint-container"></a>

本指南說明如何升級容器上大型主機執行期的 AWS 轉換。若要這樣做，您必須先完成一些先決條件，然後使用 Docker 映像來升級大型主機執行期的 AWS 轉換。

**Topics**
+ [先決條件](#ba-runtime-maint-prereq)
+ [升級大型主機執行期的 AWS 轉換](#ba-runtime-maint-copy-files)

## 先決條件
<a name="ba-runtime-maint-prereq"></a>

開始之前，請確定您符合下列先決條件。
+ 完成 [AWS 大型主機執行期先決條件的轉換](ba-runtime-setup-prereq.md)和 [大型主機執行期的加入 AWS 轉換](ba-runtime-setup-onboard.md)。
+ 下載您要升級之大型主機執行期的 AWS 轉換版本。如需詳細資訊，請參閱[大型主機執行期的加入 AWS 轉換](ba-runtime-setup-onboard.md)。框架包含兩個二進位檔案： `aws-bluage-runtime-x.y.z.zip`和 `aws-bluage-webapps-x.y.z.zip`。

## 升級大型主機執行期的 AWS 轉換
<a name="ba-runtime-maint-copy-files"></a>

完成下列步驟，以升級大型主機執行期的 AWS 轉換。

1. 使用大型主機執行期版本所需的 AWS 轉換來重建 Docker 映像。如需說明，請參閱[在容器上設定大型主機執行期的 AWS 轉換](ba-runtime-deploy-container.md)。

1. 將 Docker 映像推送至 Amazon ECR 儲存庫。

1. 停止並重新啟動您的 Amazon ECS 或 Amazon EKS 服務。

1. 驗證日誌。

大型主機執行期的 AWS 轉換已成功升級。

# 為容器上大型主機執行期的 AWS 轉換設定 Amazon CloudWatch 警示
<a name="ba-cw-alarms-container"></a>

您可以設定 CloudWatch，以便在部署的應用程式遇到例外狀況時收到更多可見的通知。這可協助您監控重新導向至 CloudWatch 的應用程式日誌，並新增警示來警告您可能發生的錯誤。

## 警示設定
<a name="alarm-setup"></a>

透過 CloudWatch 日誌，您可以根據您的應用程式和需求，設定任意數量的指標和警示。

具體而言，您可以在叢集建立期間直接為用量提醒設定主動警示，以便在發生錯誤時收到通知。若要反白顯示大型主機控制系統 AWS 轉換連線中的錯誤，請在日誌中新增有關字串 "Error C" 的指標。然後，您可以定義對此指標做出反應的警示。

# 在容器上的大型主機執行期 AWS 轉換中設定授權相依性
<a name="ba-runtime-dependencies-container"></a>

本主題說明如何設定其他授權相依性，您可以將這些相依性與容器上大型主機執行期的 AWS Transform 搭配使用。

**Topics**
+ [先決條件](#ba-runtime-dependencies-prereq)
+ [概觀](#ba-runtime-dependencies-overview)

## 先決條件
<a name="ba-runtime-dependencies-prereq"></a>

開始之前，請務必完成下列先決條件。
+ 完成 [AWS 大型主機執行期先決條件的轉換](ba-runtime-setup-prereq.md)和 [大型主機執行期的加入 AWS 轉換](ba-runtime-setup-onboard.md)。
+ 從來源取得下列相依性。

### Oracle 資料庫
<a name="ba-runtime-dependencies-prereq-oracle"></a>

提供 [Oracle 資料庫驅動程式]( https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html)。例如，**ojdbc11-23.3.0.23.09.jar**。

### IBM MQ 連線
<a name="ba-runtime-dependencies-prereq-mq"></a>

提供 [IBM MQ 用戶端](https://www.ibm.com/support/pages/mqc91-ibm-mq-clients)。例如，**com.ibm.mq.jakarta.client-9.3.4.1.jar**。

在此相依性版本中， 也提供下列暫時性相依性：
+ bcprov-jdk15to18-1.76.jar
+ bcpkix-jdk15to18-1.76.jar
+ bcutil-jdk15to18-1.76.jar

### DDS 印表機檔案
<a name="ba-runtime-dependencies-prereq-dds"></a>

提供 Jasper 報告程式庫 (https://community.jaspersoft.com/download-jaspersoft/community-edition：//)。例如，**jasperreports-6.16.0.jar**，但較新的版本可能相容。

在此相依性版本中， 也提供下列暫時性相依性：
+ castor-core-1.4.1.jar
+ castor-xml-1.4.1.jar
+ commons-digester-2.1.jar
+ ecj-3.21.0.jar
+ itext-2.1.7.js8.jar
+ javax.inject-1.jar
+ jcommon-1.0.23.jar
+ jfreechart-1.0.19.jar
+ commons-beanutils-1.9.4.jar
+ commons-collections-3.2.2.jar

## 概觀
<a name="ba-runtime-dependencies-overview"></a>

若要安裝相依性，請完成下列步驟。

1. 視需要將上述任何相依性複製到 Docker 映像建置資料夾。

1. 如果您的 JICS 資料庫託管在 Oracle 上，請在 中提供 Oracle 資料庫驅動程式`your-tomcat-path/extra`。

1. 在您的 Dockerfile 上，將這些相依性複製到 `your-tomcat-path/extra`。

1. 建置您的 Docker 映像，然後將其推送至 Amazon ECR。

1. 停止並重新啟動您的 Amazon ECS 或 Amazon EKS 服務。

1. 檢查日誌。

# 測試 PlanetsDemo 應用程式
<a name="ba-runtime-test-planetsdemo"></a>

若要檢查已部署的 PlanetsDemo 應用程式的狀態，請在將 `load-balancer-DNS-name`、 `listener-port`和 取代為設定`web-binary-name`正確的值後執行下列命令。

```
curl http://load-balancer-DNS-name:listener-port/gapwalk-application/
```

如果應用程式正在執行，您會看到下列輸出訊息：`Jics application is running`。

接著，執行下列命令。

```
curl http://load-balancer-DNS-name:listener-port/jac/api/services/rest/jicsservice/
```

如果應用程式正在執行，您會看到下列輸出訊息：`Jics application is running`。

```
Jics application is running
```

如果您已設定 Blusam，則在執行下列命令時，您可以預期會有空的回應。

```
curl http://load-balancer-DNS-name:listener-port/bac/api/services/rest/bluesamserver/serverIsUp
```

請注意 Web 二進位檔的名稱 (PlanetsDemo-web-1.0.0，如果未變更）。若要存取 PlanetsDemo 應用程式，請使用下列格式的 URL。

```
https://load-balancer-DNS-name:listener-port/web-binary-name
```

啟動 PlanetsDemo 應用程式後，會顯示首頁。

![\[首頁\]](http://docs.aws.amazon.com/zh_tw/m2/latest/userguide/images/PlanetsDemo-homepage.png)


在文字方塊中輸入 PINQ，然後按 Enter。資料查詢頁面隨即顯示。

![\[資料查詢頁面\]](http://docs.aws.amazon.com/zh_tw/m2/latest/userguide/images/PlanetsDemo-app.png)


例如，在 PlanetsDemo 名稱欄位中輸入 EARTH，然後按 Enter。隨即顯示您輸入的行星頁面。

![\[EARTH 頁面\]](http://docs.aws.amazon.com/zh_tw/m2/latest/userguide/images/PlanetsDemo-EARTH.png)
