Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Service Bus Premium SKU? #3782

Closed
jonnyry opened this issue Nov 7, 2023 · 6 comments
Closed

Service Bus Premium SKU? #3782

jonnyry opened this issue Nov 7, 2023 · 6 comments
Labels
question Further information is requested

Comments

@jonnyry
Copy link
Collaborator

jonnyry commented Nov 7, 2023

Could the Service Bus SKU be reduced to Standard in order to reduce running costs? Are there any tradeoffs in doing so?

Cost between the Standard and Premium SKU in UK South:

  • Standard £8.10/mo (up to 13M ops)
  • Premium £557.72/mo (unlimited ops)

Given it's not possible to suspend or stop the Service Bus (without deleting it) wanting to find out whether the Premium SKU is necessary.

@jonnyry jonnyry added the question Further information is requested label Nov 7, 2023
@marrobi
Copy link
Member

marrobi commented Nov 7, 2023

It's used as it is VNet integrated so there are no public endpoints. Agree the cost differential can be a challenge.

See: https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-premium-messaging#network-security

Standard could be used if IP filtering is sufficient (would need a consistent outbound IP from the resource processor) https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-ip-filtering .

The majority of use cases require no public endpoints to be exposed, hence premium is required. It would be nice to have the option but requires development.

Thought about deleting the service bus as part of make-tre-stop, then on start running make deploy-core to recreate, but that is hacky.

@jonnyry
Copy link
Collaborator Author

jonnyry commented Nov 7, 2023

I see - not so straightforward! I guess that its also not possible (or even desirable) to temporarily downgrade the SKU when stopping the service and upgrade when starting.

@marrobi
Copy link
Member

marrobi commented Nov 7, 2023

No, not possible unfortunately.

@jonnyry
Copy link
Collaborator Author

jonnyry commented Nov 20, 2023

Thanks for the ideas @marrobi . Will close this off as a question - though it's something we're continuing to consider.

@BiologyGeek
Copy link

Thought about deleting the service bus as part of make-tre-stop, then on start running make deploy-core to recreate, but that is hacky.

I deleted the 'Service Bus Namespace' manually, but as it led to abnormal activity in the 'Log Analytics workspace' #3953 (comment) , I ran the '$ make deploy-core' command. This error message appeared:

╷
│ Error: A resource with the ID "/subscriptions/####################/resourceGroups/rg-mytre/providers/Microsoft.ServiceBus/namespaces/sb-mytre|diagnostics-sb-mytre" already exists - to be managed via Terraform this resource needs to be imported into the State. Please see the resource documentation for "azurerm_monitor_diagnostic_setting" for more information.
│ 
│   with azurerm_monitor_diagnostic_setting.sb,
│   on servicebus.tf line 94, in resource "azurerm_monitor_diagnostic_setting" "sb":
│   94: resource "azurerm_monitor_diagnostic_setting" "sb" {
│ 
╵
Script done.
Terraform Error
make: *** [/home/vscode/AzureTRE/Makefile:110: deploy-core] Error 1

@marrobi
Copy link
Member

marrobi commented Jun 5, 2024

The easiest way would be to delete this resource and allow it to be recreated, try:

az resource delete --ids /subscriptions/####################/resourceGroups/rg-mytre/providers/Microsoft.ServiceBus/namespaces/sb-mytre|diagnostics-sb-mytre

If that doesn't work use the portal (see https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/create-diagnostic-settings?tabs=portal ) to find the diagnostic setting and delete it. They are part of Azure Monitor, so deleting the service bus does not delete the diagnostic setting, but then terraform tries to recreate it with the service bus.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants