Skip to content

Commit 8042d19

Browse files
authored
Merge pull request #189611 from ronhogue/ronh-2022-02-24
Adding Queue Storage service to pre-reqs
2 parents b467246 + 9462d21 commit 8042d19

File tree

1 file changed

+55
-3
lines changed

1 file changed

+55
-3
lines changed

articles/hpc-cache/hpc-cache-prerequisites.md

Lines changed: 55 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
title: Azure HPC Cache prerequisites
33
description: Prerequisites for using Azure HPC Cache
4-
author: ekpgh
4+
author: ronhogue
55
ms.service: hpc-cache
66
ms.topic: how-to
7-
ms.date: 01/19/2022
7+
ms.date: 02/24/2022
88
ms.author: rohogue
99
---
1010

@@ -34,10 +34,11 @@ A paid subscription is recommended.
3434

3535
## Network infrastructure
3636

37-
Two network-related prerequisites should be set up before you can use your cache:
37+
These network-related prerequisites need to be set up before you can use your cache:
3838

3939
* A dedicated subnet for the Azure HPC Cache instance
4040
* DNS support so that the cache can access storage and other resources
41+
* Access from the subnet to additional Microsoft Azure infrastructure services, including NTP servers and the Azure Queue Storage service.
4142

4243
### Cache subnet
4344

@@ -49,6 +50,8 @@ The Azure HPC Cache needs a dedicated subnet with these qualities:
4950

5051
The best practice is to create a new subnet for each cache. You can create a new virtual network and subnet as part of creating the cache.
5152

53+
When creating this subnet, be careful that its security settings allow access to the necessary infrastructure services mentioned later in this section. You can restrict outbound internet connectivity, but make sure that there are exceptions for the items documented here.
54+
5255
### DNS access
5356

5457
The cache needs DNS to access resources outside of its virtual network. Depending on which resources you're using, you might need to set up a customized DNS server and configure forwarding between that server and Azure DNS servers:
@@ -95,6 +98,55 @@ More tips for NTP access:
9598

9699
* You can configure which NTP server your HPC Cache uses on the **Networking** page. Read [Configure additional settings](configuration.md#customize-ntp) for more information.
97100

101+
### Azure Queue Storage access
102+
103+
The cache must be able to securely access the [Azure Queue Storage service](../storage/queues/storage-queues-introduction.md) from inside its dedicated subnet. Azure HPC Cache uses the queues service when communicating configuration and state information.
104+
105+
If the cache can't access the queue service, you might see a CacheConnectivityError message when creating the cache.
106+
107+
There are two ways to provide access:
108+
109+
* Create an Azure Storage service endpoint in your cache subnet.
110+
Read [Add a virtual network subnet](../virtual-network/virtual-network-manage-subnet.md#add-a-subnet) for instructions to add the **Microsoft.Storage** service endpoint.
111+
112+
* Individually configure access to the Azure storage queue service domain in your network security group or other firewalls.
113+
114+
Add rules to permit access on these ports:
115+
116+
* TCP port 443 for secure traffic to any host in the domain queue.core.windows.net (`*.queue.core.windows.net`).
117+
118+
* TCP port 80 - used for verification of the server-side certificate. This is sometimes referred to as certificate revocation list (CRL) checking and online certificate status protocol (OCSP) communications. All of *.queue.core.windows.net uses the same certificate, and thus the same CRL/OCSP servers. The hostname is stored in the server-side SSL certificate.
119+
120+
Refer to the security rule tips in [NTP access](#ntp-access) for more information.
121+
122+
This command lists the CRL and OSCP servers that need to be permitted access. These servers must be resolvable by DNS and reachable on port 80 from the cache subnet.
123+
124+
```bash
125+
126+
openssl s_client -connect azure.queue.core.windows.net:443 2>&1 < /dev/null | sed -n '/-----BEGIN/,/-----END/p' | openssl x509 -noout -text -in /dev/stdin |egrep -i crl\|ocsp|grep URI
127+
128+
```
129+
130+
The output looks something like this, and can change if the SSL certificate updates:
131+
132+
```bash
133+
OCSP - URI:http://ocsp.msocsp.com
134+
CRL - URI:http://mscrl.microsoft.com/pki/mscorp/crl/Microsoft%20RSA%20TLS%20CA%2002.crl
135+
CRL - URI:http://crl.microsoft.com/pki/mscorp/crl/Microsoft%20RSA%20TLS%20CA%2002.crl
136+
```
137+
138+
You can check the subnet's connectivity by using this command from a test VM inside the subnet:
139+
140+
```bash
141+
openssl s_client -connect azure.queue.core.windows.net:443 -status 2>&1 < /dev/null |grep "OCSP Response Status"
142+
```
143+
144+
A successful connection gives this response:
145+
146+
```bash
147+
OCSP Response Status: successful (0x0)
148+
```
149+
98150
## Permissions
99151

100152
Check these permission-related prerequisites before starting to create your cache.

0 commit comments

Comments
 (0)