Liberty 설정을 위한 PaaS(Platform-as-a-service) 환경 고려사항

PaaS(Platform-as-a-service) 환경(예: Bluemix®, Pivotal Cloud Foundry, OpenShift Enterprise)에서는 애플리케이션 인스턴스의 모니터링 및 관리를 제공하지만, 몇 가지 제한사항도 있습니다. PaaS 환경의 고유 특성으로 인해 일부 Liberty 기능이 중복되거나 서로 다르게 작동하므로, 이는 지원되지 않습니다.

Liberty 서버 관리 제한사항

모든 Liberty 서버 JVM 인스턴스가 PaaS 인프라에 의해 시작, 중지되고 관리되므로, Liberty 집합체와 관련된 기능은 PaaS 환경에 적용되지 않습니다. Admin Center 기능은 집합체 제어기 없이 다중 JVM 인스턴스를 사용하도록 애플리케이션을 스케일링할 수 있는 PaaS 환경에서 사용되도록 설계되어 있지 않습니다. 이 토폴로지에서는 Admin Center에 대한 요청이 임의의 실행 중인 인스턴스로 경로 지정될 수 있으며, 요청이 실행되는 서버만 이를 볼 수 있습니다.

다음 관리 기능은 PaaS 환경에서 지원되지 않습니다.
  • adminCenter-1.0
  • clusterMember-1.0
  • collectiveController-1.0
  • collectiveMember-1.0
  • dynamicRouting-1.0
  • healthAnalyzer-1.0
  • healthManager-1.0
  • scalingController-1.0
  • scalingMember-1.0

파일 시스템 제한사항

대부분의 PaaS 환경에서는 해당 애플리케이션에 지속적 로컬 파일 시스템을 제공하지 않습니다. Liberty의 경우, 이는 로컬로 데이터를 쓰며 서버 JVM를 다시 시작해도 해당 데이터가 지속되기를 기대하는 서버 내의 애플리케이션 및 컴포넌트 모두에 영향을 줍니다.

Liberty 트랜잭션 관리자는 다중 자원 관리자가 트랜잭션에서 포함될 때 로컬 파일 시스템에 로그 파일을 작성합니다. JVM 장애 및 다시 시작 후에 로그를 사용할 수 없는 경우에는 트랜잭션을 자동으로 완료할 수 없으며 데이터를 잠금 해제하고 자원 관리자 전체에서 일관성을 유지하기 위해 수동으로 해결해야 합니다. 이러한 시나리오를 피하기 위해, Liberty 빌드팩 또는 카트리지는 트랜잭션 로그 레코드가 작성되지 못하도록 하며 애플리케이션에 대해 예외를 발생시켜 두 번째 자원이 나열되지 못하도록 합니다. 그 결과, 단일 XA 자원으로 트랜잭션을 계속 사용할 수 있지만 두 번째 트랜잭션 자원을 트랜잭션에 나열할 수 없습니다. 또한, Web Services Atomic Transaction은 항상 로그 레코드를 작성하기 때문에 사용할 수 없습니다.

PaaS 환경이 지속적 스토리지를 제공하는 경우에는 JVM 구성에서 다음 Java™ 특성을 제거함으로써 2단계 트랜잭션을 사용하도록 Liberty 빌드팩 또는 카트리지를 수정할 수 있습니다.
-Dcom.ibm.tx.jta.disable2PC=true
다음 기능은 지속적 로컬 스토리지에 따라 다릅니다.
  • wsAtomicTransaction-1.2
  • 애플리케이션 작동에 따라 트랜잭션을 사용하는 기타 기능

네트워크 제한사항

일반적으로 PaaS 라우터는 IIOP(Internet Inter-ORB Protocol) 트래픽을 지원하지 않아서 EJB(Enterprise JavaBeans) 컴포넌트에 대한 원격 요청을 사용할 수 없습니다. 다음 기능은 IIOP 전송에 따라 다릅니다.
  • appClientSupport-1.0
  • appSecurityClient-1.0
  • ejbRemote-3.2

[16.0.0.4 and later]대부분의 PaaS 환경은 HTTP 라우터에서 암호화된 인바운드 요청에 대한 SSL을 종료하여 요청을 복호화할 수 있습니다. 이러한 암호화된 요청은 HTTPS 또는 wss일 수 있습니다. 그리고 복호화된 요청은 복호화된 HTTP 또는 wss 요청으로서 애플리케이션 서버에 전달됩니다. 일부 애플리케이션은 암호화된 요청에 의해서만 액세스가 가능하도록 구성되어 있습니다. @HttpConstraint 어노테이션의 transport-guarantee 요소 또는 transportGuarantee 요소를 사용하여 애플리케이션의 web.xml 파일에서 이 구성을 설정할 수 있습니다. REST 커넥터, Admin Center 및 API 발견을 포함하여, 일부 Liberty 기능은 보안 전송이 필요한 애플리케이션으로서 구현됩니다.

[16.0.0.4 and later]SSL이 종료되는 환경에서는 라우터가 클라이언트의 원래 요청이 암호화되었음을 애플리케이션 서버에 표시하는 메커니즘이 필요합니다. 이 메커니즘은 애플리케이션 요청이 계속 성공할 수 있도록 보장합니다. 개인용 WebSphere 헤더가 DataPower에서 SSL을 종료하는 데 사용됩니다(예: DataPower가 IBM Cloud 또는 IBM HTTP Server에서 사용되는 경우). 수정팩 16.0.0.4 이상에서 기타 HTTP 라우터가 사용되는 경우, 라우터는 원래 요청의 프로토콜을 표시하도록 X-Forwarded-Proto 헤더를 설정할 수 있습니다. 요청이 원래 암호화된 경우, 헤더는 HTTPS 또는 wss 프로토콜을 표시합니다. 그리고 Liberty 서버는 보안 전송을 요구하는 애플리케이션에 대한 액세스를 허용합니다.

[16.0.0.4 and later]다음 기능에서는 라우터가 SSL 종료가 발생했음을 표시하기 위해 HTTP 헤더를 설정하도록 요구합니다.

  • ssl-1.0
  • 보안 소켓 계층이 기능을 사용하는 기능 절에 나열된 ssl-1.0에 종속된 기타 기능.

Liberty Swagger 프로세서

Cloud Foundry 환경에서는 해당 사용자 인터페이스를 포함하여 Liberty의 Swagger 프로세서가 VCAP_APPLICATION 환경 변수의 존재를 확인합니다. 이는 URIS 배열의 첫 번째 요소를 API 호스트로 사용합니다.


주제의 유형을 표시하는 아이콘 개념 주제

파일 이름: cwlp_paas_restrict.html