Skip to content

Commit fb663b4

Browse files
authored
Merge pull request #268121 from ShawnJackson/six-azure-managed-instance-for-apache-cassandra-articles
[AQ] edit pass: Six Azure Managed Instance for Apache Cassandra articles
2 parents a5ce2c9 + 6e7a6e0 commit fb663b4

File tree

7 files changed

+303
-288
lines changed

7 files changed

+303
-288
lines changed
Lines changed: 52 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: Azure Managed Instance for Apache Cassandra Customer-managed keys
3-
description: Customer-managed keys
2+
title: Azure Managed Instance for Apache Cassandra customer-managed keys
3+
description: Learn how to implement customer-managed keys in Azure Managed Instance for Apache Cassandra by using Azure Key Vault.
44
author: TheovanKraay
55
ms.author: thvankra
66
ms.service: managed-instance-apache-cassandra
@@ -10,32 +10,32 @@ ms.custom: references_regions, devx-track-azurecli
1010

1111
---
1212

13-
# Customer-managed keys - overview
13+
# Customer-managed keys in Azure Managed Instance for Apache Cassandra
1414

15-
Azure Managed Instance for Apache Cassandra provides the capability to encrypt data on disk using your own key. This article describes how to implement customer-managed keys with Azure Key Vault.
15+
In Azure Managed Instance for Apache Cassandra, you can use your own key to encrypt data on disk. This article describes how to implement customer-managed keys by using Azure Key Vault.
1616

1717
## Prerequisites
1818

19-
- Set up a secret using Azure Key Vault. Learn more about Azure Key Vault [here](../key-vault/secrets/about-secrets.md).
20-
- Deployed a virtual network in your resource group, and applied the network contributor role with the Azure Cosmos DB service principal as a member. See [Create an Azure Managed Instance for Apache Cassandra cluster using Azure CLI](create-cluster-cli.md) for more detail.
19+
- Set up a secret by using Azure Key Vault. For more information, see [About Azure Key Vault secrets](../key-vault/secrets/about-secrets.md).
20+
- Deploy a virtual network in your resource group.
21+
- Apply the Network Contributor role with the Azure Cosmos DB service principal as a member. Use the following command:
2122

22-
> [!IMPORTANT]
23-
> This article requires the Azure CLI version 2.30.0 or higher. If you are using Azure Cloud Shell, the latest version is already installed.
23+
```azurecli-interactive
24+
az role assignment create \
25+
--assignee a232010e-820c-4083-83bb-3ace5fc29d0b \
26+
--role 4d97b98b-1d4f-4787-a291-c67834d212e7 \
27+
--scope /subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>
28+
```
2429

25-
## <a id="create-cluster"></a>Create a cluster with system assigned identity
30+
Applying the appropriate role to your virtual network helps you avoid failure when you deploy an Azure Managed Instance for Apache Cassandra cluster. For more information, see [Create an Azure Managed Instance for Apache Cassandra cluster by using the Azure CLI](create-cluster-cli.md).
2631

27-
> [!NOTE]
28-
> As mentioned in pre-requisites, to avoid deployment failure, make sure you have applied the appropriate role to your virtual network before attempting to deploy a managed instance cluster:
29-
> ```azurecli-interactive
30-
> az role assignment create \
31-
> --assignee a232010e-820c-4083-83bb-3ace5fc29d0b \
32-
> --role 4d97b98b-1d4f-4787-a291-c67834d212e7 \
33-
> --scope /subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>
34-
> ```
32+
This article requires Azure CLI version 2.30.0 or later. If you're using Azure Cloud Shell, the latest version is already installed.
3533

36-
1. Create a cluster by specifying identity type as SystemAssigned, replacing `<subscriptionID>`, `<resourceGroupName>`, `<vnetName>`, and `<subnetName>` with the appropriate values:
34+
## <a id="create-cluster"></a>Create a cluster with a system-assigned identity
3735

