API 포털 설치 및 확인

본 장에서는 API 포털의 프론트엔드(Frontend)와 백엔드(Backend) 설치 방법에 대해 설명합니다.

설치

다음은 API 포털을 설치하는 과정에 대한 설명입니다. 이 설명은 JEUS 9에서 설치를 진행하는 것으로 가정합니다.

  1. JEUS 9 WebAdmin 페이지에 진입합니다.

  2. [Servers] > {구동 Server} > [Engine] > [Web Engine] > [Basic]으로 이동하여 Request Url Encoding에서 API 포털을 구동할 서버를 설정합니다.

    항목 설정값

    Default

    UTF-8

    figure jeus9 server setting
  3. [Resource] > [DataSource] > [Database] > {타겟 DB} > [Connection Pool]로 이동하여 'Connection Validation'에서 API 포털과 연동할 Database의 Connection Pool을 설정합니다.

    항목 설정값

    Check Query

    select 1

    Check Query Timeout

    2000

    Non Validation Interval

    5000

    Check Query Period

    300000

    Destroy Policy On Check Query

    FailedConnectionOnly

    figure jeus9 database setting
  4. [Applications] > [Application]에서 API 포털 프론트엔드 및 백엔드 바이너리를 설치 및 배포합니다. 백엔드 바이너리 배포시 Context Path는 'portal-master’로 지정합니다.

  5. application.properties 파일을 열어 DB 및 각 서버 관련 설정을 합니다. 설정을 완료하면, 백엔드 바이너리를 JEUS Admin에서 재배포 합니다.

    application.properties 파일 경로: ${JEUS_HOME}/configs/anyapi_portal/application.properties

    • DB 설정

      spring.datasource.jndi-name=${DB_JNDI_NAME:mariadb_portal}
      항목 설명

      spring.datasource.jndi-name

      JEUS 9에서 설정한 DataSource ID를 입력합니다.

    • Master 서버 설정

      master.url=http://192.168.15.173:80/apigateway-master
      master.default_api_id=api_portal
      master.default_stage_id=stage_portal
      master.gateway_url=http://192.168.15.125:7700/v1
      항목 설명

      master.url

      Master 서버 URL을 입력합니다.

      master.default_api_id

      Master 서버 api_id를 입력합니다.

      [주의] Master 서버에 포털용 API를 미리 생성합니다.

      master.default_stage_id

      Master 서버 stage_id를 입력합니다.

      [주의] Master 서버에 포털용 스테이지를 미리 생성합니다.

      master.gateway_url

      게이트웨이 서버 URL을 입력합니다.

      [참고] http://{Gateway_ip}:{http_port}/{stage_basepath} 형식으로 입력합니다.

    • Mock 서버 설정

      mock.type=anysim
      mock.scheme=http
      mock.ip=192.168.12.111
      mock.port=8301
      mock.file_path=./conf/swagger-mock.json
      mock.anysim.port=8300
      mock.anysim.login.id=admin
      mock.anysim.login.password=Admin@@123
      mock.anysim.targetWorkspaceName=anyapi_portal
      mock.anysim.targetMockserverName=anyapi_portal_mockserver
      항목 설명

      mock.type

      API 테스트용 Mock 서버 타입입니다.

      • prism: prism 기반 테스트

      • anysim: anysim 기반 테스트

      mock.scheme

      Mock 서버 연동 프로토콜입니다.

      mock.ip

      Mock 서버 IP 주소입니다.

      mock.port

      Mock 서버 테스트 요청 포트 번호입니다.

      mock.file_path

      mock.type이 prism인 경우 swagger 파일 생성 경로입니다.

      mock.anysim.port

      AnySIM 어드민 포트 번호입니다.

      mock.anysim.login.id

      AnySIM 어드민 계정 ID입니다.

      mock.anysim.login.password

      AnySIM 어드민 계정 비밀번호입니다.

      mock.anysim.targetWorkspaceName

      AnySIM에서 사용하는 대상 워크스페이스의 이름입니다.

      mock.anysim.targetMockserverName

      AnySIM에서 사용하는 대상 Mock 서버의 이름입니다.

    • Monitoring 서버

      monitoring.url=http://192.168.11.58:12800
      monitoring.url.count_path=/api/monitoring/metrics/labeled/values
      monitoring.url.heatmap_path=/api/monitoring/metrics/heatmap
      monitoring.url.trace_path=/api/monitoring/traces
      monitoring.condition_name_req_cnt=anyapi_endpoint_http_server_request_count_user_key
      monitoring.condition_name_err_cnt=anyapi_endpoint_http_server_error_count_user_key
      항목 설명

      monitoring.url

      Monitoring 서버 URL 입니다.

      monitoring.url.count_path

      API 요청 횟수 조회 API Context Path입니다.

      monitoring.url.heatmap_path

      API 히스토그램 조회 API Context Path입니다.

      monitoring.url.trace_path

      API Trace 데이터 조회 API Context Path입니다.

      monitoring.condition_name_req_cnt

      애플리케이션별 API 요청 횟수 조회 설정 이름입니다.

      monitoring.condition_name_err_cnt

      애플리케이션별 API 요청 에러 횟수 조회 설정 이름입니다.

    • LLM 설정

      llm.api.key=
      llm.api.url=https://api.openai.com/v1/chat/completions
      llm.model=gpt-4o-mini
      항목 설명

      llm.api.key

      LLM 모델 API Key입니다.

      llm.api.url

      LLM 모델 Chat Completions 엔드포인트 URL입니다.

      llm.model

      호출 대상 LLM 모델 식별자입니다. (예: gpt-4o-mini, gpt-4.1, o4-mini)

    • E-mail 알림 설정

      mail.host=smtp.naver.com
      mail.port=587
      mail.username=@naver.com
      mail.password=
      항목 설명

      mail.host

      SMTP 서버 주소입니다. (예: smtp.naver.com, smtp.gmail.com)

      mail.port

      SMTP 포트로 일반적으로 587(TLS), 465(SSL), 25(Plain) 중 선택합니다.

      mail.username

      SMTP 인증용 계정(보통 전체 이메일 주소)입니다.

      mail.password

      SMTP 계정 비밀번호 또는 서비스별 앱 비밀번호입니다.

    • Kakao 알림 설정

      notify.kakao.nhn.base-url=https://api-alimtalk.cloud.toast.com/alimtalk/v2.3
      notify.kakao.nhn.app-key=
      notify.kakao.nhn.secret-key=
      notify.kakao.nhn.sender-key=
      항목 설명

      notify.kakao.<공급사식별자>.base-url

      카카오 알림톡 공급사 API 서버 URL로 공급사에 따라 버전 및 경로가 상이할 수 있습니다.

      NHN 예시
      https://api-alimtalk.cloud.toast.com/alimtalk/v2.3

      notify.kakao.<공급사식별자>.app-key

      공급사에서 발급받은 프로젝트용 App Key를 설정합니다. API 호출 시 프로젝트 식별에 사용됩니다.

      notify.kakao.<공급사식별자>.secret-key

      API 인증용 Secret Key를 설정합니다. 요청 서명, 헤더 검증 등에 사용되며 외부 노출을 금지합니다.

      notify.kakao.<공급사식별자>.sender-key

      카카오 비즈니스 채널의 발신 프로필 키(Sender Key)를 설정합니다. 해당 프로필에서 승인된 템플릿만 발송 가능합니다.

    • SMS 알림 설정

      notify.sms.nhn.base-url=https://api-sms.cloud.toast.com/sms/v3.0
      notify.sms.nhn.app-key=
      notify.sms.nhn.secret-key=
      notify.sms.nhn.send-no=
      항목 설명

      notify.sms.<공급사식별자>.base-url

      SMS API 서버 기본 URL로, 공급사에 따라 버전 및 경로가 상이할 수 있습니다.

      NHN 예시
      https://api-sms.cloud.toast.com/sms/v3.0,

      notify.sms.<공급사식별자>.app-key

      공급사에서 발급받은 프로젝트용 App Key를 설정합니다. API 호출 시 프로젝트 식별에 사용됩니다.

      notify.sms.<공급사식별자>.secret-key

      API 인증용 Secret Key를 설정합니다. 요청 서명, 헤더 검증 등에 사용되며, 외부 노출을 금지합니다.

      notify.sms.<공급사식별자>.send-no

      SMS 발신번호(사전 등록 필수)를 설정합니다. 공급사 관리자 콘솔에서 발신번호 인증 절차 완료 후 사용 가능합니다.

설치 확인

API 포털 설치 후 웹 브라우저에서 JEUS 9에 배포된 API 포털 주소 (http://{IP}:{PORT}/{ContextPath})에 접속하여 각 서비스가 정상적으로 동작하는지 확인합니다.