본문으로 건너뛰기

Application Basic Settings

이 페이지는 AMDP에서 프로젝트/프로필 수준의 애플리케이션을 관리하기 위한 것입니다. 각 애플리케이션은 프로젝트 및 프로필의 설정과 정보(클러스터, 네임스페이스, Git 등)를 참조합니다. 애플리케이션의 특성에 따라 기본 설정 및 리소스를 사용하여 즉시 빌드/배포할 수 있으며, 백업 서비스 연결과 같은 전문가 설정을 수정하여 사용할 수 있습니다.

애플리케이션 기본 설정 목록

애플리케이션 정보에 설정된 워크로드 유형 및 앱 프레임워크와 같은 설정을 기반으로 즉시 사용할 수 있는 일반 기본값을 기반으로 기능을 제공합니다.

노트

애플리케이션에 설정된 값은 저장 후 즉시 반영되지 않습니다. 설정은 배포 파이프라인을 통해 빌드/배포 프로세스가 수행된 후에만 적용됩니다.

애플리케이션 기본 설정의 각 항목에 대한 설명:

기본 배포 설정

  • 배포 : 애플리케이션의 수량, 리소스 사용량 등을 설정합니다.
  • 서비스 : 클러스터 내에서의 통신을 위한 서비스 유형 및 서비스 포트를 설정합니다.

데이터 및 메시지 관리 설정

  • 메시지 채널 : 애플리케이션에서 사용하는 백업 서비스의 메시지 채널 유형을 연결합니다.
  • DB 접근 : 애플리케이션에서 사용하는 백업 서비스의 데이터베이스 유형을 연결합니다.
  • 인메모리 : 애플리케이션에서 사용하는 백업 서비스의 인메모리 유형을 연결합니다.

상세 애플리케이션 [기본 배포 설정 / 배포]

애플리케이션 목록 화면의 작업 열에서 편집 버튼을 클릭하여 애플리케이션의 기본 배포 설정에서 배포에 대한 정보를 설정합니다. 여기에는 복제본 수, 컨테이너의 접근 포트 및 리소스 속성이 포함됩니다.

① 복제본 : 생성할 인스턴스(팟)의 수를 지정합니다. 기본값은 1입니다. Kubernetes의 ReplicaSet과 관련이 있습니다.

② HTTP 포트 : 애플리케이션에서 사용하는 포트를 설정합니다. 기본값은 앱 프레임워크에 따라 다릅니다. Kubernetes의 컨테이너 포트와 관련이 있습니다.

  • SPRINGBOOT 또는 DOCKER의 기본값은 8080입니다.
  • VUE/REACT/NEXACRO의 기본값은 80입니다.

③ CPU 요청 : 애플리케이션의 주요 컨테이너에 대한 초기 요청 CPU 사양을 설정합니다. CPU 요청 속성이 선택되면 활성화됩니다. 기본값은 500(m)입니다. Kubernetes의 CPU 요청과 관련이 있습니다.

④ CPU 한도 : 애플리케이션의 주요 컨테이너에 대한 최대 CPU 사양을 설정합니다. CPU 한도 속성이 선택되면 활성화됩니다. 기본값은 1000(m)입니다. Kubernetes의 CPU 한도와 관련이 있습니다.

⑤ 메모리 요청(Mi) : 애플리케이션의 주요 컨테이너에 대한 초기 요청 메모리 사양을 설정합니다. 메모리 요청 속성이 선택되면 활성화됩니다. 기본값은 128(Mi)입니다. Kubernetes의 메모리 요청과 관련이 있습니다.

⑥ 메모리 한도(Mi) : 애플리케이션의 주요 컨테이너에 대한 최대 메모리 사양을 설정합니다. 메모리 한도 속성이 선택되면 활성화됩니다. 기본값은 256(Mi)입니다. Kubernetes의 메모리 한도와 관련이 있습니다.

노트

