Total Number of Endpoints (Input and Internal) in Windows Azure Role

In Windows Azure your service communicate form its endpoints and the endpoints are two type:

  1. Input (External)
  2. Internal

Your role must have at least one endpoint in it. You can not have role without any endpoint.

Service Specific Limit:

  • For any service you can have maximum 25 input (external) endpoints.
  • The total limit for any kind of endpoint is 50 means, you can have maximum 50 endpoint per service. So the Azure application which you will create can not exceed the total endpoint limit. 
  • A service can have maximum 5 Roles.

Role specific Limit:

  • In any role, you can maximum 5 internal endpoints.
  • If you have only one role in your Windows Azure Application, you can follow the service specific limit to have internal and input endpoints. 

Endpoint related error:

  • If you will add more endpoints then limit, you will not get any compilation error. The endpoint verification is done after your package is upload to Windows Azure Management Portal.

How does RDP use Endpoints:

  • RDP uses both internal and input endpoints. For one of your roles (if you have more then 1) RemoteForwarder consume an input endpoint, and on all of other roles RemoteAccess will consume an internal endpoint.  
  • So depend on how may roles you have the total number of endpoint counter will be different when you enable RDP access to your Windows Azure Application.
  • You can choose which role will use the input endpoint by modifying your csdef to put the RemoteForwarder import into the role you want to expose the 3389 RDP port.

The following error occurred during package deployment when I had more then 26 input (External) endpoints in my service. 

The following error occurred during package deployment when I had more than 5 internal endpoints in my webrole, actually 6. 

 

The following error occurred during package deployment when I had more then 50 endpoints total in my service:

 

 

If you will have more then 5 roles in your application then you will receive the following error: