2012-04-16 2 views
2

현재 우리는 Azure에서 UI 웹 역할과 웹 서비스 웹 역할 (WCF REST)을 실행합니다. 각 역할에는로드 균형 조정과 SLA 요구 사항 충족을 위해 2 개의 인스턴스가 포함되어 있습니다. UI 웹 역할과 웹 서비스 웹 역할은 동일한 가입이지만 다른 배포에 있습니다. 우리는 코드베이스 (유지 보수성 등)를 병합하고 싶지 않습니다. 따라서 UI 레이어는 xyz.cloudapp.net에 있고 웹 서비스 레이어는 abc.cloudapp.net에 있습니다.Azure 엔드 포인트 - 다른 배치

현재 웹 서비스 웹 역할을 내부 끝점, 즉 UI 레이어에서만 액세스 가능하게 만드는 것이 요구됩니다. 내부 엔드 포인트를 구성하고 다른 엔드 포인트에서 액세스하는 방법에 관한 문서는 분명하지 않습니다.

이 작업을 수행하려면 두 가지 역할을 단일 배포에 포함해야한다고 가정합니다. 배포에 영향을주지 않고이 작업을 수행 할 수 있습니까? 올바른 방향으로 어떤 포인터가 크게 감사하겠습니다.

답변

2

내부 엔드 포인트는 단일 배치 내에서만 액세스 할 수 있으며로드 밸런서를 통해 라우팅하지 않습니다. 따라서 내부 엔드 포인트에서 2 개의 wcf 서비스 인스턴스를 액세스 할 수있는 경우 인스턴스간에 호출을 분배해야합니다. 물론 웹 역할과 wcf 웹 역할을 동일한 배포에 배치해야합니다.

웹 역할 인스턴스에서 wcf 서비스에 안전하게 접근하기 위해 서비스 버스를 고려할 수 있습니다. 또는 ... 입력 끝점을 통해 wcf 서비스를 노출하지만 서비스를 보호하십시오. http://brentdacodemonkey.wordpress.com/?s=virtual+dmz

그것은 당신이 입력 엔드 포인트 (다음로드 밸런싱되는)에 대한 액세스 제어를 만들 수 있도록하기 위해 ACS와 WCF 바인딩을 활용 :

+0

서비스 버스 릴레이는 Azure 서비스 인터페이스 (* 즉, 하늘색 호스팅 IIS 응용 프로그램 *을 통해 서비스 버스 수신기에 대한 자동 시작을 사용할 수 있습니까?)에서 작동합니까? – SliverNinja

1

using claims-based authentication을 WCF 끝점에 대한 액세스를 제한하기 위해 ACS (Access Control Services)를 사용 해본 적이 있습니까?

via WCF bindings을 제공 할 수있는 다양한 보호 체계가 있습니다.

Internal Endpoints은 같은 배포에서 역할 간에서만 통신 할 수 있습니다. 별도의 배포가 두 개있는 경우 (abc.cloudapp.netxyz.cloudapp.net, 내부 끝점은) 도움이되지 않습니다.

+2

사실이 아닙니다. 내부 끝점은 배포 내의 모든 역할의 모든 인스턴스에 노출됩니다. –

+0

@DavidMakogon - 수정 해 주셔서 감사합니다. 위에 편집 됨. – SliverNinja

1

나는 당신의 요구를 충족 sould 가상 DMZ를 호출과 같은 방법이있다. 물론, 당신이 튼튼한 무언가를 원하지 않는다면, 표준 WCF 상호 인증 시나리오의 표준으로 갈 수 있습니다.

즉 David는 훌륭한 점을 말합니다. 내부 엔드 포인트는 단일 배치 된 서비스로만 액세스 할 수 있습니다. 이는 서비스가 격리 경계 (가상 LAN 브랜치)를 나타내며 유일한 입력 끝점이 해당 경계 외부에서 시작될 수 있기 때문입니다.