최적의 메모리 사용량이 결정되지 않은 경우, 실제 사용량보다 낮은 메모리 한도를 설정하면 OutOfMemory (OOM) 문제가 발생할 수 있으므로 이 한도를 설정할 때 주의가 필요합니다.

애플리케이션 [기본 배포 설정 / 서비스] 세부 설정

클러스터 내 애플리케이션의 내부/외부 통신에 필요한 정보를 설정합니다.

① 서비스 유형 : 내부 및 외부 통신을 위한 서비스 유형입니다. 애플리케이션은 클러스터에서 제공하는 서비스 유형에 따라 달라집니다:

  • ClusterIP: 주로 이 모드는 애플리케이션이 클러스터 내에서만 통신할 수 있도록 합니다. 외부 접근을 위한 추가 구성은 필요하지 않습니다. 그러나 서비스 통신이 필요한 경우 포트 포워딩 기능을 사용하여 접근할 수 있습니다.
  • NodePort: 이 모드는 클러스터 내에서 외부 접근을 위해 포트(기본 범위: 30000-32767)를 할당합니다. 내부 통신 방법은 ClusterIP와 동일합니다.
  • LoadBalancer: 클라우드 제공업체에서 지원하는 외부 로드 밸런서가 있는 환경에서는 로드 밸런서의 프로비저닝에 연결됩니다. 로드 밸런서의 생성은 비동기적이며 클라우드 제공업체의 환경에 따라 달라집니다. 내부 통신 방법은 ClusterIP와 동일합니다.

② 서비스 주석: 서비스 주석은 애플리케이션의 서비스 구성에 특정 주석을 주입합니다. 이는 클라우드 제공업체나 클러스터 환경에서 제공하는 특정 기능을 확장하는 데 사용됩니다.

  • 키/값 형식으로 작성해야 하며, 키나 값은 null일 수 없습니다.
  • 아이콘 “+”를 클릭하여 여러 주석을 생성할 수 있습니다.

③ 세션 친화성: 이 설정은 클라이언트 요청을 동일한 애플리케이션 그룹의 특정 포드에 지속적으로 연결하려는 경우에 사용됩니다. 기본 설정은 None이며, 이는 세션 친화성이 설정되지 않았음을 의미합니다. ClientIP로 설정하면 클라이언트의 IP가 확인되어 동일한 포드에 대한 연결을 유지합니다.

  • 기본 값은 None입니다. 대부분의 애플리케이션은 이 설정이 필요하지 않습니다.

④ 서비스 포트: 이는 서비스가 애플리케이션에 대한 통신을 수신하는 포트 정보입니다. 클러스터 내의 내부 서비스와 외부에서 서비스에 접근하는 다양한 방법을 위한 포트를 포함합니다. 수신된 정보는 실제 애플리케이션이 응답하는 Target Port 정보와 연결됩니다.

  • 서비스는 수신된 모든 포트를 대상 포트에 매핑할 수 있으며, 편의상 두 값이 동일하게 설정되는 경우가 많습니다.
  • SPRINGBOOT 또는 DOCKER의 기본 값은 8080입니다.
  • VUE/REACT/NEXACRO의 기본 값은 80입니다.

⑤ 대상 포트: 이는 애플리케이션의 내부 서비스가 응답하는 포트 정보입니다. 서비스는 서비스를 나타내기 위해 포트를 지정합니다.

  • 서비스는 수신된 모든 서비스 포트를 대상 포트에 매핑할 수 있으며, 편의상 두 값이 동일하게 설정되는 경우가 많습니다.
  • SPRINGBOOT 또는 DOCKER의 기본 값은 8080입니다.
  • VUE/REACT/NEXACRO의 기본 값은 80입니다.

애플리케이션 데이터 및 메시징 관리 설정

SpringBoot App Framework를 API 서버로 사용하는 애플리케이션의 경우, 백업 서비스와 관련된 설정을 추가하여 애플리케이션 구성 데이터를 자동으로 주입하는 기능이 있습니다.

① 메시지 채널: RabbitMQ 및 Kafka와 같은 백업 서비스로부터 메시지 채널 관련 정보를 자동으로 구성합니다.

