2015-01-04 4 views
1

CF (run.pivotal.io)에 마이크로 서비스 아키텍처를 구현하고 개인 백엔드 서비스를 만드는 데 문제가 있습니다.Cloud foundy - 공개 경로가없는 백엔드 응용 프로그램 발견

내가 알기로 배포 할 때 옵션이 필요합니다. 경로 유무와 관계가 있습니다. 경로와

  1. 내 서비스는 내 공개 사이트 내 공개 REST API에 대한 확인되는 공공된다,하지만 난 내 백엔드 서비스를 원하지 않는다.

  2. 경로가 없는데 서비스 검색을 어떻게해야합니까? 그 기반으로

    1. 사용 VCAP_APPLICATION의 ENV 변수와 (유레카 같은 것을 사용하거나) 내 자신의 서비스 검색을 만들 : 이미 무엇을 발견

    . 이 포트는 항상 유효한 IP : PORT를 제공합니까? 내 응용 프로그램이 실행중인 DEA가 무엇이든 다른 DEA의 다른 응용 프로그램이이 IP : PORT에서 연결할 수 있습니까?

  3. VCAP_SERVICES를 사용하는 것보다 내 백엔드 앱을 서비스로 등록하고 바인딩합니다. 이 작업을 수행하려고하지만 CF 외부 서비스 등록에 대한 설명서 만 찾았습니다. 내 앱을 서비스로 묶는 간단한 방법이 있습니까? 정말 좋은 것입니다 무슨 그래서

그래서, 비공개로 응용 프로그램을 표시하지만 여전히에 호스트 및 도메인을 할당 할 수있다 (단지) 내 다른 애플 리케이션 CF로드 밸런서 불구하고 그것을 부를 수 있지만 것 대중으로부터 보호받을 권리.

+0

나는 이것에 대해 Pivotal 지원에서 정보를 얻었습니다. 1. VCAP_APPLICATION 정보는 DEA 간의 통신에 사용할 수 있습니다. 2. 서비스 등록은 공공 노선에서만 이루어 지므로이 문제는 해결되지 않습니다. 그들은 공공 서비스로 등록 할 것을 제안했으며, 발견을 위해 VCAP_SERVICES를 사용하고 자격 증명으로 서비스를 보호했습니다. 나는 세상이 자신들이 존재한다는 것을 알지 못한다면 더 좋아할 것입니다. – pborbas

답변

1

답변 인라인 ...

내가 배포에 옵션 보는 바와 같이

:로와 경로없이.

이것은 Cloud Foundry 설치 및 구성 방법에 따라 다릅니다. PWS에서는 응용 프로그램 인스턴스간에 직접 대화 할 수 없습니다. 보안 제한 사항입니다. 라우터를 통과해야합니다.

내 서비스가 공개되면 내 공개 사이트 및 공개 REST API에서 정상이지만 내 백엔드 서비스에는 적합하지 않습니다.

무단 액세스를 방지하기 위해 응용 프로그램 수준 (또는 컨테이너 수준, 원하는 경우 컨테이너 수준)의 보안을 추가하는 것이 가장 좋습니다.

암호 기반 인증을 원하지 않으면 IP 기반 필터링을 수행 할 수 있습니다. PWS에서 Statica으로 서비스를 추가했습니다. 이를 사용하여 아웃 바운드 트래픽을 정적 IP를 해당 프록시에 할당하는 프록시를 통해 아웃 바운드 트래픽을 보낼 수 있습니다. 그런 다음 앱에 대한 액세스를 Statica IP로만 제한 할 수 있습니다.

경로가 없는데 서비스 검색을 어떻게해야합니까?

경로를 삭제하면 트래픽을 앱으로 보낼 수 없습니다.

VCAP_APPLICATION env 변수를 사용하고 자체 서비스 검색 (또는 유레카 (Eureka)와 같은 것을 사용)을 만듭니다. 이 포트는 항상 유효한 IP : PORT를 제공합니까? 내 응용 프로그램이 실행중인 DEA가 무엇이든 다른 DEA의 다른 응용 프로그램이이 IP : PORT에서 연결할 수 있습니까?

아마도 this enhancement을 사용해야합니다. 이 유형의 배포를 지원하기 위해 추가되었습니다. 그러나이 기능은 응용 프로그램 인스턴스 간의 네트워킹 제한이 완화 된 Cloud Foundry 설치에서만 작동합니다. 일반적으로 인스턴스간에 직접 대화 할 수 없습니다.

VCAP_SERVICES를 사용하는 것보다 내 백엔드 앱을 서비스로 등록하고 바인딩합니다. 이 작업을 수행하려고하지만 CF 외부 서비스 등록에 대한 설명서 만 찾았습니다. 내 앱을 서비스로 묶는 간단한 방법이 있습니까?

"사용자 제공"서비스를 만들 수 있습니다. cf cups 명령을보십시오. 임의의 매개 변수 및 데이터 세트로 서비스를 작성할 수 있습니다. 여기에는 서비스 URL이 포함될 수 있습니다. 서비스를 만든 후에는 여러 개의 앱에 바인딩 할 수 있습니다.