

AWS Mainframe Modernization Service(관리형 런타임 환경 환경 환경)는 더 이상 신규 고객에게 공개되지 않습니다. AWS Mainframe Modernization Service(관리형 런타임 환경 환경)와 유사한 기능은 AWS Mainframe Modernization Service(자체 관리형 환경)를 참조하세요. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 [AWS Mainframe Modernization 가용성 변경을](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html) 참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 메인프레임 런타임에 대한 AWS 변환 구성 설정
<a name="ba-runtime-config"></a>

메인프레임 런타임 및 클라이언트 코드의 AWS 변환은 [Spring Boot 프레임워크](https://docs.spring.io/spring-boot/docs/2.5.14/reference/html/)를 사용하는 웹 애플리케이션입니다. Spring 기능을 활용하여 가능한 여러 위치 및 우선 순위 규칙이 포함된 구성을 제공합니다. groovy 스크립트, sql 등과 같은 다른 많은 파일을 제공하는 데에도 유사한 우선 순위 규칙이 있습니다.

메인프레임 런타임용 AWS 변환에는 필요한 경우 옵트인할 수 있는 추가 선택적 웹 애플리케이션도 포함되어 있습니다.

**Topics**
+ [애플리케이션 구성 기본](#ba-runtime-config-app-basics)
+ [애플리케이션 우선 순위](#ba-runtime-config-app-precedence)
+ [데이터베이스용 JNDI](#ba-runtime-config-app-jndi)
+ [AWS 메인프레임 런타임 보안 암호에 대한 변환](ba-runtime-config-app-secrets.md)
+ [기타 파일(groovy, SQL 등)](#ba-runtime-config-app-files)
+ [추가 웹 애플리케이션](#ba-runtime-config-app-webapp)
+ [메인프레임 런타임에 대한 AWS 변환 속성 활성화](ba-runtime-key-value.md)
+ [메인프레임 런타임에 대해 AWS 변환에서 사용 가능한 Redis 캐시 속성](ba-runtime-redis-configuration.md)
+ [Gapwalk 애플리케이션에 대한 보안 구성](ba-runtime-security.md)

## 애플리케이션 구성 기본
<a name="ba-runtime-config-app-basics"></a>

애플리케이션 구성을 처리하는 기본 방법은 애플리케이션 서버의 `config` 폴더에 제공되는 전용 YAML 파일을 사용하는 것입니다. 다음과 같은 두 개의 기본 YAML 구성 파일이 있습니다.
+ `application-main.yaml`
+ `application-profile.yaml`(애플리케이션 생성 중에 `profile` 값이 설정되는 경우).

첫 번째 파일은 프레임워크 즉 `Gapwalk-application.war`를 구성하는 것이고 두 번째 파일은 클라이언트 애플리케이션을 위한 추가 옵션을 위한 것입니다. 이는 스프링 프로파일을 사용할 때 작동합니다. Gapwalk 애플리케이션은 `main` 프로파일을 사용하고 클라이언트 애플리케이션은 `profile` 프로파일을 사용합니다.

다음은 대표적인 주요 YAML 파일을 보여줍니다.

![\[‘기본’ YAML 파일에서 발췌한 내용입니다.\]](http://docs.aws.amazon.com/ko_kr/m2/latest/userguide/images/main-yaml.png)


다음 예제에서는 일반적인 클라이언트 YAML 파일을 보여줍니다.

![\[클라이언트 YAML 예제\]](http://docs.aws.amazon.com/ko_kr/m2/latest/userguide/images/client-yaml.png)


YAML 파일의 내용에 대해 자세히 알아보려면 [메인프레임 런타임에 대한 AWS 변환 속성 활성화](ba-runtime-key-value.md) 섹션을 참조하세요.

## 애플리케이션 우선 순위
<a name="ba-runtime-config-app-precedence"></a>

이러한 구성 파일에는 Spring 우선 순위 규칙이 적용됩니다. 특히:
+ `application-main` YAML 파일은 Gapwalk 기본 war 파일에 기본값으로 나타나며 `config` 폴더에 있는 파일이 이를 대체합니다.
+ 클라이언트 애플리케이션 구성에서도 동일한 작업을 수행해야 합니다
+ 서버 시작 시 명령줄에서 추가 파라미터를 전달할 수 있습니다. YAML 파라미터를 재정의합니다.

자세한 내용은 [공식 Spring Boot 설명서](https://docs.spring.io/spring-boot/docs/2.5.14/reference/html/features.html#features.external-config)를 참조하세요.

## 데이터베이스용 JNDI
<a name="ba-runtime-config-app-jndi"></a>

데이터베이스 구성은 Tomcat의 context.xml 파일에 있는 JNDI와 함께 제공될 수 있습니다. 이러한 구성은 YAML 구성을 재정의합니다. 하지만 이 방법을 사용하면 보안 인증을 암호 매니저에 래핑할 수 없다는 점에 유의하세요(아래 참조).

다음 예제에서는 JICS 및 Blusam 데이터베이스에 대한 샘플 구성을 보여줍니다.

```
<Resource auth="Container" driverClassName="org.postgresql.Driver" initialSize="0" maxIdle="5" 
   maxOpenPreparedStatements="-1" maxTotal="10" maxWaitMillis="-1" name="jdbc/jics"
   poolPreparedStatements="true" testOnBorrow="false" type="javax.sql.DataSource" 		
   url="jdbc:postgresql://XXXX.rds.amazonaws.com:5432/XXXX" username="XXXX" password="XXXX" />
```

jdbc/jics  
JICS 데이터베이스의 `jdbc/jics` 경우 이고 Blusam 데이터베이스의 경우 `jdbc/bluesam` ('e'에 주의)입니다.

url="jdbc:postgresql://XXXX.rds.amazonaws.com:5432/XXXX" username="XXXX" password="XXXX"  
데이터베이스 URL, 사용자 이름 및 암호.

## 기타 파일(groovy, SQL 등)
<a name="ba-runtime-config-app-files"></a>

고객 프로젝트에서 사용하는 다른 파일은 스프링 구성용 파일과 유사한 우선 순위 규칙을 사용합니다. 예시:
+ Groovy 스크립트는 `scripts` 폴더 또는 하위 폴더에 있는 `.groovy` 파일입니다.
+ SQL 스크립트는 `sql` 폴더 또는 하위 폴더에 있는 `.sql` 파일입니다.
+ 대몬(daemon) 스크립트는 폴더 또는 `daemons` 하위 폴더에 있는 `.groovy` 파일입니다.
+ 쿼리 데이터베이스 매핑 파일은 `sql` 폴더 하위 폴더에 있는 `queries-database.mapping` 파일 이름을 가진 파일입니다.
+ Jasper 템플릿은 `templates` 폴더 또는 하위 폴더에 있는 `.jrxml` 파일입니다.
+ 데이터 세트 카탈로그는 `catalog` 폴더에 있는 `.json` 파일입니다.
+ 링크 파일은 `lnk` 폴더에 있는 `.json` 파일입니다.

이러한 모든 위치는 시스템 속성 또는 클라이언트 YAML 속성을 통해 재정의할 수 있습니다.
+ Groovy 스크립트의 경우: `configuration.scripts`
+ SQL 스크립트의 경우: `configuration.sql`
+ 대몬(daemon) 스크립트의 경우: `configuration.daemons`
+ 쿼리 데이터베이스 매핑 파일의 경우: `configuration.databaseMapping`
+ Jasper 템플릿의 경우: `configuration.templates`
+ 데이터 세트 카탈로그의 경우: `configuration.catalog`
+ Lnk 파일의 경우: `configuration.lnk`

속성을 찾을 수 없는 경우 파일은 위에서 언급한 기본 위치에서 가져옵니다. 검색은 먼저 tomcat 작업 디렉터리를 루트로 사용하고 마지막으로 애플리케이션 war 파일에서 수행됩니다.

## 추가 웹 애플리케이션
<a name="ba-runtime-config-app-webapp"></a>

메인프레임 런타임용 AWS 변환에는 `webapps-extra` 폴더에 추가 웹 애플리케이션이 포함되어 있습니다. Tomcat 서버는 기본적으로 이러한 애플리케이션을 제공하지 않습니다.

이러한 웹 애플리케이션에 대한 옵트인은 현대화 프로젝트에 따라 다르며 원하는 war 파일을 `webapps-extra` 폴더에서 `webapps` 폴더로 이동하면 됩니다. 그 이후에는 다음 시작 시 tomcat 서버가 전쟁을 처리하게 됩니다.

`application-main.yml` 파일 및 위에서 설명한 것처럼 일부 프로젝트별 추가 구성을 각 추가 war에 대해 YAML 구성 파일에 추가할 수도 있습니다. 추가 war 파일은 다음과 같습니다.
+ `gapwalk-utility-pgm.war`: ZOS 유틸리티 프로그램에 대한 지원을 포함하며 해당 구성으로 `application-utility-pgm.yaml`를 사용합니다.
+ `gapwalk-cl-command.war`: AS/400 유틸리티 프로그램에 대한 지원을 포함하며 해당 구성으로 `application-cl-command.yaml`를 사용합니다.
+ `gapwalk-hierarchical-support.war`: IMS/MFS 트랜잭션 지원을 포함하고 해당 구성으로 `application-jhdb.yaml`를 사용합니다