② DB 액세스: MariaDB, MongoDB, PostgreSQL 및 Oracle과 같은 데이터베이스 관련 백업 서비스에 대한 자동 구성을 제공합니다.

③ 인메모리: Redis와 같은 인메모리 관련 백업 서비스에 대한 자동 구성을 제공합니다.

애플리케이션 데이터 및 메시징 관리에 대한 세부 설정 / 메시지 채널

프로필의 백엔드 서비스에 등록된 메시지 채널 유형(RabbitMQ, Kafka)에 대해 애플리케이션이 클러스터에 배포될 때 설정 정보가 자동으로 주입됩니다:

① 메시지 채널 (메시지 채널 속성 사용) : 메시지 채널 속성을 사용할지 선택합니다. 활성화되면 관련 설정이 적용됩니다.

② 브로커 인스턴스 : 프로필의 백업 서비스 목록에서 메시지 채널(RabbitMQ, Kafka)과 관련된 서비스를 선택합니다. 설정은 SpringBoot 애플리케이션 구성에 자동으로 주입됩니다.

  • RabbitMQ의 경우:
    • spring.rabbitmq.host : RabbitMQ 호스트 접근 정보를 관리합니다.
    • spring.rabbitmq.port : RabbitMQ 포트 정보를 관리합니다.
    • spring.rabbitmq.username : 비밀로 제공되는 RabbitMQ 사용자 정보를 관리합니다.
    • spring.rabbitmq.password : 비밀로 제공되는 RabbitMQ 사용자 비밀번호를 관리합니다.
  • Kafka의 경우:
    • spring.kafka.bootstrap-servers : Kafka 부트스트랩 접근 호스트 정보를 관리합니다.

애플리케이션 데이터 및 메시징 관리 / DB 접근을 위한 세부 설정

프로필의 백엔드 서비스에 등록된 백업 서비스 유형(MariaDB, MongoDB, PostgreSQL, Oracle)을 선택하여 애플리케이션이 클러스터에 배포될 때 설정 정보를 자동으로 주입합니다.

① DB 접근 (DB 접근 속성 사용) : DB 접근 속성을 사용할지 선택합니다. 활성화되면 관련 설정이 적용됩니다.

② DB 인스턴스 : 프로필의 백업 서비스 목록에서 데이터베이스(MariaDB, MongoDB, PostgreSQL, Oracle)와 관련된 서비스를 선택합니다. 설정은 SpringBoot 애플리케이션 구성에 자동으로 주입됩니다.

  • MariaDB 유형의 경우, 다음 설정이 관리됩니다:
    • spring.datasource.driver-class-name : MariaDB를 사용하기 위한 드라이버를 설정합니다.
    • spring.datasource.url : MariaDB 호스트 접근 정보를 설정합니다.
    • spring.datasource.username : 비밀로 관리되는 MariaDB 사용자 정보를 설정합니다.
  • spring.datasource.password : MariaDB 사용자 비밀번호를 설정하며, 비밀로 관리됩니다.
  • MongoDB 유형의 경우, 다음 설정이 관리됩니다:
    • spring.data.mongodb.host : MongoDB 호스트 접근 정보를 설정합니다.
    • spring.data.mongodb.port : MongoDB 접근 포트를 설정합니다.
  • PostgreSQL 유형의 경우, 다음 설정이 관리됩니다:
    • spring.datasource.driver-class-name : PostgreSQL을 사용하기 위한 드라이버를 설정합니다.
    • spring.datasource.url : PostgreSQL 호스트 접근 정보를 설정합니다.
    • spring.datasource.username : PostgreSQL 사용자 정보를 설정하며, 비밀로 관리됩니다.
    • spring.datasource.password : PostgreSQL 사용자 비밀번호를 설정하며, 비밀로 관리됩니다.
  • Oracle 유형의 경우, 다음 설정이 관리됩니다:
    • spring.datasource.driver-class-name : Oracle DB를 사용하기 위한 드라이버를 설정합니다.
    • spring.datasource.url : Oracle DB 호스트 접근 정보를 설정합니다.
    • spring.datasource.username : Oracle DB 사용자 정보를 설정하며, 비밀로 관리됩니다.
    • spring.datasource.password : Oracle DB 사용자 비밀번호를 설정하며, 비밀로 관리됩니다.