38-
```azurecli-interactive
36+
1. Create a cluster by using the following command. Replace `<subscriptionID>`, `<resourceGroupName>`, `<vnetName>`, and `<subnetName>` with the appropriate values.
37+
38+
```azurecli-interactive
3939
subnet="/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>/subnets/<subnetName>"
4040
cluster="thvankra-cmk-test-wcus"
4141
group="thvankra-nova-cmk-test"
@@ -51,13 +51,13 @@ Azure Managed Instance for Apache Cassandra provides the capability to encrypt d
5151
--initial-cassandra-admin-password $password
5252
```
5353
54-
1. Get the identity information of the created cluster
54+
1. Get the identity information of the created cluster:
5555
5656
```azurecli-interactive
5757
az managed-cassandra cluster show -c $cluster -g $group
5858
```
5959
60-
The output will include an identity section like the below. Copy `principalId` for later use:
60+
The output includes an identity section like the following example. Copy the `principalId` value for later use.
6161
6262
```shell
6363
"identity": {
@@ -66,37 +66,35 @@ Azure Managed Instance for Apache Cassandra provides the capability to encrypt d
6666
"type": "SystemAssigned"
6767
}
6868
```
69-
70-
1. In Azure Key Vault, create an access policy to your keys:
7169
72-
:::image type="content" source="./media/cmk/key-vault-access-policy-1.png" alt-text="Key Vault Access policy 1" lightbox="./media/cmk/key-vault-access-policy-1.png" border="true":::
70+
1. In the Azure portal, go to your key vault and select **Access policies**. Then select **Add Access Policy** to create an access policy for your keys.
7371
74-
1. Assign `get`, `wrap` and `unwrap` key permissions on the key vault to the cluster's `principalId` retrieved above. In the portal, you can also look up the Principal ID of the cluster by the cluster's name:
75-
72+
:::image type="content" source="./media/cmk/key-vault-access-policy-1.png" alt-text="Screenshot that shows the pane for access policies in the Azure portal." lightbox="./media/cmk/key-vault-access-policy-1.png" border="true":::
7673
77-
:::image type="content" source="./media/cmk/key-vault-access-policy-2.png" alt-text="Key Vault Access policy 2" lightbox="./media/cmk/key-vault-access-policy-2.png" border="true":::
74+
1. For **Key permissions**, select **get**, **wrap**, and **unwrap**. Select the **Select principal** box to open the **Principal** pane. Enter the cluster's `principalId` value that you retrieved earlier, and then select the **Select** button. (In the portal, you can also look up the principal ID of the cluster by the cluster's name.)
7875
79-
> [!WARNING]
80-
> Make sure the key vault has Purge Protection enabled. Datacenter deployments will fail without it.
76+
:::image type="content" source="./media/cmk/key-vault-access-policy-2.png" alt-text="Screenshot that shows an example of adding a principal for an access policy." lightbox="./media/cmk/key-vault-access-policy-2.png" border="true":::
8177
82-
1. After you click on `add` to add the access policy, make sure you save it:
78+
> [!WARNING]
79+
> Make sure that the key vault has purge protection turned on. Datacenter deployments will fail without it.
8380
84-
:::image type="content" source="./media/cmk/save.png" alt-text="Save Access policy" lightbox="./media/cmk/key-vault-access-policy-2.png" border="true":::
81+
1. Select **Add** to add the access policy, and then select **Save**.
8582
86-
1. To get the key identifier, select your key:
83+
:::image type="content" source="./media/cmk/save.png" alt-text="Screenshot that shows the button for saving an access policy." lightbox="./media/cmk/key-vault-access-policy-2.png" border="true":::
8784
88-
:::image type="content" source="./media/cmk/select-key.png" alt-text="Select key" lightbox="./media/cmk/key-identifier-1.png" border="true":::
85+
1. To get the key identifier, select **Keys**, and then select your key.
8986
90-
1. Click on current version:
87+
:::image type="content" source="./media/cmk/select-key.png" alt-text="Screenshot that shows the pane for selecting a key." lightbox="./media/cmk/key-identifier-1.png" border="true":::
9188
92-
:::image type="content" source="./media/cmk/current-version.png" alt-text="Select current version" lightbox="./media/cmk/key-identifier-1.png" border="true":::
89+
1. Select the current version.
9390
94-
1. Save the key identifier for later use:
91+
:::image type="content" source="./media/cmk/current-version.png" alt-text="Screenshot that shows the box for selecting the current version of a key." lightbox="./media/cmk/key-identifier-1.png" border="true":::
9592
96-
:::image type="content" source="./media/cmk/key-identifier-2.png" alt-text="Key identifier step 2" lightbox="./media/cmk/key-identifier-1.png" border="true":::
93+
1. Save the key identifier for later use.
9794
95+
:::image type="content" source="./media/cmk/key-identifier-2.png" alt-text="Screenshot that shows copying a key identifier to the clipboard." lightbox="./media/cmk/key-identifier-1.png" border="true":::
9896
99-
1. Create the datacenter by replacing `<key identifier>` with the same key (the uri you copied in previous step) for both managed disk (managed-disk-customer-key-uri) and backup storage (backup-storage-customer-key-uri) encryption as shown below (use the same value for `subnet` you used earlier):
97+
1. Create the datacenter by replacing `<key identifier>` with the same key (the URI that you copied in the previous step) for both managed disk (`managed-disk-customer-key-uri`) and backup storage (`backup-storage-customer-key-uri`) encryption. Use the same value for `subnet` that you used earlier.
10098
10199
```azurecli-interactive
102100
managedDiskKeyUri = "<key identifier>"
@@ -120,24 +118,24 @@ Azure Managed Instance for Apache Cassandra provides the capability to encrypt d
120118
--sku Standard_DS14_v2
121119
```
122120
123-
1. An existing cluster with no identity information can be assigned an identity as shown below:
121+
You can also assign an identity to an existing cluster with no identity information:
124122
125-
```azurecli-interactive
126-
az managed-cassandra cluster update --identity-type SystemAssigned -g $group -c $cluster
127-
```
123+
```azurecli-interactive
124+
az managed-cassandra cluster update --identity-type SystemAssigned -g $group -c $cluster
125+
```
128126

129-
## <a id="update-cluster"></a>Rotating the key
127+
## <a id="update-cluster"></a>Rotate the key
130128

131-
1. Below is the command to update the key:
129+
To update the key, use this command:
132130

133-
```azurecli-interactive
134-
managedDiskKeyUri = "<key identifier>"
135-
backupStorageKeyUri = "<key identifier>"
131+
```azurecli-interactive
132+
managedDiskKeyUri = "<key identifier>"
133+
backupStorageKeyUri = "<key identifier>"
136134
137-
az managed-cassandra datacenter update \
138-
--resource-group $group \
139-
--cluster-name $cluster \
140-
--data-center-name $dc \
141-
--managed-disk-customer-key-uri $managedDiskKeyUri \
142-
--backup-storage-customer-key-uri $backupStorageKeyUri
143-
```
135+
az managed-cassandra datacenter update \
136+
--resource-group $group \
137+
--cluster-name $cluster \
138+
--data-center-name $dc \
139+
--managed-disk-customer-key-uri $managedDiskKeyUri \
140+
--backup-storage-customer-key-uri $backupStorageKeyUri
141+
```

articles/managed-instance-apache-cassandra/jaeger.md

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,27 +11,27 @@ ms.date: 12/08/2023
1111

1212
# Run Jaeger with Azure Managed Instance for Apache Cassandra
1313

14-
Jaeger, a distributed tracing platform for monitoring microservices, enables the fast identification of performance challenges and optimization. Through features, like tracing instrumentation and logging integration.
15-
16-
The article specifically details the use of the sample application HotROD and Jaeger alongside Azure Managed Instance for Apache Cassandra for efficient storage monitoring.
14+
Jaeger is a distributed tracing platform for monitoring microservices. It enables the fast identification of performance challenges and optimization through features like tracing instrumentation and logging integration.
1715

16+
This article details the use of the sample application HotROD and Jaeger alongside Azure Managed Instance for Apache Cassandra for efficient storage monitoring.
1817

1918
## Prerequisites and setup
20-
* [Create an Azure Managed Instance for Apache Cassandra cluster](create-cluster-cli.md).
21-
* [Ensure Docker is installed](https://www.docker.com/get-started/).
2219

20+
* [Create an Azure Managed Instance for Apache Cassandra cluster](create-cluster-cli.md).
21+
* [Ensure that Docker is installed](https://www.docker.com/get-started/).
2322

2423
## Use Jaeger with Azure Managed Instance for Apache Cassandra
24+
2525
1. [Download the Jaeger repository](https://github.com/jaegertracing/jaeger.git).
26-
1. Navigate to the docker-compose folder `cd jaeger\docker-compose`.
27-
1. Add your Azure Managed Instance Cassandra cluster credentials to the `jaeger-collector and jaeger-query` section within the `jaeger-docker-compose.yml` file:
26+
1. Go to the *docker-compose* folder: `cd jaeger\docker-compose`.
27+
1. In the *jaeger-docker-compose.yml* file, add your Azure Managed Instance for Apache Cassandra cluster credentials to the `jaeger-collector` and `jaeger-query` sections:
2828

2929
```yml
3030
command: ["--cassandra.port=9042", "--cassandra.servers=seed_nodes_mi_datacenters", "--cassandra.username=cassandra", "--cassandra.password=cassandra_mi_password","--cassandra.tls.skip-host-verify","--cassandra.tls.enabled",
3131
"--cassandra.keyspace=jaeger_v1_dc1" ]
32-
```
32+
```
3333

