Ich habe eine Cloud Service Worker-Rolle in Azure, die mit einer reservierten IP-Adresse eingerichtet wurde. Das Ziel der reservierten IP-Adresse ist, dass die Worker-Rolle bei externen Anfragen immer von derselben IP-Adresse kommt. Der Dienst empfängt keinen externen Datenverkehr, und es ist keine interne Kommunikation erforderlich. Dieses hinzugefügt der folgenden Netzwerkkonfiguration Abschnitt in die Datei .cscfgMap Azure Reservierte IP zum Endpunkt für Cloud-Service
Set-AzureReservedIPAssociation -ReservedIPName uld-sender-ip -ServiceName uld-sender
:
EDIT: Die reservierte IP wurde mit dem Cloud-Service mit dem folgenden Azure Powershell-Befehl zugeordnet
<NetworkConfiguration>
<AddressAssignments>
<ReservedIPs>
<ReservedIP name="uld-sender-ip" />
</ReservedIPs>
</AddressAssignments>
</NetworkConfiguration>
Wenn ich versuche, den Dienst neu zu implementieren oder die Konfigurationseinstellungen in Azure zu aktualisieren, Ich erhalte den folgenden Fehler:
The operation '5e6772fae607ae0ca387457883bf2974' failed: 'Validation Errors: Error validating the .cscfg file against the .csdef file. Severity:Error, message:ReservedIP 'uld-sender-ip' was not mapped to an endpoint. The service definition must contain atleast one endpoint that maps to the ReservedIP..'.
Also habe ich versucht, wie so ein Endpoint an die .csdef-Datei hinzufügen:
<Endpoints>
<InternalEndpoint name="uld-sender-ip" protocol="tcp" port="8080" />
</Endpoints>
Darüber hinaus habe ich NetworkTrafficRules zum .csdef wie so eingegeben haben:
<NetworkTrafficRules>
<OnlyAllowTrafficTo>
<Destinations>
<RoleEndpoint endpointName="uld-sender-ip" roleName="Sender"/>
</Destinations>
<AllowAllTraffic/>
</OnlyAllowTrafficTo>
</NetworkTrafficRules>
Aber ich bekomme immer noch den gleichen Fehler.
Mein Verständnis ist, dass Endpunkte nur für die interne Kommunikation zwischen Arbeiter/Web-Rollen benötigt werden, oder um einen Port für den Empfang externer Kommunikation zu öffnen.
BEARBEITEN: Meine Frage ist, wie ordnen Sie eine reservierte IP zu einem Endpunkt für dieses Szenario?
Können Sie uns Ihren vollständigen Code von * .Cloud.cscfg * und * .csdef * mitteilen? –