Skip to content

Commit 5e082d3

Browse files
committed
Resolved merge conflict
2 parents 8567bd4 + 0760df0 commit 5e082d3

File tree

1,227 files changed

+30389
-6664
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,227 files changed

+30389
-6664
lines changed
153 KB
Loading
63.4 KB
Loading
132 KB
Loading
99.1 KB
Loading

articles/app-service/overview-tls.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ You can use Azure Policy to help audit your resources when it comes to minimum T
4848
App Service also allows you to set minimum TLS version for incoming requests to your web app and to SCM site. By default, the minimum TLS version for incoming requests to your web app and to SCM is set to 1.2 on both portal and API.
4949

5050
### TLS 1.3
51-
A [Minimum TLS Cipher Suite](#minimum-tls-cipher-suite-preview) setting is available with TLS 1.3. This includes two cipher suites at the top of the cipher suite order:
51+
A [Minimum TLS Cipher Suite](#minimum-tls-cipher-suite) setting is available with TLS 1.3. This includes two cipher suites at the top of the cipher suite order:
5252
- TLS_AES_256_GCM_SHA384
5353
- TLS_AES_128_GCM_SHA256
5454

@@ -62,10 +62,10 @@ To ensure backward compatibility for TLS 1.0 and TLS 1.1, App Service will conti
6262
> Incoming requests to web apps and incoming requests to Azure are treated differently. App Service will continue to support TLS 1.0 and 1.1 for incoming requests to the web apps. For incoming requests directly to the Azure control plane, for example through ARM or API calls, it is not recommended to use TLS 1.0 or 1.1.
6363
>
6464
65-
## Minimum TLS cipher suite (preview)
65+
## Minimum TLS cipher suite
6666

6767
> [!NOTE]
68-
> Minimum TLS Cipher Suite is supported on Premium SKUs and higher on multi-tenant App Service.
68+
> Minimum TLS Cipher Suite is supported on Basic SKUs and higher on multi-tenant App Service.
6969
7070
The minimum TLS cipher suite includes a fixed list of cipher suites with an optimal priority order that you cannot change. Reordering or reprioritizing the cipher suites is not recommended as it could expose your web apps to weaker encryption. You also cannot add new or different cipher suites to this list. When you select a minimum cipher suite, the system automatically disables all less secure cipher suites for your web app, without allowing you to selectively disable only some weaker cipher suites.
7171

@@ -77,7 +77,7 @@ A cipher suite is a set of instructions that contains algorithms and protocols t
7777

7878
For App Service Environments with `FrontEndSSLCipherSuiteOrder` cluster setting, you need to update your settings to include two TLS 1.3 cipher suites (TLS_AES_256_GCM_SHA384 and TLS_AES_128_GCM_SHA256). Once updated, restart your front-end for the change to take effect. You must still include the two required cipher suites as mentioned in the docs.
7979

80-
## End-to-end TLS Encryption (preview)
80+
## End-to-end TLS Encryption
8181

8282
End-to-end (E2E) TLS encryption is available in Standard App Service plans and higher. Front-end intra-cluster traffic between App Service front-ends and the workers running application workloads can now be encrypted.
8383

articles/app-service/overview-vnet-integration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ Virtual network integration depends on a dedicated subnet. When you create a sub
7272

7373
When you scale up/down in instance size, the amount of IP addresses used by the App Service plan is temporarily doubled while the scale operation completes. The new instances need to be fully operational before the existing instances are deprovisioned. The scale operation affects the real, available supported instances for a given subnet size. Platform upgrades need free IP addresses to ensure upgrades can happen without interruptions to outbound traffic. Finally, after scale up, down, or in operations complete, there might be a short period of time before IP addresses are released. In rare cases, this operation can be up to 12 hours and if you rapidly scale in/out or up/down, you need more IPs than the maximum scale.
7474

75-
Because subnet size can't be changed after assignment, use a subnet that's large enough to accommodate whatever scale your app might reach. You should also reserve IP addresses for platform upgrades. To avoid any issues with subnet capacity, we recommand allocating double the IPs of your planned maximum scale. A `/26` with 64 addresses cover the maximum scale of a single multitenant App Service plan. When you're creating subnets in Azure portal as part of integrating with the virtual network, a minimum size of `/27` is required. If the subnet already exists before integrating through the portal, you can use a `/28` subnet.
75+
Because subnet size can't be changed after assignment, use a subnet that's large enough to accommodate whatever scale your app might reach. You should also reserve IP addresses for platform upgrades. To avoid any issues with subnet capacity, we recommend allocating double the IPs of your planned maximum scale. A `/26` with 64 addresses cover the maximum scale of a single multitenant App Service plan. When you're creating subnets in Azure portal as part of integrating with the virtual network, a minimum size of `/27` is required. If the subnet already exists before integrating through the portal, you can use a `/28` subnet.
7676

7777
With multi plan subnet join (MPSJ), you can join multiple App Service plans in to the same subnet. All App Service plans must be in the same subscription but the virtual network/subnet can be in a different subscription. Each instance from each App Service plan requires an IP address from the subnet and to use MPSJ a minimum size of `/26` subnet is required. If you plan to join many and/or large scale plans, you should plan for larger subnet ranges.
7878

articles/app-service/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,8 @@
9494
href: deploy-configure-credentials.md
9595
- name: Create staging environments
9696
href: deploy-staging-slots.md
97+
- name: Deploy sidecar container
98+
href: tutorial-sidecar.md
9799
- name: Mount Azure Storage
98100
href: configure-connect-to-azure-storage.md
99101
- name: Automate provisioning

articles/app-service/tutorial-custom-container-sidecar.md

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,43 @@
11
---
2-
title: 'Tutorial: Configure a sidecar container'
2+
title: 'Tutorial: Configure a sidecar for a custom container app'
33
description: Add sidecar containers to your custom container in Azure App Service. Add or update services to your application without changing your application container.
44
ms.topic: tutorial
55
ms.date: 04/07/2024
6-
ms.author: msangapu
7-
author: msangapu-msft
6+
ms.author: cephalin
7+
author: cephalin
88
keywords: azure app service, web app, linux, windows, docker, container, sidecar
99
---
1010

11-
# Tutorial: Configure a sidecar container for custom container in Azure App Service (preview)
11+
# Tutorial: Configure a sidecar container for custom container in Azure App Service
1212

13-
In this tutorial, you add OpenTelemetry collector as a sidecar container to a Linux custom container app in Azure App Service.
13+
In this tutorial, you add an OpenTelemetry collector as a sidecar container to a Linux custom container app in Azure App Service. For bring-your-own-code Linux apps, see [Tutorial: Configure a sidecar container for a Linux app in Azure App Service](tutorial-sidecar.md).
1414

15-
In Azure App Service, you can add up to 4 sidecar containers for each sidecar-enabled custom container app. Sidecar containers let you deploy extra services and features to your container application without making them tightly coupled to your main application container. For example, you can add monitoring, logging, configuration, and networking services as sidecar containers. An OpenTelemetry collector sidecar is one such monitoring example.
15+
In Azure App Service, you can add up to nine sidecar containers for each sidecar-enabled custom container app. Sidecar containers let you deploy extra services and features to your container application without making them tightly coupled to your main application container. For example, you can add monitoring, logging, configuration, and networking services as sidecar containers. An OpenTelemetry collector sidecar is one such monitoring example.
1616

17-
For more information about sidecars, see [Sidecar pattern](/azure/architecture/patterns/sidecar).
17+
For more information about side container in App Service, see:
1818

19-
> [!NOTE]
20-
> For the preview period, sidecar support must be enabled at app creation. There's currently no way to enable sidecar support for an existing app.
19+
- [Introducing Sidecars for Azure App Service for Linux: Now Generally Available](https://azure.github.io/AppService/2024/11/08/Global-Availability-Sidecars.html)
20+
- [Announcing the general availability of sidecar extensibility in Azure App Service](https://techcommunity.microsoft.com/blog/appsonazureblog/announcing-the-general-availability-of-sidecar-extensibility-in-azure-app-servic/4267985)
2121

2222
[!INCLUDE [quickstarts-free-trial-note](~/reusable-content/ce-skilling/azure/includes/quickstarts-free-trial-note.md)]
2323

2424
## 1. Set up the needed resources
2525

26-
First you create the resources that the tutorial uses (for more information, see [Cloud Shell Overview](../cloud-shell/overview.md)). They're used for this particular scenario and aren't required for sidecar containers in general.
26+
First you create the resources that the tutorial uses. They're used for this particular scenario and aren't required for sidecar containers in general.
2727

2828
1. In the [Azure Cloud Shell](https://shell.azure.com), run the following commands:
2929

3030
```azurecli-interactive
3131
git clone https://github.com/Azure-Samples/app-service-sidecar-tutorial-prereqs
3232
cd app-service-sidecar-tutorial-prereqs
33+
azd env new my-sidecar-env
3334
azd provision
3435
```
3536
36-
1. When prompted, supply the environment name, subscription, and region you want. For example:
37+
1. When prompted, supply the subscription and region you want. For example:
3738
38-
- Environment name: *my-sidecar-env*
39-
- Subscription: your subscription
40-
- Region: *(Europe) West Europe*
39+
- Subscription: Your subscription.
40+
- Region: *(Europe) West Europe*.
4141
4242
When deployment completes, you should see the following output:
4343
@@ -52,7 +52,7 @@ First you create the resources that the tutorial uses (for more information, see
5252
> [!NOTE]
5353
> `azd provision` uses the included templates to create the following Azure resources:
5454
>
55-
> - A resource group
55+
> - A resource group called *my-sidecar-env_group*.
5656
> - A [container registry](/azure/container-registry/container-registry-intro) with two images deployed:
5757
> - An Nginx image with the OpenTelemetry module.
5858
> - An OpenTelemetry collector image, configured to export to [Azure Monitor](/azure/azure-monitor/overview).
@@ -108,9 +108,6 @@ In this section, you add a sidecar container to your custom container app.
108108
- **Registry**: The registry created by `azd provision`
109109
- **Image**: **otel-collector**
110110
- **Tag**: **latest**
111-
- **Port**: **4317**
112-
113-
Port 4317 is the default port used by the sample container to receive OpenTelemetry data. It's accessible from any other container in the app at `localhost:4317`. This is exactly how the Nginx container sends data to the sidecar (see the [OpenTelemetry module configuration for the sample Nginx image](https://github.com/Azure-Samples/app-service-sidecar-tutorial-prereqs/blob/main/images/nginx/opentelemetry_module.conf)).
114111
115112
1. Select **Apply**.
116113
@@ -124,13 +121,13 @@ For the sample scenario, the otel-collector sidecar is configured to export the
124121
125122
You configure environment variables for the containers like any App Service app, by configuring [app settings](configure-common.md#configure-app-settings). The app settings are accessible to all the containers in the app.
126123
127-
1. In the app's management page, from the left menu, select **Configuration**.
124+
1. In the app's management page, from the left menu, select **Environment variables**.
128125
129-
1. Add an app setting by selecting **New application setting** and configure it as follows:
126+
1. Add an app setting by selecting **Add** and configure it as follows:
130127
- **Name**: *APPLICATIONINSIGHTS_CONNECTION_STRING*
131-
- **Value**: The connection string in the output of `azd provision`
128+
- **Value**: The connection string in the output of `azd provision`. If you lost the Cloud Shell session, you can also find it in the **Overview** page of the Application Insight resource, under **Connection String**.
132129
133-
1. Select **Save**, then select **Continue**.
130+
1. Select **Apply**, then **Apply**, then **Confirm**.
134131
135132
:::image type="content" source="media/tutorial-custom-container-sidecar/configure-app-settings.png" alt-text="Screenshot showing a web app's Configuration page with two app settings added.":::
136133
@@ -142,7 +139,7 @@ You configure environment variables for the containers like any App Service app,
142139
The otel-collector sidecar should export data to Application Insights now.
143140
144141
1. Back in the browser tab for `https://<app-name>.azurewebsites.net`, refresh the page a few times to generate some web requests.
145-
1. Go back to the resource group overview page, select the Application Insights resource. You should now see some data in the default charts.
142+
1. Go back to the resource group overview page, then select the Application Insights resource. You should now see some data in the default charts.
146143
147144
:::image type="content" source="media/tutorial-custom-container-sidecar/app-insights-view.png" alt-text="Screenshot of the Application Insights page showing data in the default charts.":::
148145
@@ -157,6 +154,12 @@ When you no longer need the environment, you can delete the resource group, App
157154
azd down
158155
```
159156

157+
## How do sidecar containers handle internal communication?
158+
159+
Sidecar containers share the same network host as the main container, so the main container (and other sidecar containers) can reach any port on the sidecar with `localhost:<port>`. This is exactly how the Nginx container sends data to the sidecar (see the [OpenTelemetry module configuration for the sample Nginx image](https://github.com/Azure-Samples/app-service-sidecar-tutorial-prereqs/blob/main/images/nginx/opentelemetry_module.conf)).
160+
161+
In the **Edit container** dialog, the **Port** box isn't currently used by App Service. You can use it as part of the sidecar metadata, such as to indicate which port the sidecar is listening to.
162+
160163
## Differences for sidecar-enabled apps
161164

162165
You configure sidecar-enabled apps differently than apps that aren't sidecar-enabled. Specifically, you don't configure the main container and sidecars with app settings, but directly in the resource properties. These app settings don't apply for sidecar-enabled apps:

0 commit comments

Comments
 (0)