34-
1. Additionally, add the environment variables to the `cassandra-schema and jaeger-collector`:`
34+
1. Add the environment variables to the `cassandra-schema` and `jaeger-collector` sections:
3535

3636
```yml
3737
environment:
@@ -41,7 +41,9 @@ The article specifically details the use of the sample application HotROD and Ja
4141
- CQLSH_SSL=--ssl
4242
...
4343
```
44-
1. To connect your Azure Managed Instance Cassandra cluster, add the Cassandra sign-in credentials to the `cassandra-schema`:
44+
45+
1. To connect your Azure Managed Instance for Apache Cassandra cluster, add the Cassandra sign-in credentials to the `cassandra-schema` section:
46+
4547
```yml
4648
environment:
4749
...
@@ -51,25 +53,30 @@ The article specifically details the use of the sample application HotROD and Ja
5153
- CASSANDRA_USERNAME=cassandra
5254
...
5355
```
56+
5457
1. Run `docker-compose -f jaeger-docker-compose.yml up -d` to start the application.
5558

56-
:::image type="content" source="./media/jaeger/jaeger-running.png" alt-text="Screenshot of running jaeger." lightbox="./media/jaeger/jaeger-running.png" border="true":::
59+
:::image type="content" source="./media/jaeger/jaeger-running.png" alt-text="Screenshot of a running Jaeger application." lightbox="./media/jaeger/jaeger-running.png" border="true":::
5760

5861
> [!TIP]
59-
> Five containers are created, and you should be able to access the test application at http://localhost:8080/ to generate traces that can be viewed at http://localhost:16686/search.
62+
> The command creates five containers. You can access the test application at `http://localhost:8080/` to generate traces that you can view at `http://localhost:16686/search`.
63+
64+
1. After the containers are running, use the Jaeger UI to view traces from the application.
6065