Application's [Data & Messaging Management Settings / In Memory] Detailed Configuration (Edit)

이 구성은 프로필의 백엔드 서비스에 등록된 인메모리 유형의 백킹 서비스(레디스)를 선택하는 것을 포함합니다. 애플리케이션이 클러스터에 배포될 때, 이러한 설정은 선택된 구성에 따라 자동으로 주입됩니다.

① 캐시 : 캐시 속성을 사용할지 선택합니다. 활성화되면 관련 설정이 적용됩니다.

② 캐시 인스턴스 : 프로필에 등록된 인메모리 유형 서비스에서 대상 캐시 인스턴스를 선택합니다. ③ 기본 만료 시간: 캐시의 기본 만료 시간을 설정합니다. 기본 값은 3600(초)입니다. 이는 SpringBoot 애플리케이션 구성에서 spring.cache.redis.default-expire-time으로 설정됩니다.

④ 생존 시간: 캐싱 정보의 생존 시간(TTL)을 설정합니다. 기본 값은 3600(초)입니다. 이는 SpringBoot 애플리케이션 구성에서 spring.cache.redis.time-to-live로 설정됩니다.

⑤ 키 접두사: 캐시에서 사용되는 키의 접두사 값을 설정합니다. 기본 값은 myCache입니다. 이는 SpringBoot 애플리케이션 구성에서 spring.cache.redis.keyprefix로 설정됩니다.

⑥ 키 접두사 사용: 캐시 키에 대한 접두사를 활성화할지 여부를 설정합니다. 기본 값은 true입니다. 이는 SpringBoot 애플리케이션 구성에서 spring.cache.redis.use-key-prefix로 설정됩니다.

① 세션(세션 속성 사용): 세션 속성을 사용할지 선택합니다. 이 설정을 활성화하면 세션 관리와 관련된 구성이 적용됩니다.

② 세션 유형: Redis 세션의 유형을 지정합니다.

  • Redis 세션: Spring WebMVC 기반 모듈에 사용됩니다.
  • Redis 세션 Webflux: Spring WebFlux 기반 모듈에 적용됩니다.

③ 세션 인스턴스: 프로필에 등록된 인메모리 유형 서비스 중에서 세션 인스턴스의 대상을 선택합니다.

④ 플러시 모드: 세션 데이터가 서버에 기록되는 방식을 정의합니다. ON_SAVE와 IMMEDIATE 중에서 선택합니다. SpringBoot 애플리케이션 설정에서 spring.session.redis.flush-mode로 구성됩니다. 기본 값은 ON_SAVE입니다.

  • ON_SAVE: 호출 시 세션 서버에 저장합니다.
  • IMMEDIATE: 호출 여부와 관계없이 즉시 세션 서버에 기록합니다.

⑤ 저장 모드: 세션 저장 모드를 선택합니다. ALWAYS 또는 ON_SET_ATTRIBUTE 중에서 선택합니다. SpringBoot 애플리케이션 설정에서 spring.session.redis.save-mode로 구성됩니다. 기본 값은 ALWAYS입니다.

  • ALWAYS: 항상 모든 세션 속성을 저장합니다.
  • ON_SET_ATTRIBUTE: 변경 사항만 저장합니다.

⑥ 네임스페이스: 이것은 Redis 네임스페이스로, 기본 값은 spring:session입니다. SpringBoot 애플리케이션 설정에서 spring.session.redis.namespace로 구성됩니다.

⑦ 타임아웃: 세션의 만료 시간을 설정합니다. 기본 값은 60분입니다. SpringBoot 애플리케이션 설정에서 spring.redis.timeout으로 구성됩니다.