61-
1. Once the containers are running, access the Jaeger UI to view traces from the application.
62-
:::image type="content" source="./media/jaeger/jaeger-page-1.png" alt-text="Screenshot of jaeger web interface." lightbox="./media/jaeger/jaeger-page-1.png" border="true":::
66+
:::image type="content" source="./media/jaeger/jaeger-page-1.png" alt-text="Screenshot of the Jaeger web interface." lightbox="./media/jaeger/jaeger-page-1.png" border="true":::
6367

64-
1. Verify by inspecting your Azure Managed Instance cluster.
65-
:::image type="content" source="./media/jaeger/jaeger-table-1.png" alt-text="Screenshot of jaeger tables in managed instance cluster." lightbox="./media/jaeger/jaeger-table-1.png" border="true":::
68+
1. Verify by inspecting your Azure Managed Instance for Apache Cassandra cluster.
6669

67-
1. Refer to the traces table to view the data related to step 7.
68-
:::image type="content" source="./media/jaeger/jaeger-table-2.png" alt-text="Screenshot of jaeger trace table." lightbox="./media/jaeger/jaeger-table-2.png" border="true":::
70+
:::image type="content" source="./media/jaeger/jaeger-table-1.png" alt-text="Screenshot of Jaeger tables in a managed instance cluster." lightbox="./media/jaeger/jaeger-table-1.png" border="true":::
6971

72+
1. Refer to the `traces` table to view the data related to step 7.
7073

71-
## FAQs
72-
If you encounter issues running or testing Jaeger, open a support ticket. Provide the subscription ID and account name where your Jaeger test is running.
74+
:::image type="content" source="./media/jaeger/jaeger-table-2.png" alt-text="Screenshot of the Jaeger traces table." lightbox="./media/jaeger/jaeger-table-2.png" border="true":::
75+
76+
## Support
77+
78+
If you have problems running or testing Jaeger, open a support ticket. Provide the subscription ID and account name where your Jaeger instance is running.
7379

7480
## Next steps
75-
- Learn about [hybrid cluster configuration](configure-hybrid-cluster.md) in Azure Managed Instance for Apache Cassandra.
81+
82+
* Learn about [hybrid cluster configuration](configure-hybrid-cluster.md) in Azure Managed Instance for Apache Cassandra.

0 commit comments

Comments
 (0)