<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Raphael Olaniyi</title>
    <description>The latest articles on DEV Community by Raphael Olaniyi (@olaraph).</description>
    <link>https://dev.to/olaraph</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1456040%2Fba03db14-0107-4d33-8b99-da9064a9e40f.webp</url>
      <title>DEV Community: Raphael Olaniyi</title>
      <link>https://dev.to/olaraph</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/olaraph"/>
    <language>en</language>
    <item>
      <title>From Github to Container: Running a Node.js App (Wonderkid app) Locally and Packaging It with Docker.</title>
      <dc:creator>Raphael Olaniyi</dc:creator>
      <pubDate>Sat, 10 Oct 2026 07:19:56 +0000</pubDate>
      <link>https://dev.to/olaraph/from-clone-to-container-running-a-nodejs-app-wonderkid-app-locally-and-packaging-it-with-docker-36pc</link>
      <guid>https://dev.to/olaraph/from-clone-to-container-running-a-nodejs-app-wonderkid-app-locally-and-packaging-it-with-docker-36pc</guid>
      <description>&lt;p&gt;Getting a project running on your machine and then packaging it in a container are two of the most common tasks in modern development and DevOps work. This guide takes a Node.js web application (wonderkid)  from a fresh git clone to a running Docker container, with an explanation of why each step matters.&lt;br&gt;
Prerequisites: Git, Node.js (v22 recommended) with npm, VS Code, and Docker Desktop.&lt;/p&gt;

&lt;h1&gt;
  
  
  Part 1: Local Application Setup
&lt;/h1&gt;

&lt;p&gt;Before containerizing anything, confirm the application works on your own machine. If it doesn't run locally, it won't run in a container either, and debugging is much easier outside Docker. Lets follow the following steps to confirm this: &lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Clone the repository
&lt;/h2&gt;

&lt;p&gt;Open VS Code and create a dedicated workspace folder for your projects (in this case, I used the date I created the folder to name the folder ‘oct326’ ). Keeping projects in one place makes them easier to find and manage. Open the integrated terminal (Terminal → New Terminal, or Ctrl + `), navigate to that folder, and clone the repository. To do this you will need the repository url which you will get from the GitHub repository. :&lt;br&gt;
git clone       &lt;/p&gt;

&lt;p&gt;&lt;code&gt;git clone https://github.com/your-org/wonderkids.git&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwvw01anf7r0y8x3sqiyo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwvw01anf7r0y8x3sqiyo.png" alt="git clone" width="798" height="189"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This downloads the full project, including its history, into a new folder named after the repository.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Navigate into the project
&lt;/h2&gt;

&lt;p&gt;Before navigating into the folder, type the Ls command to see that the folder exists &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkq8ppd4ph1mm3vdmazi8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkq8ppd4ph1mm3vdmazi8.png" alt="ls" width="553" height="34"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then use the ‘cd’ command to navigate inside the project folder. &lt;br&gt;
cd &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F165qct169j3uvpyjr3qi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F165qct169j3uvpyjr3qi.png" alt="Cd" width="707" height="49"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Every command from here on must run from the project root, the folder containing package.json. Running ls (macOS/Linux) or dir (Windows) should show package.json, src/ or app/, and similar files. If you don't see package.json, you're in the wrong folder.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Install dependencies
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;npm install&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqkxu7py7ojz72he4s83k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqkxu7py7ojz72he4s83k.png" alt="npm install" width="800" height="352"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;npm reads package.json (and package-lock.json, if present) and downloads everything the project needs into a node_modules/ folder. This can take a minute or two. Some warnings about deprecated packages are normal, but red ERR! lines mean something failed, often a Node version mismatch, so check the project's README for the required version.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Run the app locally
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;npm run dev&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fovegt87y26yo4u0dze8y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fovegt87y26yo4u0dze8y.png" alt="npm rundev" width="673" height="123"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This starts the development server, which usually prints something like:Local: &lt;a href="http://localhost:3000" rel="noopener noreferrer"&gt;http://localhost:3000&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Open that address in your browser to confirm the application loads. Dev servers typically include hot reloading, so changes to your code appear instantly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F265hc9us9hkugotindki.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F265hc9us9hkugotindki.png" alt="Open" width="800" height="715"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you're finished, stop the server by pressing &lt;/p&gt;

&lt;p&gt;Ctrl + C in the terminal.&lt;br&gt;
Tip: If the port is already in use, another process is occupying it. Stop that process or run the app on a different port, depending on your framework's configuration.&lt;/p&gt;

&lt;h1&gt;
  
  
  Part 2: Docker Application Containerization
&lt;/h1&gt;

&lt;p&gt;Containerization packages your application together with its runtime and dependencies, so it behaves the same on your laptop, a teammate's machine, a CI pipeline, or a cloud host. These are the steps I took to contanerize wonderkid application&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Check that Docker Desktop is running
&lt;/h2&gt;

&lt;p&gt;Docker commands need the Docker engine running in the background. Launch Docker Desktop and wait until its status shows as running. Then verify from the terminal:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker --version&lt;/code&gt;&lt;br&gt;
&lt;code&gt;docker info&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If docker info returns an error like "Cannot connect to the Docker daemon," Docker Desktop isn't running yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Create the configuration files
&lt;/h2&gt;

&lt;p&gt;From the project root, create the two files Docker needs:&lt;br&gt;
&lt;code&gt;touch Dockerfile&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frdd0tpot18veu50vnnh1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frdd0tpot18veu50vnnh1.png" alt="touch" width="800" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;touch .dockerignore&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0hq3lut9zrrf05nwgrr7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0hq3lut9zrrf05nwgrr7.png" alt="Docker ignore" width="800" height="539"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Alternatively, you can create it manually without using the codes. &lt;br&gt;
On Windows PowerShell, use New-Item Dockerfile and New-Item .dockerignore instead, or create the files from VS Code's Explorer panel.&lt;br&gt;
Dockerfile is the recipe that tells Docker how to build your image.&lt;br&gt;
.dockerignore lists files that should not be sent to Docker during the build.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Configure the .dockerignore
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjv36g10oz21k3jbbedql.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjv36g10oz21k3jbbedql.png" alt="Docker ignore config" width="800" height="549"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Without a .dockerignore, Docker copies everything in your folder into the build context, including a large node_modules directory and your Git history. That slows builds and can leak sensitive files. Add:&lt;br&gt;
node_modules&lt;br&gt;
npm-debug.log&lt;br&gt;
.next&lt;br&gt;
dist&lt;br&gt;
build&lt;br&gt;
.git&lt;br&gt;
.gitignore&lt;br&gt;
.env&lt;br&gt;
.env.*&lt;br&gt;
Dockerfile&lt;br&gt;
.dockerignore&lt;br&gt;
README.md&lt;br&gt;
.vscode&lt;/p&gt;

&lt;p&gt;Excluding node_modules is especially important. The container installs its own dependencies for its own operating system, and copying yours in can cause conflicts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Write the Dockerfile with a multi-stage build
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F66ot4hhrrvidi4it8u2m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F66ot4hhrrvidi4it8u2m.png" alt="Dockerfile config" width="800" height="520"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A multi-stage build uses several FROM stages in one Dockerfile. Build tools and development dependencies are needed to compile your app but not to run it. By building in one stage and copying only the results into a clean final stage, you get a smaller, faster, and more secure image.&lt;br&gt;
Here is a solid starting template using Node 22 on Alpine Linux, a minimal base image:&lt;/p&gt;

&lt;h3&gt;
  
  
  Stage 1: Install dependencies ----------
&lt;/h3&gt;

&lt;p&gt;FROM node:22-alpine AS deps&lt;br&gt;
WORKDIR /app&lt;/p&gt;

&lt;h3&gt;
  
  
  Copy only dependency manifests first to leverage Docker layer caching
&lt;/h3&gt;

&lt;p&gt;COPY package.json package-lock.json ./&lt;br&gt;
RUN npm ci&lt;/p&gt;

&lt;h3&gt;
  
  
  Stage 2: Build the application ----------
&lt;/h3&gt;

&lt;p&gt;FROM node:22-alpine AS builder&lt;br&gt;
WORKDIR /app&lt;/p&gt;

&lt;p&gt;COPY --from=deps /app/node_modules ./node_modules&lt;br&gt;
COPY . .&lt;br&gt;
RUN npm run build&lt;/p&gt;

&lt;h3&gt;
  
  
  Stage 3: Production runtime ----------
&lt;/h3&gt;

&lt;p&gt;FROM node:22-alpine AS runner&lt;br&gt;
WORKDIR /app&lt;/p&gt;

&lt;p&gt;ENV NODE_ENV=production&lt;br&gt;
ENV PORT=3000&lt;/p&gt;

&lt;h3&gt;
  
  
  Run as a non-root user for better security
&lt;/h3&gt;

&lt;p&gt;RUN addgroup -S appgroup &amp;amp;&amp;amp; adduser -S appuser -G appgroup&lt;/p&gt;

&lt;h3&gt;
  
  
  Copy only what is needed to run the app
&lt;/h3&gt;

&lt;p&gt;COPY --from=builder /app/package.json ./package.json&lt;br&gt;
COPY --from=builder /app/package-lock.json ./package-lock.json&lt;br&gt;
COPY --from=builder /app/node_modules ./node_modules&lt;br&gt;
COPY --from=builder /app/dist ./dist&lt;/p&gt;

&lt;h3&gt;
  
  
  Remove dev-only packages from the final image
&lt;/h3&gt;

&lt;p&gt;RUN npm prune --omit=dev &amp;amp;&amp;amp; chown -R appuser:appgroup /app&lt;/p&gt;

&lt;p&gt;USER appuser&lt;/p&gt;

&lt;p&gt;EXPOSE 3000&lt;/p&gt;

&lt;p&gt;CMD ["npm", "start"]&lt;/p&gt;

&lt;h3&gt;
  
  
  Why it's built this way:
&lt;/h3&gt;

&lt;p&gt;Choice&lt;br&gt;
Reason&lt;br&gt;
node:22-alpine&lt;br&gt;
A current, actively supported Node version on a small base image with a reduced attack surface. Prefer a maintained LTS release.&lt;br&gt;
Three stages&lt;br&gt;
Separates dependency install, build, and runtime so the final image carries only what it needs.&lt;br&gt;
Copying package*.json first&lt;br&gt;
Docker caches layers. If your dependencies haven't changed, rebuilds skip the slow install step.&lt;br&gt;
npm ci&lt;br&gt;
Installs exact versions from the lockfile, giving reproducible builds (faster and stricter than npm install).&lt;br&gt;
Non-root user&lt;br&gt;
If the app is ever compromised, the attacker doesn't get root inside the container.&lt;br&gt;
EXPOSE 3000&lt;br&gt;
Documents which port the app listens on. Use 3001 if your app runs there. (just as we did in this case) &lt;/p&gt;

&lt;p&gt;Adapt it to your project. &lt;br&gt;
The template above assumes your build outputs to dist/ and npm start runs the production server. Check your package.json scripts and adjust:&lt;br&gt;
Next.js: the build output is .next/, so copy .next, public, and package.json instead of dist. Next.js's output: "standalone" option can shrink the image further.&lt;br&gt;
Vite/React single-page apps: these produce static files in dist/. A common pattern is a final stage using nginx:alpine that serves the static files, in which case you expose port 80 instead.&lt;br&gt;
Express/NestJS APIs: copy your compiled output (often dist/) and set CMD ["node", "dist/main.js"] or similar.&lt;br&gt;
Also make sure your app listens on 0.0.0.0 (not just localhost) and respects the PORT environment variable. Otherwise it won't be reachable from outside the container.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Build the Docker image
&lt;/h2&gt;

&lt;p&gt;From the project root, run:&lt;br&gt;
docker build -t : .&lt;/p&gt;

&lt;p&gt;For example I used:&lt;br&gt;
&lt;code&gt;docker build -t wonderkids:latest .&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzotyex0gylk1xyehf2rm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzotyex0gylk1xyehf2rm.png" alt="docker build" width="799" height="353"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;-t assigns a name and tag to the image.&lt;br&gt;
The trailing . tells Docker to use the current directory as the build context.&lt;br&gt;
Docker works through each stage and prints progress. When it finishes, confirm the image exists:&lt;br&gt;
docker images&lt;/p&gt;

&lt;p&gt;You'll see your image listed with its size. Compare it to a single-stage build and the multi-stage savings will be clear.&lt;br&gt;
Tip: Use meaningful tags such as wonderkids:1.0.0 rather than relying on latest alone, so you can roll back to a known version.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: Run the container
&lt;/h2&gt;

&lt;p&gt;Start a container from your image, mapping a port on your machine to the port inside the container:&lt;br&gt;
docker run -p : --name  :&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;code&gt;docker run -p 3001:3001 --name wonderkids-app wonderkids:latest&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqipqmnhpq4day3cyp1qw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqipqmnhpq4day3cyp1qw.png" alt="Docker run" width="796" height="73"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;-p 3001:3001 maps host port 3001 to container port 3001. The format is always host:container. To access the app on a different host port, change only the left side: -p 8080:3000 makes it available at &lt;a href="http://localhost:8080" rel="noopener noreferrer"&gt;http://localhost:8080&lt;/a&gt;.&lt;br&gt;
--name gives the container a friendly name instead of a random one.&lt;br&gt;
Open &lt;a href="http://localhost:3000" rel="noopener noreferrer"&gt;http://localhost:3000&lt;/a&gt; in your browser to confirm the containerized app is running. Press Ctrl + C to stop it if it's running in the foreground.&lt;br&gt;
Useful variations:&lt;br&gt;
Run in the background (detached mode)&lt;br&gt;
&lt;code&gt;docker run -d -p 3000:3000 --name wonderkids-app wonderkids:latest&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Automatically remove the container when it stops&lt;br&gt;
&lt;code&gt;docker run --rm -p 3000:3000 wonderkids:latest&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The container has been created on Dockerhub. &lt;/p&gt;

&lt;h3&gt;
  
  
  Everyday Docker Commands Useful for Every DevOps Engineer
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Task&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Command&lt;/strong&gt;&lt;br&gt;
List running containers&lt;br&gt;
&lt;code&gt;docker ps&lt;/code&gt;&lt;br&gt;
List all containers&lt;br&gt;
&lt;code&gt;docker ps -a&lt;/code&gt;&lt;br&gt;
View logs&lt;br&gt;
&lt;code&gt;docker logs wonderkids-app&lt;/code&gt;&lt;br&gt;
Follow logs live&lt;br&gt;
&lt;code&gt;docker logs -f wonderkids-app&lt;/code&gt;&lt;br&gt;
Stop a container&lt;br&gt;
&lt;code&gt;docker stop wonderkids-app&lt;/code&gt;&lt;br&gt;
Start a stopped container&lt;br&gt;
&lt;code&gt;docker start wonderkids-app&lt;/code&gt;&lt;br&gt;
Remove a container&lt;br&gt;
&lt;code&gt;docker rm wonderkids-app&lt;/code&gt;&lt;br&gt;
Remove an image&lt;br&gt;
&lt;code&gt;docker rmi wonderkids:latest&lt;/code&gt;&lt;br&gt;
Open a shell inside a container&lt;br&gt;
&lt;code&gt;docker exec -it wonderkids-app sh&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Troubleshooting
&lt;/h3&gt;

&lt;p&gt;"Cannot connect to the Docker daemon." Docker Desktop isn't running. Start it and wait for it to finish initializing.&lt;br&gt;
"Port is already allocated." Something else is using that host port, possibly your local dev server from Part 1 or an older container. Stop it, or map to a different host port (-p 3001:3000).&lt;br&gt;
"Container name already in use." A previous container with that name exists. Remove it with docker &lt;code&gt;rm &amp;lt;container-name&amp;gt;&lt;/code&gt; or choose a new name.&lt;br&gt;
Container starts then exits immediately. Check &lt;code&gt;docker logs &amp;lt;container-name&amp;gt;&lt;/code&gt;. Common causes are a wrong CMD, a missing build output folder, or missing environment variables.&lt;br&gt;
App runs in the container but the browser can't reach it. Confirm the app binds to 0.0.0.0 rather than 127.0.0.1, and that your -p mapping matches the port the app actually listens on.&lt;br&gt;
Build fails at COPY --from=builder /app/dist. Your framework outputs somewhere other than dist/. Check your build script and update the path.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;We've now taken an application through a complete workflow: cloned it, installed dependencies, verified it locally, and then packaged it as an optimized, secure Docker image that runs identically anywhere Docker does. From here, natural next steps are pushing the image to a registry (Docker Hub or Azure Container Registry), using Docker Compose for multi-service setups, and automating image builds in a CI/CD pipeline. We will complete this in the next article. &lt;/p&gt;

</description>
      <category>devops</category>
      <category>docker</category>
      <category>node</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Mastering the Cloud: A Hands-On Journey Through Azure Resource Management</title>
      <dc:creator>Raphael Olaniyi</dc:creator>
      <pubDate>Thu, 02 Apr 2026 11:34:36 +0000</pubDate>
      <link>https://dev.to/olaraph/mastering-the-cloud-a-hands-on-journey-through-azure-resource-management-39kb</link>
      <guid>https://dev.to/olaraph/mastering-the-cloud-a-hands-on-journey-through-azure-resource-management-39kb</guid>
      <description>&lt;p&gt;The first time you step into the Azure portal, it feels a bit like walking into a vast digital city. Virtual machines hum quietly in the background, networks connect invisible pathways, and storage vaults guard precious data. But like any city, Azure needs maintenance. It needs structure. It needs someone who understands how to keep everything secure, efficient, and cost-effective.&lt;br&gt;
This is the story of that journey.&lt;br&gt;
By the end, you won’t just know what to click — you’ll understand why it matters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setting the Stage: Building the Foundation&lt;/strong&gt;&lt;br&gt;
Every good project begins with preparation.&lt;br&gt;
Imagine you’ve been asked to assist an Azure Administrator. You won’t run the entire infrastructure, but you’ll handle critical updates. Before anything else, you must create a safe workspace — a container to hold everything you build.&lt;br&gt;
In this stage, we will create a virtual network, a virtual machine, a storage account, and associated resources.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kick starting the preparation of the environment&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let us set-up the environment to complete the rest of the steps.&lt;br&gt;
&lt;strong&gt;Login to Microsoft Azure&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Login to Microsoft Azure at &lt;a href="https://portal.azure.com" rel="noopener noreferrer"&gt;https://portal.azure.com&lt;/a&gt;
&lt;strong&gt;Create a resource group&lt;/strong&gt;
Think of a resource group as a project folder. Instead of scattering resources across your subscription, you neatly organize them in one place. This makes cleanup simple and prevents costly mistakes later.&lt;/li&gt;
&lt;li&gt; From the Azure portal home page, in the search box, enter &lt;strong&gt;resource groups.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Resource groups&lt;/strong&gt; under services.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F85lrotb400429hpsqwc7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F85lrotb400429hpsqwc7.png" alt="CREATE" width="800" height="412"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;&lt;strong&gt;NB&lt;/strong&gt;&lt;/em&gt;: &lt;em&gt;You take note of existing resource groups — especially one called NetworkWatcherRG. If it was there before you started, you leave it alone later. Cloud hygiene begins with awareness.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Select &lt;strong&gt;Create&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcn4meest3t3klf0rml7r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcn4meest3t3klf0rml7r.png" alt="create" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Enter &lt;em&gt;guided-project-rg&lt;/em&gt; in the &lt;strong&gt;Resource group name&lt;/strong&gt; field.&lt;/li&gt;
&lt;li&gt; The &lt;strong&gt;Region&lt;/strong&gt; field will automatically populate. Leave the default value.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Review + create&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Create&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8p5m9varmgoegrsswn9l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8p5m9varmgoegrsswn9l.png" alt="review" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Return to the home page of the Azure portal by selecting &lt;strong&gt;Home&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbj7vaeuuwrky3agkea6l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbj7vaeuuwrky3agkea6l.png" alt="home" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Constructing the Network&lt;/strong&gt;&lt;br&gt;
Next, you build the digital roads.&lt;br&gt;
Create a virtual network with one subnet&lt;br&gt;
At first, it contains just one subnet — enough to get started. This network will serve as the backbone for everything else you deploy.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; From the Azure portal home page, in the search box, enter &lt;strong&gt;virtual networks&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;virtual networks&lt;/strong&gt; under services.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fue9apob0vrzwmhy6wjb5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fue9apob0vrzwmhy6wjb5.png" alt="vn" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Create&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3o48ibaynd1knuv2qdm0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3o48ibaynd1knuv2qdm0.png" alt="select" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Scroll down to the &lt;strong&gt;Instance details&lt;/strong&gt; section and enter &lt;em&gt;guided-project-vnet&lt;/em&gt; for the Virtual network name.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Review + create&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9vfou1de3zmeh91v76jj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9vfou1de3zmeh91v76jj.png" alt="REV" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Select &lt;strong&gt;Create&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Wait for the screen to refresh and show &lt;strong&gt;Your deployment is complete&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh4unb5ex81jeaqjg9qwt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh4unb5ex81jeaqjg9qwt.png" alt="COMPLETE" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Select &lt;strong&gt;Home&lt;/strong&gt; to return to the Azure portal home page.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Bringing a Machine to Life&lt;/strong&gt;&lt;br&gt;
Now comes the compute layer — the engine of your infrastructure.&lt;br&gt;
&lt;strong&gt;Create a virtual machine&lt;/strong&gt;&lt;br&gt;
You deploy a Linux virtual machine:&lt;br&gt;
• Name: _guided-project-vm _&lt;br&gt;
• Image: Ubuntu Server &lt;br&gt;
• Authentication: Password-based login &lt;br&gt;
Azure even shows you the hourly cost before deployment. This small detail is powerful — every click in the cloud has financial consequences.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; From the Azure portal home page, in the search box, enter &lt;strong&gt;virtual machines&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;virtual machines&lt;/strong&gt; under services.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq0vkbw5qyrziot66u144.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq0vkbw5qyrziot66u144.png" alt="VM" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffe5rwsyk7poyesu2oybz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffe5rwsyk7poyesu2oybz.png" alt="VM2" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Select &lt;strong&gt;guided-project-rg&lt;/strong&gt; for the &lt;strong&gt;Resource group&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Enter &lt;em&gt;guided-project-vm&lt;/em&gt; for the &lt;strong&gt;Virtual machine name&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; For the &lt;strong&gt;Image&lt;/strong&gt;, select one of the &lt;strong&gt;Ubuntu Server&lt;/strong&gt; options. (For example, Ubuntu Server 24.04 LTS - x64 Gen2)&lt;/li&gt;
&lt;li&gt; Continue further on the &lt;strong&gt;Basics&lt;/strong&gt; page to the &lt;strong&gt;Administrator account&lt;/strong&gt; section.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Password&lt;/strong&gt; for authentication type.&lt;/li&gt;
&lt;li&gt; Enter &lt;em&gt;guided-project-admin&lt;/em&gt; for the admin &lt;strong&gt;Username&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enter a password for the admin account.&lt;/li&gt;
&lt;li&gt;Confirm the password for the admin account.&lt;/li&gt;
&lt;li&gt;Leave the rest of the settings as default settings. You can review the settings if you like, but shouldn’t change any.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Select Review + create&lt;/strong&gt;.
&lt;em&gt;&lt;strong&gt;NB&lt;/strong&gt;: Once validation has passed, you’ll receive a cost estimate of how much it will cost per hour to run the VM.&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjq7dw997bdl0ca24niwy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjq7dw997bdl0ca24niwy.png" alt="VM3" width="800" height="412"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fesh9t65mtrl5nm6x6t7t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fesh9t65mtrl5nm6x6t7t.png" alt="vm4" width="800" height="412"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;NB: Once validation has passed, you’ll receive a cost estimate of how much it will cost per hour to run the VM&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select &lt;strong&gt;Create&lt;/strong&gt; to confirm the resource cost and create the virtual machine&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Home&lt;/strong&gt; to return to the Azure portal home page.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk9yppzufmyrhffraw1hp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk9yppzufmyrhffraw1hp.png" alt="homen" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Adding Storage Capacity&lt;/strong&gt;&lt;br&gt;
Every system needs storage. So you create a storage account, ensuring its name is globally unique (a reminder that Azure is truly global).&lt;br&gt;
&lt;strong&gt;Create a Storage account&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; From the Azure portal home page, in the search box, enter &lt;strong&gt;storage accounts&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Storage accounts&lt;/strong&gt; under services.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frao2ywki6ciplof3szmy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frao2ywki6ciplof3szmy.png" alt="VM create" width="800" height="412"&gt;&lt;/a&gt;&lt;br&gt;
Select &lt;strong&gt;Create&lt;/strong&gt;.&lt;br&gt;
&lt;em&gt;&lt;strong&gt;NB&lt;/strong&gt;: The subscription and resource group should automatically fill in. Verify that the information filled in matches the correct subscription and the new resource group created for the guided project (guided-project-rg if you’re following along with the naming conventions).&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Scroll down to the &lt;strong&gt;Instance details&lt;/strong&gt; section and enter a name for the storage account. Storage accounts must be globally unique, so you may have to try a few different times to get a storage account name.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Review + create&lt;/strong&gt;.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsyrtur4b0xr4ra1kr8ka.png" alt="VM complete" width="800" height="412"&gt;
&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Create&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Wait for the screen to refresh and show &lt;strong&gt;Your deployment is complete&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Home&lt;/strong&gt; to return to the Azure portal home page.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh10widflaxok76q17wpj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh10widflaxok76q17wpj.png" alt="home" width="800" height="412"&gt;&lt;/a&gt;&lt;br&gt;
With this, your foundational environment is complete:&lt;br&gt;
• Resource group &lt;br&gt;
• Virtual network &lt;br&gt;
• Virtual machine &lt;br&gt;
• Storage account &lt;br&gt;
The stage is set.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase Two: Refining the Network&lt;/strong&gt;&lt;br&gt;
In this phase you will perform the following exercises:&lt;br&gt;
• &lt;strong&gt;Update the virtual network&lt;/strong&gt;&lt;br&gt;
• Manage virtual machines&lt;br&gt;
• Control storage access&lt;br&gt;
• Manage tags and locks&lt;br&gt;
• Clean up&lt;br&gt;
&lt;strong&gt;Lets give a Scenario&lt;/strong&gt;&lt;br&gt;
You’re helping an Azure Admin maintain resources. While you won’t be responsible for maintaining the entire infrastructure, the Admin will ask you to help out by completing certain tasks. Currently, there’s a Linux virtual machine (VM) that’s underutilized, and a need for a new Linux machine to serve as an FTP server. However, the Azure admin wants to be able to track network flow and resource utilization for the needed FTP server, so has asked you to start out by provisioning a new subnet. The current subnet should be left alone, as there are future plans for using it for additional VMs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create a new subnet on an existing virtual network (vNet)&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Login to Microsoft Azure at &lt;em&gt;&lt;a href="https://portal.azure.com" rel="noopener noreferrer"&gt;https://portal.azure.com&lt;/a&gt;&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt; From the Azure portal home page, in the search box, enter &lt;strong&gt;virtual networks&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;virtual networks&lt;/strong&gt; under services.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F33q2slqe9m91opf7y5wl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F33q2slqe9m91opf7y5wl.png" alt="virtual Net" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Select the &lt;em&gt;guided-project-vnet&lt;/em&gt; virtual network.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fucog3dugh5ed30d7u3pm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fucog3dugh5ed30d7u3pm.png" alt="select guided proj" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; From the &lt;em&gt;guided-project-vnet&lt;/em&gt; blade, under settings, select Subnets.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnmg2cphv9i75gqkmcfzs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnmg2cphv9i75gqkmcfzs.png" alt="vnet" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To add a subnet, &lt;strong&gt;select + Subnet&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwjogublmnm4avm9cfwcl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwjogublmnm4avm9cfwcl.png" alt="subnet" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; For &lt;strong&gt;Subnet purpose&lt;/strong&gt; leave it as &lt;strong&gt;Default&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; For &lt;strong&gt;Name&lt;/strong&gt; enter: &lt;em&gt;ftpSubnet&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt; Leave the rest of the settings alone and select &lt;strong&gt;Add&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqsgs8gc6dpoefu6rr5fq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqsgs8gc6dpoefu6rr5fq.png" alt="subnet" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Select &lt;strong&gt;Home&lt;/strong&gt; to return to the Azure portal home page.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Congratulations – you’ve completed the creation of a subnet. This subnet is only going to be used for SFTP traffic. To increase security, you need to configure a Network security group to restrict which ports are allowed on the subnet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Strengthening Security with a Network Security Group&lt;/strong&gt;&lt;br&gt;
Security in Azure is layered.&lt;br&gt;
You create a &lt;strong&gt;Network Security Group (NSG)&lt;/strong&gt; called: &lt;strong&gt;ftpNSG&lt;/strong&gt;&lt;br&gt;
Create a network security group&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; From the Azure portal home page, in the search box, enter &lt;strong&gt;virtual networks&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;virtual networks&lt;/strong&gt; under services.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Network security groups&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe0vvhewc1saubxp7sng5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe0vvhewc1saubxp7sng5.png" alt="NSGn" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Select + &lt;strong&gt;Create&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffdx1nkd755xbytpjfo1c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffdx1nkd755xbytpjfo1c.png" alt="Create" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Verify the subscription is correct.&lt;/li&gt;
&lt;li&gt; Select the &lt;strong&gt;guided-project-rg&lt;/strong&gt; resource group.&lt;/li&gt;
&lt;li&gt; Enter &lt;strong&gt;&lt;em&gt;ftpNSG&lt;/em&gt;&lt;/strong&gt; for the network security group name.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Review + create&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl7sfp19qcyudvkumwktp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl7sfp19qcyudvkumwktp.png" alt="Create" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Once the validation is complete, select &lt;strong&gt;Create&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Wait for the screen to refresh and display &lt;strong&gt;Your deployment is complete&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Go to resource&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fode6u5qnb1kj0kv6tvg1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fode6u5qnb1kj0kv6tvg1.png" alt="Deployment" width="800" height="412"&gt;&lt;/a&gt;&lt;br&gt;
Create an inbound security rule&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Under settings, select &lt;strong&gt;Inbound security rules&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select + &lt;strong&gt;Add&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Change the &lt;strong&gt;Destination port ranges&lt;/strong&gt; from 8080 to 22.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;TCP&lt;/strong&gt; for the protocol.&lt;/li&gt;
&lt;li&gt; Set the name to &lt;strong&gt;&lt;em&gt;ftpInbound&lt;/em&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Add&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdyvh1c53paw9uuj7seas.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdyvh1c53paw9uuj7seas.png" alt="inbound" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Select &lt;strong&gt;Home&lt;/strong&gt; to return to the Azure portal home page.
Congratulations – you’ve created a new Network security group and configured rules to allow inbound FTP traffic. Now, you’ll need to associate the new network security group with the &lt;strong&gt;ftpSubnet&lt;/strong&gt;.
Associate a network security group to a subnet&lt;/li&gt;
&lt;li&gt; From the Azure portal home page, in the search box, enter &lt;strong&gt;virtual networks&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;virtual networks&lt;/strong&gt; under services.&lt;/li&gt;
&lt;li&gt; Select the &lt;strong&gt;guided-project-vnet&lt;/strong&gt; virtual network.&lt;/li&gt;
&lt;li&gt; Under settings, select &lt;strong&gt;Subnets&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select the &lt;strong&gt;ftpSubnet&lt;/strong&gt; you created.&lt;/li&gt;
&lt;li&gt; On the Edit subnet page, under the Security section heading, update the Network security group field to &lt;strong&gt;ftpNSG&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0i2u13ta6vv0ggeski7t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0i2u13ta6vv0ggeski7t.png" alt="Save" width="800" height="412"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fto2raco83ef6kun1j31o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fto2raco83ef6kun1j31o.png" alt="zave" width="800" height="412"&gt;&lt;/a&gt;&lt;br&gt;
Nicely done. It looks like you’ve completed the work needed to prepare the network for shifting the current Linux VM to a new subnet that’s designed to handle incoming FTP traffic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase Three: Managing the Virtual Machine&lt;/strong&gt;&lt;br&gt;
With the network prepared, it’s time to adjust the machine itself.&lt;br&gt;
In this exercise, you’ll manage the virtual machine. You’ll change the virtual machine's assigned subnet, vertically scale the virtual machine, add storage, and finally add an automatic shutdown.&lt;br&gt;
&lt;strong&gt;Scenario&lt;/strong&gt;&lt;br&gt;
With the network settings updated to support segmenting the Linux virtual machine, you’re ready to manage the virtual machine itself. The first thing the Azure admin asks you to complete is moving the virtual machine to the new subnet you created in the previous exercise.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Move the virtual machine network to the new subnet&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Login to Microsoft Azure at &lt;em&gt;&lt;a href="https://portal.azure.com" rel="noopener noreferrer"&gt;https://portal.azure.com&lt;/a&gt;&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt; From the Azure portal home page, in the search box, enter &lt;strong&gt;virtual machines&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;virtual machines&lt;/strong&gt; under services.&lt;/li&gt;
&lt;li&gt; Select the &lt;em&gt;guided-project-vm&lt;/em&gt; virtual machine.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu7qke01dz9blz0x180hd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu7qke01dz9blz0x180hd.png" alt="VM" width="800" height="412"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp6de0ysipmardbewfco4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp6de0ysipmardbewfco4.png" alt="Guided proj" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; If the virtual machine is running, select &lt;strong&gt;Stop&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;NB&lt;/strong&gt;: In order to make some configuration changes, such as changing the subnet, the VM will need to be restarted. You can request the change without stopping the VM, but Azure will force a restart before completing the change.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkbb40p6q23bxhwznje8c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkbb40p6q23bxhwznje8c.png" alt="Stop" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Wait for the &lt;strong&gt;Status&lt;/strong&gt; field to update and show &lt;strong&gt;Stopped (deallocated)&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Within the &lt;strong&gt;Networking&lt;/strong&gt; subsection of the menu, select &lt;strong&gt;Network settings&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select the Network interface / &lt;strong&gt;IP&lt;/strong&gt; configuration hyperlink for the VM.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyob6iytl15zbhftpaa23.png" alt="Network settings" width="800" height="412"&gt;
&lt;/li&gt;
&lt;li&gt; On the &lt;strong&gt;IP Configurations&lt;/strong&gt; page, update the &lt;strong&gt;Subnet&lt;/strong&gt; to &lt;em&gt;ftpSubnet&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Apply&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcs4n3zv7klm29mij4lft.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcs4n3zv7klm29mij4lft.png" alt="subnet" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select &lt;strong&gt;Home&lt;/strong&gt; to return to the Azure portal home page.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Good job! You’ve migrated the VM from one subnet to another. Remember, the new subnet had specific network security rules applied to help it function as an FTP server. The next task from the Azure admin relates to the computing power of the VM. The admin would like you to vertically scale the machine to increase the computing power.&lt;br&gt;
You resize the VM to a larger instance (for example, &lt;strong&gt;D2s_v5&lt;/strong&gt;). This is vertical scaling — increasing CPU and memory without rebuilding the server.&lt;br&gt;
Cloud flexibility at its best.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vertically scale the virtual machine&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; From the Azure portal home page, in the search box, enter &lt;strong&gt;virtual machines&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;virtual machines&lt;/strong&gt; under services.&lt;/li&gt;
&lt;li&gt; Select the _guided-project-vm _virtual machine.&lt;/li&gt;
&lt;li&gt; Locate the &lt;strong&gt;Availability + scale&lt;/strong&gt; submenu and select &lt;strong&gt;Size&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdlzroxp9bsn3k1dv5qjc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdlzroxp9bsn3k1dv5qjc.png" alt="scale" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Select a new VM size &lt;strong&gt;D2s_v5&lt;/strong&gt; for example. (&lt;em&gt;&lt;strong&gt;NB&lt;/strong&gt;: If you don’t see the same size as shown in this exercise, select&lt;/em&gt; something similar.)&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Resize&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F59gkjw3864ts54bcb9k3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F59gkjw3864ts54bcb9k3.png" alt="Resize" width="800" height="412"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;&lt;strong&gt;NB&lt;/strong&gt;: The VM size may not update in the Azure UI until the VM is restarted&lt;/em&gt;&lt;br&gt;
Select &lt;strong&gt;Home&lt;/strong&gt; to return to the Azure portal home page.&lt;/p&gt;

&lt;p&gt;Well done. With the VM scaled up to a more robust processor, it can handle the new role it’s being assigned.&lt;br&gt;
However, now the Azure admin realizes that if the VM is going to server as an FTP server, it needs more storage. The Azure admin asked you to attach a new data disk to the VM.&lt;br&gt;
Attach data disks to a virtual machine&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; From the Azure portal home page, in the search box, enter &lt;strong&gt;virtual machines&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;virtual machines&lt;/strong&gt; under services.&lt;/li&gt;
&lt;li&gt; Select the &lt;em&gt;guided-project-vm&lt;/em&gt; virtual machine.&lt;/li&gt;
&lt;li&gt; Locate the &lt;strong&gt;settings&lt;/strong&gt; submenu and select &lt;strong&gt;Disks&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmsayy7wi73xi75inxfm4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmsayy7wi73xi75inxfm4.png" alt="disks" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Select &lt;strong&gt;Create and attach a new disk&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Leave LUN as default.&lt;/li&gt;
&lt;li&gt; Enter &lt;strong&gt;&lt;em&gt;ftp-data-disk&lt;/em&gt;&lt;/strong&gt; for the &lt;strong&gt;Disk name&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Leave the Storage type as default.&lt;/li&gt;
&lt;li&gt; Enter &lt;strong&gt;&lt;em&gt;20&lt;/em&gt;&lt;/strong&gt; for the &lt;strong&gt;Size&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Apply&lt;/strong&gt; to create the new storage disk and attach the disk to the machine.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1x02iwjuwjrzzzk76to5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1x02iwjuwjrzzzk76to5.png" alt="machine" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select &lt;strong&gt;Home&lt;/strong&gt; to return to the Azure portal home page.
Nice! Now the VM has enough storage to handle some uploads.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Controlling Costs with Auto-Shutdown&lt;/strong&gt;&lt;br&gt;
The final thing the Azure admin is concerned about is the cost of running the computer 24 hours a day. The first thing they’ll do every morning is start up the FTP server. However, they’d like you to configure it to automatically shutdown every day at 7 PM Coordinated Universal Time (UTC)&lt;br&gt;
                                                                                                                                                                                                                                                                                                                    Configure automatic shutdown on a &lt;strong&gt;virtual machine&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; From the Azure portal home page, in the search box, enter &lt;strong&gt;virtual machines&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select virtual machines under services.&lt;/li&gt;
&lt;li&gt; Select the &lt;em&gt;guided-project-vm&lt;/em&gt; virtual machine.&lt;/li&gt;
&lt;li&gt; Under the &lt;strong&gt;Operations&lt;/strong&gt; submenu, select &lt;strong&gt;Auto-shutdown&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F594ip4el2c68gl9v1g6q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F594ip4el2c68gl9v1g6q.png" alt="Shutdown" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; In order to let late uploads finish, set the &lt;strong&gt;Scheduled shutdown&lt;/strong&gt; to &lt;em&gt;7:15:00 PM&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0z6n8ftirjuda5g5bdz2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0z6n8ftirjuda5g5bdz2.png" alt="save" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Select &lt;strong&gt;Home&lt;/strong&gt; to return to the Azure portal home page.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Phase Four: Controlling Storage Access&lt;/strong&gt;&lt;br&gt;
In this exercise, you’ll complete several tasks related to managing a storage account and components of the storage account.&lt;br&gt;
Scenario&lt;br&gt;
The Azure admin wants you to get more familiar with storage accounts, containers, and file shares. They anticipate needing to share an increasing number of files and need someone who is skilled using these services. They’ve given you a task of creating a storage container and a file share and uploading files to both locations.&lt;br&gt;
Create a storage container&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Login to Microsoft Azure at &lt;em&gt;&lt;a href="https://portal.azure.com" rel="noopener noreferrer"&gt;https://portal.azure.com&lt;/a&gt;&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt; From the Azure portal home page, in the search box, enter &lt;strong&gt;storage accounts&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;storage accounts&lt;/strong&gt; under services.&lt;/li&gt;
&lt;li&gt; Select the storage account you created in the &lt;strong&gt;Setting the stage&lt;/strong&gt; exercise. The storage account &lt;strong&gt;name&lt;/strong&gt; is the hyperlink to the storage account. (&lt;em&gt;&lt;strong&gt;NB&lt;/strong&gt;: it should be associated with the resource group &lt;strong&gt;guided-project-rg&lt;/strong&gt;&lt;/em&gt;.)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu6tkb5ex845wy2r49inc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu6tkb5ex845wy2r49inc.png" alt="storage" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; On the storage account blade, under the &lt;strong&gt;Data storage&lt;/strong&gt; submenu, select &lt;strong&gt;Containers&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select + &lt;strong&gt;Add container&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0nhuz90foaglyvphmab9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0nhuz90foaglyvphmab9.png" alt="container" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; In the &lt;strong&gt;Name&lt;/strong&gt; field, enter &lt;em&gt;storage-container&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Create&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foik0igtclcqzk8bd0045.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foik0igtclcqzk8bd0045.png" alt="Storage container" width="800" height="412"&gt;&lt;/a&gt;&lt;br&gt;
Great! With a storage container created, you can upload a blob to the container. Locate a picture that you can upload, either on your computer or from the internet, and save it locally to make uploading easier.&lt;br&gt;
&lt;strong&gt;Upload a file to the storage container&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Select the storage container you just created.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9yoqqe0ruc07g8b8fkn0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9yoqqe0ruc07g8b8fkn0.png" alt="fileupload" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Select &lt;strong&gt;Upload&lt;/strong&gt; and upload the file you prepared.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbft97nzuko27u3dvf3u2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbft97nzuko27u3dvf3u2.png" alt="upload" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Once the file is ready for upload, select &lt;strong&gt;Upload&lt;/strong&gt;.
With the file uploaded, notice that the Access tier is displayed. For something we uploaded just for testing, it doesn’t need to be assigned to the &lt;strong&gt;Hot&lt;/strong&gt; access tier. In the next few steps, you’ll change the access tier for the file.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1tb67joonaya0t9xtt59.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1tb67joonaya0t9xtt59.png" alt="Hot" width="800" height="412"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Change the access tier&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Select the file you just uploaded (the file name is a hyperlink).&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Change tier&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuygszm4xr2w1ahxg1fgr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuygszm4xr2w1ahxg1fgr.png" alt="change tier" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Select &lt;strong&gt;Cold&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Save&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flsvpey7mhypn97o8ways.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flsvpey7mhypn97o8ways.png" alt="Cold" width="800" height="412"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;NB: You just changed the access tier for an individual blob or file. To change the default access tier for all blobs within the storage account, you could change it at the storage account level.&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Select &lt;strong&gt;Home&lt;/strong&gt; to return to the Azure portal home page.
Good job! You’ve successfully uploaded a storage blob and changed the access tier from Hot to Cold. Next, you’ll work with file shares.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Create a file share&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; From the Azure portal home page, in the search box, enter &lt;strong&gt;storage accounts&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;storage accounts&lt;/strong&gt; under services.&lt;/li&gt;
&lt;li&gt; Select the storage account you created in the &lt;strong&gt;Prepare&lt;/strong&gt; exercise. The storage account &lt;strong&gt;name&lt;/strong&gt; is the hyperlink to the storage account. (&lt;em&gt;&lt;strong&gt;NB&lt;/strong&gt;: it should be associated with the resource group &lt;strong&gt;guided-project-rg&lt;/strong&gt;&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt; On the storage account blade, under the &lt;strong&gt;Data storage&lt;/strong&gt; submenu, select &lt;strong&gt;File shares&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select + &lt;strong&gt;File share&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe6ycv4m0ypsb7dddyo3m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe6ycv4m0ypsb7dddyo3m.png" alt="fileshare" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; On the &lt;strong&gt;Basics&lt;/strong&gt; tab, in the name field enter &lt;em&gt;&lt;strong&gt;file-share&lt;/strong&gt;&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa2mfgo5qewfamgga35r7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa2mfgo5qewfamgga35r7.png" alt="basic" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; On the &lt;strong&gt;Backup&lt;/strong&gt; tab, uncheck &lt;strong&gt;Enable backup&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzf909t3e6urnfv0t45re.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzf909t3e6urnfv0t45re.png" alt="backup" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Select &lt;strong&gt;Review + create&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Create&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Once the file share is created, select &lt;strong&gt;Upload&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Upload the same file you uploaded to the blob storage or a different file, it’s up to you.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Home&lt;/strong&gt; to return to the Azure portal home page.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Sharing Access Securely with SAS Tokens&lt;/strong&gt;&lt;br&gt;
The next piece of the puzzle is figuring one way to control access to the files that have been uploaded. Azure has many ways to control files, including things like role-based access control. In this scenario, the Azure admin wants you to use shared access tokens or keys.&lt;br&gt;
&lt;strong&gt;Create a shared access signature token&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; From the Azure portal home page, in the search box, enter &lt;strong&gt;storage accounts&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;storage accounts&lt;/strong&gt; under services.&lt;/li&gt;
&lt;li&gt; Select the storage account you created in the &lt;strong&gt;setting the stage&lt;/strong&gt; exercise.&lt;/li&gt;
&lt;li&gt;On the storage account blade, select &lt;strong&gt;Storage browser&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Expand &lt;strong&gt;Blob containers&lt;/strong&gt;.
&lt;em&gt;&lt;strong&gt;NB:&lt;/strong&gt; Blob container is another name for the storage containers. Items uploaded to a storage container are called blobs&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt; Select the storage container you created earlier, &lt;strong&gt;storage-container&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq9gny5utkevgk8g0qtzl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq9gny5utkevgk8g0qtzl.png" alt="blob" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Select the ellipses (three dots) on the end of the line for the image you uploaded.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F29x2ni7ptcfekrrop3pa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F29x2ni7ptcfekrrop3pa.png" alt="blobcontainer" width="800" height="257"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Select &lt;strong&gt;Generate SAS&lt;/strong&gt;
&lt;em&gt;&lt;strong&gt;NB&lt;/strong&gt;: When you generate a shared access signature, you set the duration. Once the duration is over, the link stops working. The **Start automatically populates with the current date and time.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt; Set &lt;strong&gt;Signing method&lt;/strong&gt; to &lt;strong&gt;Account key&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Set &lt;strong&gt;Signing key&lt;/strong&gt; to &lt;strong&gt;Key 1&lt;/strong&gt;
&lt;strong&gt;&lt;em&gt;Tip: There are two signing keys available. You can choose either one, or create SAS tokens with different durations&lt;/em&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Set &lt;strong&gt;Stored access policy&lt;/strong&gt; to &lt;strong&gt;None&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Set &lt;strong&gt;Permissions&lt;/strong&gt; to &lt;strong&gt;Read&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enter a custom start and expiry time or leave the defaults.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fop1l9odmv8jqp33zsflo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fop1l9odmv8jqp33zsflo.png" alt="SAS" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Set &lt;strong&gt;Allowed protocols to HTTPS only&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Generate SAS token and URI&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0zzqtb1rn815ak2o844z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0zzqtb1rn815ak2o844z.png" alt="sas token" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Copy the &lt;strong&gt;Blob SAS URL&lt;/strong&gt; and paste it in another window or tab of your browser. It should display the image you uploaded. Keep this tab or window open.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjnezmtznsjhye1uwlb2c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjnezmtznsjhye1uwlb2c.png" alt="url" width="800" height="121"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select &lt;strong&gt;Home&lt;/strong&gt; to return to the Azure portal home page.
With the SAS token created, anyone with that link can access the file for the duration that was set when you created the SAS token. However, controlling access to a resource or file is about more than just granting access. It’s also about being able to revoke access. To revoke access with a SAS token, you need to invalidate the token. You invalidate the token by rotating the key that was used.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Rotate access keys&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; From the Azure portal home page, in the search box, enter &lt;strong&gt;storage accounts&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;storage accounts&lt;/strong&gt; under services.&lt;/li&gt;
&lt;li&gt; Select the storage account you created in the &lt;strong&gt;Setting the stage&lt;/strong&gt; exercise.&lt;/li&gt;
&lt;li&gt; Expand the &lt;strong&gt;Security + networking&lt;/strong&gt; submenu.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Access keys&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3p77e5hg4h2xenq5cupy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3p77e5hg4h2xenq5cupy.png" alt="accesskeys" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;For Key 1, select &lt;strong&gt;Rotate key&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Read and then acknowledge the warning about regenerating the access key by selecting &lt;strong&gt;Yes&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fle0st3ens4zems0169k8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fle0st3ens4zems0169k8.png" alt="Keys" width="800" height="146"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Once you see the success message for rotating the access key, go back to the window or tab you used to check the SAS token and refresh the page. You should receive an authentication failed error.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1u0iu1xk84eg83bs8om8.png" alt="error" width="800" height="204"&gt;
&lt;strong&gt;Phase Five: Organizing with Tags and Protecting with Locks&lt;/strong&gt;
Now comes governance.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you’ve completed the previous exercises, you’ve managed added a subnet to a virtual network, made changes to a virtual machine, and worked with an Azure storage account. The final set of tasks focus around working with &lt;strong&gt;tags&lt;/strong&gt; and &lt;strong&gt;resource locks&lt;/strong&gt; to help manage and monitor your environment. During this exercise you’ll go back into each of the areas you’ve already worked to add tags, locks, or a combination of both.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scenario&lt;/strong&gt;&lt;br&gt;
Pleased with your progress so far, the Azure admin hopes that you can wrap a few things up to help with monitoring and protecting resources. They want to know that someone can’t accidentally get rid of the virtual machine that’s running as an FTP server, and they want a quick way to see what department is using resources and the resource’s purpose.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Manage tags and locks on VMs&lt;/strong&gt;&lt;br&gt;
Adding tags to resources is a quick way to be able to group and organize resources. Tags can be added at different levels, giving you the ability to organize and group resources at a level that makes sense for you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Add tags to a virtual machine&lt;/strong&gt;&lt;br&gt;
You’ll start by adding a pair of tags to the virtual machine. One tag will be to identify the purpose of the virtual machine and the other will be to indicate the department the machine supports.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Login to Microsoft Azure at &lt;em&gt;&lt;a href="https://portal.azure.com" rel="noopener noreferrer"&gt;https://portal.azure.com&lt;/a&gt;&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt; From the Azure portal home page, in the search box, enter &lt;strong&gt;virtual machines&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;virtual machines&lt;/strong&gt; under services.&lt;/li&gt;
&lt;li&gt; Select the &lt;strong&gt;guided-project-vm&lt;/strong&gt; virtual machine.&lt;/li&gt;
&lt;li&gt; From the menu pane, select &lt;strong&gt;Tags&lt;/strong&gt;. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnfvuxk8xgc5i947djtc7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnfvuxk8xgc5i947djtc7.png" alt="tags" width="800" height="558"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; On one line for &lt;strong&gt;Name&lt;/strong&gt; enter &lt;em&gt;&lt;strong&gt;Department&lt;/strong&gt;&lt;/em&gt; and for &lt;strong&gt;Value&lt;/strong&gt; enter &lt;strong&gt;Customer Service&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt; On the next line, for &lt;strong&gt;Name&lt;/strong&gt; enter &lt;em&gt;Purpose&lt;/em&gt; and for &lt;strong&gt;Value&lt;/strong&gt; enter &lt;em&gt;FTP Server&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Apply&lt;/strong&gt;. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8kzzi71zynpk0wprf9sf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8kzzi71zynpk0wprf9sf.png" alt="apply" width="800" height="682"&gt;&lt;/a&gt;&lt;br&gt;
While you’re working on the virtual machine, it’s a great time to add a resource lock.&lt;br&gt;
&lt;strong&gt;Add a resource lock to a VM&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; If necessary, expand the &lt;strong&gt;Settings&lt;/strong&gt; submenu.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Locks&lt;/strong&gt;. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxvq1dtozb7gy1nsxnsck.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxvq1dtozb7gy1nsxnsck.png" alt="locks" width="800" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Select + &lt;strong&gt;Add&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; For the name, enter &lt;em&gt;VM-delete-lock&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt; For the &lt;strong&gt;Lock type&lt;/strong&gt;, select &lt;strong&gt;Delete&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; You may enter a note to help remind you why you created the lock.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;OK&lt;/strong&gt;. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F12xj4ml94swzf1m19okj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F12xj4ml94swzf1m19okj.png" alt="okay" width="800" height="480"&gt;&lt;/a&gt;&lt;br&gt;
That’s it. Now the VM is protected from deletion and has tags assigned to help track use. Time to move onto the network.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select &lt;strong&gt;Home&lt;/strong&gt; to return to the Azure portal home page.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Add tags to network resources&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;From the Azure portal home page, in the search box, enter &lt;strong&gt;virtual networks&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;virtual networks&lt;/strong&gt; under services.&lt;/li&gt;
&lt;li&gt;Select the &lt;strong&gt;guided-project-vnet&lt;/strong&gt; network.&lt;/li&gt;
&lt;li&gt;From the menu pane, select &lt;strong&gt;Tags&lt;/strong&gt;.
&lt;em&gt;&lt;strong&gt;NB&lt;/strong&gt;: Notice that now you can select an existing tag to apply or add a new tag. You can also select just the name or value and apply create something new in the other field.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt; For the &lt;strong&gt;Name&lt;/strong&gt; select &lt;strong&gt;Department&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; For the &lt;strong&gt;Value&lt;/strong&gt; enter &lt;em&gt;IT&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Apply&lt;/strong&gt;. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F54tc5sh0voork413nslv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F54tc5sh0voork413nslv.png" alt="apply" width="800" height="679"&gt;&lt;/a&gt;&lt;br&gt;
Now both the VNet and VM have are organized.&lt;/p&gt;

&lt;p&gt;Congratulations! You’ve completed this exercise. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Final Step: Clean Up&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Remove delete locks&lt;/p&gt;

&lt;p&gt;If you attempt to delete a resource with a delete lock, you’ll receive a warning that the operation failed due to a delete lock being in place. To avoid that, it’s important to clear delete locks from resources you intend to delete &lt;strong&gt;before&lt;/strong&gt; issuing the delete command.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Login to Microsoft Azure at &lt;em&gt;&lt;a href="https://portal.azure.com" rel="noopener noreferrer"&gt;https://portal.azure.com&lt;/a&gt;&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt; From the Azure portal home page, in the search box, enter &lt;strong&gt;virtual machines&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;virtual machines&lt;/strong&gt; under services.&lt;/li&gt;
&lt;li&gt; Select the &lt;strong&gt;guided-project-vm&lt;/strong&gt; virtual machine.&lt;/li&gt;
&lt;li&gt; If necessary, expand the &lt;strong&gt;Settings&lt;/strong&gt; submenu.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Locks&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Select &lt;strong&gt;Delete&lt;/strong&gt; on the line for the VM-delete-lock. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzy709w9kbtzvjvmldq08.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzy709w9kbtzvjvmldq08.png" alt="Delete" width="800" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;On the pop-up window, select Delete to confirm deletion of the lock.
Once the delete lock is removed, you’ll be able to delete the VM. While this was the only delete lock required by the exercise, if you applied other delete locks during the exercise, remove them now. When you’re done, select &lt;strong&gt;Home&lt;/strong&gt; to return to the Azure portal home page.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Delete the project resource group&lt;/strong&gt;&lt;br&gt;
A key benefit of using resource groups is the ability to rapidly delete all of the resources assigned to a resource group at once.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;From the Azure portal home page, in the search box, enter &lt;strong&gt;Resource groups&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;resource groups&lt;/strong&gt; under services.&lt;/li&gt;
&lt;li&gt;Select the &lt;strong&gt;guided-project-rg&lt;/strong&gt; resource group.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Delete resource group&lt;/strong&gt;. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4izetvnmwhqj5053ckr7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4izetvnmwhqj5053ckr7.png" alt="delete rg" width="800" height="576"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select &lt;strong&gt;Apply force delete&lt;/strong&gt;…&lt;/li&gt;
&lt;li&gt;Enter &lt;em&gt;guided-project-rg&lt;/em&gt; in the confirmation box.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Delete&lt;/strong&gt;. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvvl9zr0bre00z5fzpo7l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvvl9zr0bre00z5fzpo7l.png" alt="apply force" width="800" height="644"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; On the Delete confirmation pop-up, select &lt;strong&gt;Delete&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3fvtttboh6kxyd0373xn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3fvtttboh6kxyd0373xn.png" alt="popup" width="800" height="776"&gt;&lt;/a&gt;&lt;br&gt;
It will approximately 5 minutes before the resource group is fully deleted. You’ll need to refresh the resource group page every few minutes until the guided-project-rg is gone to confirm complete deletion.&lt;br&gt;
&lt;em&gt;Important: Recall at the beginning, you checked for a NetworkWatcherRG resource group. If there was a NetworkWatcherRG when you started, then you’re finished. However, if the NetworkWatcherRG was created for the project, you’ll need to delete the NetworkWatcherRG as well following a nearly identical process.&lt;/em&gt;&lt;br&gt;
If you don’t need to delete the NetworkWatcherRG, you can head back to Learn now and complete the module. If you need to delete the NetworkWatcherRG, continue on for instructions.&lt;/p&gt;

&lt;p&gt;Delete the NetworkWatcherRG&lt;br&gt;
&lt;em&gt;&lt;strong&gt;Important:&lt;/strong&gt; If the NetworkWatcherRG existed prior to starting the guided project, do not delete it as part of the guided project clean up.&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;From the Azure portal home page, in the search box, enter &lt;strong&gt;Resource groups&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;resource groups&lt;/strong&gt; under services.&lt;/li&gt;
&lt;li&gt;Select the &lt;strong&gt;NetworkWatcherRG&lt;/strong&gt; resource group.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Delete resource group&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enter _NetworkWatcherRG _in the confirmation box.&lt;/li&gt;
&lt;li&gt;Select Delete.&lt;/li&gt;
&lt;li&gt;On the Delete confirmation pop-up, &lt;strong&gt;select Delete&lt;/strong&gt;.
It will approximately 5 minutes before the resource group is fully deleted. You’ll need to refresh the resource group page every few minutes until the NetworkWatcherRG is gone to confirm complete deletion.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;What You’ve Truly Learned from this article are&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;This wasn’t just about clicking buttons in Azure.&lt;br&gt;
You’ve learned how to:&lt;br&gt;
• Scale and manage virtual machines &lt;br&gt;
• Design and secure networks &lt;br&gt;
• Control storage tiers and access &lt;br&gt;
• Protect resources with locks &lt;br&gt;
• Organize infrastructure with tags &lt;br&gt;
• Prevent unnecessary costs &lt;br&gt;
Most importantly, you’ve learned that cloud administration is not about deployment — it’s about stewardship.&lt;br&gt;
Azure is powerful. But mastery comes from maintaining it with intention.&lt;br&gt;
And now, you’ve taken that step.&lt;br&gt;
See you in my next article. &lt;/p&gt;

</description>
      <category>ai</category>
      <category>cloudskills</category>
      <category>devops</category>
      <category>azure</category>
    </item>
    <item>
      <title>How to create a shared services hub virtual network with isolation and segmentation</title>
      <dc:creator>Raphael Olaniyi</dc:creator>
      <pubDate>Fri, 26 Jul 2024 13:14:37 +0000</pubDate>
      <link>https://dev.to/olaraph/how-to-create-a-shared-services-hub-virtual-network-with-isolation-and-segmentation-55ck</link>
      <guid>https://dev.to/olaraph/how-to-create-a-shared-services-hub-virtual-network-with-isolation-and-segmentation-55ck</guid>
      <description>&lt;p&gt;Let us assume you were tasked with applying Zero Trust principles to a hub virtual network in Azure. Let us take for instance, The IT department needs network isolation and segmentation for the web application in a spoke network. &lt;/p&gt;

&lt;p&gt;To provide network isolation and segmentation for the web application, you need to create an Azure virtual network with subnets with address space that the IT team provided. Once the virtual network is created, the next step is to configure virtual network peering. This allows the virtual networks to communicate with each other securely and privately.&lt;br&gt;
We shall be performing these three tasks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a virtual network&lt;/li&gt;
&lt;li&gt;Create a subnet&lt;/li&gt;
&lt;li&gt;Configure vnet peering&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Create hub and spoke virtual networks and subnets&lt;/strong&gt;&lt;br&gt;
Begin by creating the virtual networks. &lt;br&gt;
Open a browser and navigate to the Azure portal and login.&lt;/p&gt;

&lt;p&gt;To create a Virtual Network, in the search bar at the top of the portal type “Virtual Networks” and select “Virtual Networks” from the results.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2s6wdymdc44mj27cwlbv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2s6wdymdc44mj27cwlbv.png" alt="VN Login" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the “Virtual Networks” portal pane, select ““+ Create”.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs9yn0gtoyxdbrwlscvuf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs9yn0gtoyxdbrwlscvuf.png" alt="““+ Create”." width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fill out all the tabs of the creation process by using the values in the following table:&lt;/p&gt;

&lt;p&gt;Property                Value&lt;br&gt;
Resource group              RG1&lt;br&gt;
Name                        app-vnet&lt;br&gt;
Region                      East US&lt;br&gt;
IPv4 address space      10.1.0.0/16&lt;br&gt;
Subnet name             frontend&lt;br&gt;
Subnet address range        10.1.0.0/24&lt;br&gt;
Subnet name             backend&lt;br&gt;
Subnet address range        10.1.1.0/24&lt;br&gt;
Note: Leave all other settings as their defaults. Select “Next” to advance to the next tab, and Create to create the virtual network.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyfbbigcy6j3cbyohrnn0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyfbbigcy6j3cbyohrnn0.png" alt="RG1" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8w9vjf9ai95hqkpgv46t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8w9vjf9ai95hqkpgv46t.png" alt="Name" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq80ajp73zkquasp01sa0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq80ajp73zkquasp01sa0.png" alt="Vn" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ymha3whggacg8gq1v1x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ymha3whggacg8gq1v1x.png" alt="Vn" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feanezioie0kwqbpvjybb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feanezioie0kwqbpvjybb.png" alt="Vn" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnwdmjefn4vt5yfa3lf6c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnwdmjefn4vt5yfa3lf6c.png" alt="backend" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F44nypkuh5rtapfjmestk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F44nypkuh5rtapfjmestk.png" alt="Add" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9qt8y3wuc54g89qy3tfl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9qt8y3wuc54g89qy3tfl.png" alt="settings" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F163t8gi32lp671gus5wr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F163t8gi32lp671gus5wr.png" alt="Create" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frsev8syyuzoohgmibvgy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frsev8syyuzoohgmibvgy.png" alt="Review" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Following the same steps as above, create the Azure virtual network Hub-vnet by using the values in the following table:&lt;/p&gt;

&lt;p&gt;Property              Value&lt;br&gt;
Resource group            RG1&lt;br&gt;
Name                      Hub-vnet&lt;br&gt;
Region                    East US&lt;br&gt;
IPv4 address space    10.0.0.0/16&lt;br&gt;
Subnet name           AzureFirewallSubnet&lt;br&gt;
Subnet address range      10.0.0.0/24&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsepprgskj7sat7lxs86o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsepprgskj7sat7lxs86o.png" alt="Create" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fblzwbc3tvilqukotjbm4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fblzwbc3tvilqukotjbm4.png" alt="RG1" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkx1tndraihdlw4ktipl9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkx1tndraihdlw4ktipl9.png" alt="VN Name" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr5yvcxoyimwcn7e5hx5q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr5yvcxoyimwcn7e5hx5q.png" alt="next" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fubp79mzzo85kbdxeboqp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fubp79mzzo85kbdxeboqp.png" alt="edit" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fds8kvvqfby5i518drlfa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fds8kvvqfby5i518drlfa.png" alt="subnet name" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwyj63pt3nx4l722eo8lu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwyj63pt3nx4l722eo8lu.png" alt="Save" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fblj6y18t40nmmhzh7hi3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fblj6y18t40nmmhzh7hi3.png" alt="Create" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fncgx8ukvla3ids76z0mi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fncgx8ukvla3ids76z0mi.png" alt="Complete" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the deployment is complete. Navigate back to the portal, in the search bar type “resource groups” and select Resource Groups” from the results. Select on “RG1” in the main pane and comfirm both virtual networks have been deployed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0t6b3lgl9byuonz5xqsx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0t6b3lgl9byuonz5xqsx.png" alt="RG" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv19wq19lrfp524ky5uqq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv19wq19lrfp524ky5uqq.png" alt="RG" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4ao4k5phrql0qahgvdz3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4ao4k5phrql0qahgvdz3.png" alt="confirm" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setup a peer relationship between the virtual networks&lt;/strong&gt;&lt;br&gt;
Setting up a peer relationship between the two virtual networks will allow traffic to flow in both directions between the app-vnet and hub-vnet virtual networks.&lt;/p&gt;

&lt;p&gt;In the Portal in the RG1 resource group view. Select on the “app-vnet” virtual network.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr4fddyl0xp3ksx0i7u5t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr4fddyl0xp3ksx0i7u5t.png" alt="app-vnet" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the app-vnet context menu on the left hand side of the portal scroll down and select on peerings&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fby3qx64pb9een59b2y62.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fby3qx64pb9een59b2y62.png" alt="peerings" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the app-vnet peerings pane, Select + Add.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffgrmd0bi8tgau91rzl8a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffgrmd0bi8tgau91rzl8a.png" alt="+ Add." width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fill out the form using the values in the following table:&lt;/p&gt;

&lt;p&gt;Property                                       Value&lt;br&gt;
This virtual network Peering link name             app-vnet-to-hub&lt;br&gt;
Remote virtual network Peering link name           hub-to-app-vnet&lt;br&gt;
Virtual network                                    hub-vnet&lt;br&gt;
Note: Leave all other settings as their defaults. Select “Add” to create the virtual network peering.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgxos414zp93ksre2jifc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgxos414zp93ksre2jifc.png" alt="Add peering" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the process completes,and after the configuration updates. Validate that the Peering status is set to Connected. (you may have to refresh the page to see the updated status)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg6wi5zjd7vqlw0emoxnb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg6wi5zjd7vqlw0emoxnb.png" alt="Connected" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>microsoft</category>
      <category>startup</category>
      <category>azure</category>
    </item>
    <item>
      <title>How to Create a Window Server Virtual Machine and install and IIS Web server role on the VM</title>
      <dc:creator>Raphael Olaniyi</dc:creator>
      <pubDate>Sat, 08 Jun 2024 12:33:24 +0000</pubDate>
      <link>https://dev.to/olaraph/how-to-create-a-window-server-virtual-machine-and-install-and-iis-web-server-role-on-the-vm-4d04</link>
      <guid>https://dev.to/olaraph/how-to-create-a-window-server-virtual-machine-and-install-and-iis-web-server-role-on-the-vm-4d04</guid>
      <description>&lt;p&gt;In this article we will be creating a virtual machine and also we wuill install an IIS weber sever role on the virtual machine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lets Begin&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Search for Virtual Machine and select Virtual machine &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvvmz65wrpqbjozwfp88x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvvmz65wrpqbjozwfp88x.png" alt="Search for Virtual Machine" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on  +create  on your extreme left &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F561hzlyhkrja4ut8xrng.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F561hzlyhkrja4ut8xrng.png" alt="+create" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Azure Virtual Machine from the options. &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjvp0e6wg4ligkjv7cuvn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjvp0e6wg4ligkjv7cuvn.png" alt="Select Azure Virtual Machine" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Under project details for resource group  click on  Create New and give it a name (make it a special name or name of a project)&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0p7uh9hinr91pzg4dk3k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0p7uh9hinr91pzg4dk3k.png" alt="Create New" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Under the Instance details give your virtual machine a name of your choice.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj9ns0pvk1b8nf24ns6ca.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj9ns0pvk1b8nf24ns6ca.png" alt="name of your choice" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select a region of your choice &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnkox95522esa5ntmd4qt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnkox95522esa5ntmd4qt.png" alt="region " width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the availability zones (this is dependent on how highly available you want the virtual machine to be you can choose zone1 and zone2 if you want the VM to be highly available and you can choose zone1,zone2 and zone3 if you want your VM to be very highly available its all dependent on your budget, the higher the availability the higher the cost)&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn9hinvycfyfrenuwsoyf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn9hinvycfyfrenuwsoyf.png" alt="availability zones" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Because you are creating a Linux VM for image you will select Window Server &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fagxgh8lxm3mvj8z0csph.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fagxgh8lxm3mvj8z0csph.png" alt="select Window Server " width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Leave every other things at default then go to Administrator Account and Create a User Name and  Password of your choice &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9a3fgfnxvc8t5733cpfh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9a3fgfnxvc8t5733cpfh.png" alt="Create a User Name and  Password" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Under select inbound port SELECT HTTP   this will enable us to view our virtual machine as a web page. &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj1p7eksauwur4tl78zjg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj1p7eksauwur4tl78zjg.png" alt=" SELECT HTTP" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Licencing &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkq76hzxikgazug0hhyri.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkq76hzxikgazug0hhyri.png" alt="Select Licencing" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the Monitoring tab and disable boot diagnostic&lt;br&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuaopdkgcft0b7vrg2kgo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuaopdkgcft0b7vrg2kgo.png" alt="disable boot diagnostic " width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then click on tags tab and tag the VM by putting your name or company name. &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo2i9lyuy9yvpi8kxi62l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo2i9lyuy9yvpi8kxi62l.png" alt="click on tags " width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on create and Review wait for it to validate or show green. &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi4jjo46sl3th86oxetet.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi4jjo46sl3th86oxetet.png" alt="create and Review" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once Validation is passed Select Create &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftr3tv4bkkct8p8qbbblh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftr3tv4bkkct8p8qbbblh.png" alt="Validation is passed" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the deployment is complete, click on Go to Resource &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F91h67zq96z0p9lv6kdwu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F91h67zq96z0p9lv6kdwu.png" alt="deployment is complete" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click connect to connect to the VM &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp4sa0v5ej7i5dk2i9480.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp4sa0v5ej7i5dk2i9480.png" alt="connect" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on Select on the Native RDP Local Machine &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhpx23m0udfz2kps64wd1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhpx23m0udfz2kps64wd1.png" alt="Select on the Native RDP" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It will pop up on the right, wait for it to validate and show configured then download the RDP file &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu248c89autgltof7l3ya.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu248c89autgltof7l3ya.png" alt="configured" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When it has finished downloading then you click on the downloaded file then click connect NB! If you are using a MAC book you need to download and install Microsoft Remote Desktop App &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsjnpsihy943881wr2xu8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsjnpsihy943881wr2xu8.png" alt="click connectn" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enter the Password we created during Administrator Settings &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foujxu8x1vz7sqfikqg4g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foujxu8x1vz7sqfikqg4g.png" alt=" Password" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on Yes &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqchnfee14t1m0p6phdv7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqchnfee14t1m0p6phdv7.png" alt="Click on Yes " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Our Window Server2019 data center edition is ready&lt;br&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fliv8mctaqmgcz2lgrpir.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fliv8mctaqmgcz2lgrpir.png" alt="Window Server2019 " width="800" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the Start menu.&lt;br&gt;
Type PowerShell and open Windows PowerShell or Windows PowerShell ISE as an administrator (right-click and select Run as administrator). &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2a2mtlfnv3058ezfav0o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2a2mtlfnv3058ezfav0o.png" alt="PowerShell" width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Install IIS:&lt;/p&gt;

&lt;p&gt;Run the following command to install the IIS role and management tools:&lt;br&gt;
Install-WindowsFeature -name Web-Server –IncludeManagementTools  (you can copy and paste the command) &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsa5ofzkm31e9qzughwdn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsa5ofzkm31e9qzughwdn.png" alt="Install-WindowsFeature" width="800" height="483"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is what you get if the command installs successfully  (it shows that something has been installed on the window web server)&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4lwoud5v4ilz79c6zeou.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4lwoud5v4ilz79c6zeou.png" alt="command installs successfully" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Verify Installation:&lt;br&gt;
You can verify that IIS has been installed by opening a web browser and navigating to &lt;a href="http://localhost" rel="noopener noreferrer"&gt;http://localhost&lt;/a&gt;. You should see the default IIS welcome page.&lt;br&gt;
or Just paste the ip address of the VM in a browser and verifiy that you installed the webserver.&lt;/p&gt;

&lt;p&gt;Click on iP address on the Azure page &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F22cyov4xzoarq8c1zsvt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F22cyov4xzoarq8c1zsvt.png" alt="Click on iP" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Paste it to browser to know if you have installed a Web Server or not. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl0g35x8ccs6vg650umxz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl0g35x8ccs6vg650umxz.png" alt="browser" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see from the browser that we have successfully installed a web server&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Create Linux virtual machine on Azure SSH into Linux server and install nginx on it.</title>
      <dc:creator>Raphael Olaniyi</dc:creator>
      <pubDate>Sat, 08 Jun 2024 07:40:59 +0000</pubDate>
      <link>https://dev.to/olaraph/how-to-install-linux-virtual-machine-on-azure-and-ssh-into-linux-server-4oon</link>
      <guid>https://dev.to/olaraph/how-to-install-linux-virtual-machine-on-azure-and-ssh-into-linux-server-4oon</guid>
      <description>&lt;p&gt;In this article we will create a linux virtual mirchine, SSH into the Linux server and also install nginx! on the virtual machine. &lt;/p&gt;

&lt;p&gt;Lets Begin:&lt;/p&gt;

&lt;p&gt;Login On Azure Website Type and Search for Virtual Machine and select Virtual machine &lt;/p&gt;

&lt;p&gt;Click on the +create button (virtual machine hosted by Azure )&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0cb79266qk7x6to9gp3k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0cb79266qk7x6to9gp3k.png" alt=" +create button" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on  +create  on your extreme left &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyjo1ou1l86hma7uiartp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyjo1ou1l86hma7uiartp.png" alt="+create " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Azure Virtual Machine from the options.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl7x3nkqexkhgrpyn7v9l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl7x3nkqexkhgrpyn7v9l.png" alt="Select Azure Virtual Machine" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Under project details for resource group  click on  Create New and give it a name (make it a special name or name of a project)&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi278jgvjqvmxz0v4f5h9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi278jgvjqvmxz0v4f5h9.png" alt="resource group" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Under the Instance give your virtual machine a name of your choice.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvek47titof7pk05i0c8z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvek47titof7pk05i0c8z.png" alt="virtual machine a name" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select a region of your choice &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F748ao605i0x3b7yfwt9t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F748ao605i0x3b7yfwt9t.png" alt=" region" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the availability zones (this is dependent on how highly available you want the virtual machine to be you can choose zone1 and zone2 if you want the VM to be highly available and you can choose zone1,zone2 and zone3 if you want your VM to be very highly available its all dependent on your budget, the higher the availability the higher the cost)&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyd9tn6r6r71na2cij2cf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyd9tn6r6r71na2cij2cf.png" alt="availability zones" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Because you are creating a Linux VM for image you will select Ubuntu Server &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fha5kj1s5461v84ubyz8i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fha5kj1s5461v84ubyz8i.png" alt="Linux VM for image" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For Administrator type Select password (With this you can access your VM with password rather than SSH Public keys)&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuzrvbp9kawss7b719gla.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuzrvbp9kawss7b719gla.png" alt="Select password" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create a User Name and  Password of your choice&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flbt79q717jif8twrjs98.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flbt79q717jif8twrjs98.png" alt="User Name and  Password " width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Under select inbound port SELECT HTTP and SSH  this will enable us to view our virtual machine as a web page. &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnhv2ukimax8lkv4dz93n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnhv2ukimax8lkv4dz93n.png" alt="SELECT HTTP and SSH" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the Monitoring tab and disable boot diagnostic&lt;br&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxc7yfp51sxv66wudcif9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxc7yfp51sxv66wudcif9.png" alt="disable boot diagnostic " width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then click on tags tab and tag the VM by putting your name or company name. &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyy0kx3jdfl9konl47j55.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyy0kx3jdfl9konl47j55.png" alt="tags" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on create and Review wait for it to validate or show green.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F26o3h451ies39ax3fpdj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F26o3h451ies39ax3fpdj.png" alt="create and Review " width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once Validation is passed Select Create &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhdg0kklfp5wkqul82qwx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhdg0kklfp5wkqul82qwx.png" alt="Select Create" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the deployment is complete, click on Go to Resource &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftr9p6m9cu5fgyo5kvtoq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftr9p6m9cu5fgyo5kvtoq.png" alt="Go to Resource" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the ip address to increase the idle timeout&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzmgm0gig41uxd4ucf4l0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzmgm0gig41uxd4ucf4l0.png" alt="idle timeout " width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Increase the idle time out to 30min  (this is to avoid your VM timing out after 5min )&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fawwwgcoo8zok6ky663pq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fawwwgcoo8zok6ky663pq.png" alt="idle time out to 30min" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After you are done with that then click save and hit the X sign on the right.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2je1a1ejfl82l51u6eu3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2je1a1ejfl82l51u6eu3.png" alt="click save" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You have successfully created a Linux Virtual Machine, In other to connect to it or to SSH to it ,  open the power shell application on your windows laptop and type SSH |space |VM Name|VMipaddress NB there is no space between the VM name and ip address as seen below then click enter &lt;br&gt;
You will be asked if you would like to continue then you type Yes &lt;br&gt;
Then you will be asked for password then type the VM password you created and press Enter  NB when you are typing your password it will be invisible that’s how Linux protects its self just keep typing when you are done hit the enter button. &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpmgexdg2jg8zvu9onset.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpmgexdg2jg8zvu9onset.png" alt="invisible" width="800" height="604"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the Password is correct the power shell will connect to the Linux VM after that it will instruct that for you  to run command as an administrator you need to be connected as user “Root”  you will use the Sudo command to achieve this next is type sudo su  and hit Enter&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwndwcn54dkn44g8xvikt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwndwcn54dkn44g8xvikt.png" alt="sudo su" width="800" height="604"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After that you are connected as a root “user” then you can now instruct apt to install apt nginx by typing “apt install nginx” then hit Enter&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwi506mey982lwfcj6eoa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwi506mey982lwfcj6eoa.png" alt="apt install nginx" width="800" height="604"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now let us confirm if nginx! Was actually installed on the virtual machine, we can do this by going to your Azure site and copy the ip address and paste it on the web page and see the result. &lt;/p&gt;

&lt;p&gt;Copy ip address &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0pzq7kd0pwfsioa58i3i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0pzq7kd0pwfsioa58i3i.png" alt="Copy ip address" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Paste the ip address to the browser &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpt1o28cdrdak6ukqn35r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpt1o28cdrdak6ukqn35r.png" alt=" browser " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From the result you can see that nginx! Has been successfully installed on the virtual machine. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Securing App Development with Managed Identities and Role-Based Access Control</title>
      <dc:creator>Raphael Olaniyi</dc:creator>
      <pubDate>Wed, 29 May 2024 21:36:54 +0000</pubDate>
      <link>https://dev.to/olaraph/securing-app-development-with-managed-identities-and-role-based-access-control-484h</link>
      <guid>https://dev.to/olaraph/securing-app-development-with-managed-identities-and-role-based-access-control-484h</guid>
      <description>&lt;p&gt;The company is designing and developing a new app, requiring secure storage access using keys and managed identities. Developers aim to implement role-based access control and need protected immutable storage for testing.&lt;/p&gt;

&lt;p&gt;Our goals are as follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create the storage account and managed identity.&lt;/li&gt;
&lt;li&gt;Secure access to the storage account using a key vault and key.&lt;/li&gt;
&lt;li&gt;Configure the storage account to use the customer-managed key in the key vault.&lt;/li&gt;
&lt;li&gt;Set up a time-based retention policy and an encryption scope.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Create the storage account and managed identity&lt;br&gt;
Provide a storage account for the web app.&lt;br&gt;
In the portal, search for and select Storage accounts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe93kszqomkwkej627h2x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe93kszqomkwkej627h2x.png" alt="select Storage accounts" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Select + Create.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgzx8sbm703darxwb7gd2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgzx8sbm703darxwb7gd2.png" alt="Select + Create." width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For Resource group select Create new. Give your resource group a name and select OK to save your changes.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5yyy43i5aef751lthnwn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5yyy43i5aef751lthnwn.png" alt="Resource group select Create new" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Provide a Storage account name. Ensure the name is unique and meets the naming requirements.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ycgtczo64gqpl3q2rsm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ycgtczo64gqpl3q2rsm.png" alt="Storage account name" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Move to the Encryption tab.&lt;br&gt;
Check the box for Enable infrastructure encryption.&lt;br&gt;
Notice the warning, This option cannot be changed after this storage account is created.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fowxm1r7y07xg1vdagt67.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fowxm1r7y07xg1vdagt67.png" alt="Enable infrastructure encryption" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Review + Create.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdkfsg58hehq1e92bv14e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdkfsg58hehq1e92bv14e.png" alt="Select Review + Create" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3407jbntlbc1s1zsq7fz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3407jbntlbc1s1zsq7fz.png" alt="Create" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wait for the resource to deploy.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdgjz3rx4dkagxh99xabe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdgjz3rx4dkagxh99xabe.png" alt="deploy" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Provide a managed identity for the web app to use. &lt;br&gt;
Search for and select Managed identities.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe71ijumn4f3oqaoskstj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe71ijumn4f3oqaoskstj.png" alt="managed identity" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Create.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffj1f5eebwx976a7szuq3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffj1f5eebwx976a7szuq3.png" alt="Select Create" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select your resource group.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2xqc3u92m75murvros35.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2xqc3u92m75murvros35.png" alt="resource group" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Give your managed identity a name.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff2uz16rserehgalcnefy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff2uz16rserehgalcnefy.png" alt="managed identity a name" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Review and create, and then Create.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5pqocdck5065qywmf3kf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5pqocdck5065qywmf3kf.png" alt="Select Review and create" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgcnf6w5zagxu3rjf4pki.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgcnf6w5zagxu3rjf4pki.png" alt="Create." width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Assign the correct permissions to the managed identity. The identity only needs to read and list containers and blobs. &lt;/p&gt;

&lt;p&gt;Search for and select your storage account.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9hnkyu59z0mk0e28k4b8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9hnkyu59z0mk0e28k4b8.png" alt="select your storage account" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsacrehkaw89w8nb7r94l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsacrehkaw89w8nb7r94l.png" alt="your storage account" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the Access Control (IAM) blade.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F00851j0uhrmd2p42socl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F00851j0uhrmd2p42socl.png" alt="Access Control (IAM) blade" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Add role assignment (center of the page).&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F76ugnsvb1n7smrenp45z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F76ugnsvb1n7smrenp45z.png" alt="Add role assignment " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the Job functions roles page, search for and select the Storage Blob Data Reader role.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F31pyc3t9h8eb15x8jqj9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F31pyc3t9h8eb15x8jqj9.png" alt="Job functions roles page" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Finfpszscnoit2nssg5tg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Finfpszscnoit2nssg5tg.png" alt="select the Storage Blob Data Reader role" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the Members page, select Managed identity.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fihz6qpxnj2lj6htzqrdm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fihz6qpxnj2lj6htzqrdm.png" alt="select Managed identity" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Select members, in the Managed identity drop-down select User-assigned managed identity.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgu37k4d5xsw2cdo86zqn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgu37k4d5xsw2cdo86zqn.png" alt="User-assigned managed identity" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the managed identity you created in the previous step.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3vaq4nsfdlorw37xf1gz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3vaq4nsfdlorw37xf1gz.png" alt="managed identity" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click Select and then Review + assign the role.&lt;br&gt;
Select Review + assign a second time to add the role assignment.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fatq3t5lp4jwicbhso6t9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fatq3t5lp4jwicbhso6t9.png" alt="Select " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5hpjhv4rup6cepdf8fyt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5hpjhv4rup6cepdf8fyt.png" alt="Review + assign" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Your storage account can now be accessed by a managed identity with the Storage Data Blob Reader permissions.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu99liy8wmm75r8mp0pbq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu99liy8wmm75r8mp0pbq.png" alt="storage account" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Secure access to the storage account with a key vault and key&lt;br&gt;
To create the key vault and key needed for this part of the lab, your user account must have Key Vault Administrator permissions. &lt;/p&gt;

&lt;p&gt;In the portal, search for and select Resource groups.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpu4xpjum4gacatq51niw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpu4xpjum4gacatq51niw.png" alt="select Resource groups" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select your resource group, and then the Access Control (IAM) blade.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftj7e15hj2mkfkhs1gnnt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftj7e15hj2mkfkhs1gnnt.png" alt="Access Control (IAM) blade" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Add role assignment (center of the page).&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feceqka7p0w7j62xy7v5k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feceqka7p0w7j62xy7v5k.png" alt="Add role assignment" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the Job functions roles page, search for and select the Key Vault Administrator role.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fli90yy7s0gen6gbgim3b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fli90yy7s0gen6gbgim3b.png" alt="Job functions roles page" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F23jeo8w1ph76i4is6uz8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F23jeo8w1ph76i4is6uz8.png" alt="Key Vault Administrator role" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the Members page, select User, group, or service principal.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk9r6nthuxwe8bdnitoux.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk9r6nthuxwe8bdnitoux.png" alt="User, group, or service principal" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Select members.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvpnu2tedhk8urv5o9rwl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvpnu2tedhk8urv5o9rwl.png" alt="Select members" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Search for and select your user account. Your user account is shown in the top right of the portal.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6fd0v5v54c48wrbb2asn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6fd0v5v54c48wrbb2asn.png" alt="user account" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click Select and then Review + assign.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fva5ueiss4oi6gg7kpzlz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fva5ueiss4oi6gg7kpzlz.png" alt="Select" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd5rz8w56wu3nbeqxc8a6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd5rz8w56wu3nbeqxc8a6.png" alt="Review + assign" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Review + assign a second time to add the role assignment.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw2mu4sq1y1xwnrfywnbh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw2mu4sq1y1xwnrfywnbh.png" alt="Review + assign a second time" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You are now ready to continue with the lab.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frep4xqdm1jblj8spucg8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frep4xqdm1jblj8spucg8.png" alt="continue with the lab" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create a key vault to store the access keys.&lt;/p&gt;

&lt;p&gt;In the portal, search for and select Key vaults.&lt;br&gt;
Select Create.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1uxap4fijlja00crh52p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1uxap4fijlja00crh52p.png" alt="select Key vaults" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxf65x9ditzsj8be4rgly.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxf65x9ditzsj8be4rgly.png" alt="Select Create" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select your resource group.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7vj27nrfc4ibqflhike5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7vj27nrfc4ibqflhike5.png" alt="Select your resource group" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Provide the name for the key vault. The name must be unique.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2chr8lngcsn0u5uuprvy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2chr8lngcsn0u5uuprvy.png" alt="name for the key vault" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ensure on the Access configuration tab that Azure role-based access control (recommended) is selected.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcqet0czkn4v8suib98a8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcqet0czkn4v8suib98a8.png" alt="Azure role-based access control" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Review + create.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3h3rttgjl18wcixyv047.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3h3rttgjl18wcixyv047.png" alt="Review + create" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wait for the validation checks to complete and then select Create.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbj20py8oujkwum1bidwe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbj20py8oujkwum1bidwe.png" alt="checks to complete and then select Create." width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After the deployment, select Go to resource.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foxgjco2hod5d56lpxrm0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foxgjco2hod5d56lpxrm0.png" alt="Go to resource" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the Overview blade ensure both Soft-delete and Purge protection are enabled.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcllphpm9w2iy8wps5siu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcllphpm9w2iy8wps5siu.png" alt="Soft-delete and Purge protection are enabled." width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create a customer-managed key in the key vault.&lt;/p&gt;

&lt;p&gt;In your key vault, in the Objects section, select the Keys blade.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fst06lbc7qyqgn7lwnv81.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fst06lbc7qyqgn7lwnv81.png" alt="Keys blade" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Generate/Import and Name the key.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjf0nrrhswaqujp5hyt4o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjf0nrrhswaqujp5hyt4o.png" alt="Generate/Import" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5onlr4qvxul7ic0jtvqj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5onlr4qvxul7ic0jtvqj.png" alt="Name the key" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Take the defaults for the rest of the parameters, and Create the key.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fczgw33ywyrcba9si5wck.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fczgw33ywyrcba9si5wck.png" alt="Create the key." width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Configure the storage account to use the customer managed key in the key vault&lt;br&gt;
Before you can complete the next steps, you must assign the Key Vault Crypto Service Encryption User role to the managed identity. &lt;/p&gt;

&lt;p&gt;In the portal, search for and select Resource groups.&lt;br&gt;
Select your resource group, and then the Access Control (IAM) blade.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6rr2bar3kmgwg8rr0ctt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6rr2bar3kmgwg8rr0ctt.png" alt="Access Control (IAM) blade." width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Add role assignment (center of the page).&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1200yasm5gaikeo9aiaa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1200yasm5gaikeo9aiaa.png" alt="Add role assignment" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the Job functions roles page, search for and select the Key Vault Crypto Service Encryption User role.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7560dvk5x84ixphd8kpc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7560dvk5x84ixphd8kpc.png" alt="select the Key Vault Crypto Service Encryption User role" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the Members page, select Managed identity.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0hmza98q68k9w50t6p42.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0hmza98q68k9w50t6p42.png" alt="Managed identity" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Select members, in the Managed identity drop-down select User-assigned managed identity.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fliyxkeopxupozygmv9rd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fliyxkeopxupozygmv9rd.png" alt="User-assigned managed identity" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select your managed identity.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fplaf12rs2wpx92gwih14.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fplaf12rs2wpx92gwih14.png" alt="managed identity" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click Select and then Review + assign.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz9n7wzpgtbm02eptw7d2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz9n7wzpgtbm02eptw7d2.png" alt="Select" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpc1nirorcd5msexey4ph.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpc1nirorcd5msexey4ph.png" alt="Review + assign" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Review + assign a second time to add the role assignment.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgl8vik4d45wfoi0tca7u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgl8vik4d45wfoi0tca7u.png" alt="Review + assign" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Configure the storage account to use the customer managed key in your key vault. Learn more about customer managed keys on an existing storage account.&lt;/p&gt;

&lt;p&gt;Return to your the storage account.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy784tfvq3jru6zbi1cho.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy784tfvq3jru6zbi1cho.png" alt="storage account" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the Security + networking section, select the Encryption blade.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmoy18ozkoe52bmfzqne4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmoy18ozkoe52bmfzqne4.png" alt="Encryption blade" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Customer-managed keys.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzz1tlayuxo8kalc5cp1c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzz1tlayuxo8kalc5cp1c.png" alt="Customer-managed keys" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select a key vault and key. Select your key vault and key.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5us1hvk98uksibq58g89.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5us1hvk98uksibq58g89.png" alt="Select a key vault" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fly1tp7jao0pluphd6mxl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fly1tp7jao0pluphd6mxl.png" alt="key" width="800" height="370"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcwwx9dnrn32g70p3g12o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcwwx9dnrn32g70p3g12o.png" alt="your key vault and key" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select to confirm your choices.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0phnnfhr602bbrcprdp0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0phnnfhr602bbrcprdp0.png" alt="Select" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ensure the Identity type is User-assigned.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkq5cqtrx43peq6de87ww.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkq5cqtrx43peq6de87ww.png" alt="User-assigned" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select an identity.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsxyx4pzjmegjd4d0t8ke.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsxyx4pzjmegjd4d0t8ke.png" alt="Select an identity" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select your managed identity then select Add.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmh7ufvlljg4szg8g9kyn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmh7ufvlljg4szg8g9kyn.png" alt="managed identity " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Save your changes.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzeyxho09rqqd3y9okcau.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzeyxho09rqqd3y9okcau.png" alt="Save your changes" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you receive an error that your identity does not have the correct permissions, wait a minute and try again.&lt;/p&gt;

&lt;p&gt;Configure an time-based retention policy and an encryption scope.&lt;br&gt;
The developers require a storage container where files can’t be modified, even by the administrator.&lt;/p&gt;

&lt;p&gt;Navigate to your storage account.&lt;br&gt;
In the Data storage section, select the Containers blade.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faccjnzoqspyu9ejw6kr7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faccjnzoqspyu9ejw6kr7.png" alt="Navigate to your storage account" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create a container called hold. Take the defaults. Be sure to Create the container.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0licizhixnai0179okqa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0licizhixnai0179okqa.png" alt="Create a container called hold" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Upload a file to the container.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxfzu95vaymxf120iwiqb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxfzu95vaymxf120iwiqb.png" alt="Upload a file" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the Settings section, select the Access policy blade.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft4u69jf4rd9m9pxpt84q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft4u69jf4rd9m9pxpt84q.png" alt="Access policy blade" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the Immutable blob storage section, select + Add policy.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9bhas2amxqnxwzdwlp33.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9bhas2amxqnxwzdwlp33.png" alt="select + Add policy" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For the Policy type, select time-based retention.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8l4bwutkuknxrp49lw0l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8l4bwutkuknxrp49lw0l.png" alt="select time-based retention" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Set the Retention period to 5 days.&lt;br&gt;
Be sure to Save your changes.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcy7lbigcp2fsx7cvwxsy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcy7lbigcp2fsx7cvwxsy.png" alt="Retention period" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Try to delete the file in the container.&lt;br&gt;
Verify you are notified failed to delete blobs due to policy.&lt;br&gt;
The developers require an encryption scope that enables infrastructure encryption. &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe5mzy4zsh7b2t2ytqw0h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe5mzy4zsh7b2t2ytqw0h.png" alt="infrastructure encryption." width="800" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Navigate back to your storage account.&lt;br&gt;
In the Security + networking blade, select Encryption.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8evthffd95h2hyaak6a9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8evthffd95h2hyaak6a9.png" alt="your storage account" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the Encryption scopes tab, select Add.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvntknmu84rbkddurhhko.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvntknmu84rbkddurhhko.png" alt="select Add" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Give your encryption scope a name.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxuf7q8w2gz3r2x1lp0mv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxuf7q8w2gz3r2x1lp0mv.png" alt="scope a name" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Encryption type is Microsoft-managed key.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm2idyyh6ipmspesqdg6b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm2idyyh6ipmspesqdg6b.png" alt="Microsoft-managed key" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Set Infrastructure encryption to Enable.&lt;br&gt;
Create the encryption scope.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8m8m7dnvdt0z542elpy4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8m8m7dnvdt0z542elpy4.png" alt="encryption scope" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Return to your storage account and create a new container.&lt;br&gt;
Notice on the New container page, there is the Name and Public access level.&lt;br&gt;
Notice in the Advanced section you can select the Encryption scope you created and apply it to all blobs in the container.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdwfuwzj7vcz3l7pm83jt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdwfuwzj7vcz3l7pm83jt.png" alt="New container page" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Efficient and Secure File Sharing for Geographically Dispersed Offices with Restricted Network Access on Azure</title>
      <dc:creator>Raphael Olaniyi</dc:creator>
      <pubDate>Tue, 28 May 2024 12:12:23 +0000</pubDate>
      <link>https://dev.to/olaraph/efficient-and-secure-file-sharing-for-geographically-dispersed-offices-with-restricted-network-access-on-azure-9dm</link>
      <guid>https://dev.to/olaraph/efficient-and-secure-file-sharing-for-geographically-dispersed-offices-with-restricted-network-access-on-azure-9dm</guid>
      <description>&lt;p&gt;The company operates in multiple locations and requires an efficient method for file sharing and information dissemination across its offices. For instance, the Finance department needs reliable access to confirm cost information for auditing and compliance purposes. These file shares must be easily accessible and load quickly, with certain content restricted to selected corporate virtual networks.&lt;/p&gt;

&lt;p&gt;Our goals are as follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a storage account specifically for file shares.&lt;/li&gt;
&lt;li&gt;Configure a file share and directory.&lt;/li&gt;
&lt;li&gt;Set up snapshots and practice restoring files.&lt;/li&gt;
&lt;li&gt;Restrict access to a specific virtual network and subnet.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Create and configure a storage account for Azure Files.&lt;br&gt;
Create a storage account for the finance department’s shared files. Learn more about storage accounts for Azure Files deployments.&lt;/p&gt;

&lt;p&gt;In the portal, search for and select Storage accounts.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftohjmahinp4wmyxpkq21.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftohjmahinp4wmyxpkq21.png" alt="select Storage accounts" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Select + Create.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv6pjv6t52e40dm7tna57.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv6pjv6t52e40dm7tna57.png" alt="Select + Create" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For Resource group select Create new. Give your resource group a name and select OK to save your changes.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Funifp0022jf68rs3fcjg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Funifp0022jf68rs3fcjg.png" alt="select Create new" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Provide a Storage account name. Ensure the name meets the naming requirements.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7btz1rlconz08iawsmkj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7btz1rlconz08iawsmkj.png" alt="Storage account name" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Set the Performance to Premium.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffhmc6j1cy7rz7k627t6y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffhmc6j1cy7rz7k627t6y.png" alt="Set the Performance to Premium" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Set the Premium account type to File shares.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6idjqs4jyaj3gpwmupka.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6idjqs4jyaj3gpwmupka.png" alt="File shares" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Set the Redundancy to Zone-redundant storage.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4qhl1zk59ccm1nx09fq7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4qhl1zk59ccm1nx09fq7.png" alt="Zone-redundant storage" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Review and then Create the storage account.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2susdy52k2kphuvl62gm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2susdy52k2kphuvl62gm.png" alt="Select Review and then Create" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wait for the resource to deploy.&lt;br&gt;
Select Go to resource.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmpmlmmv6pcu1ladh5znj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmpmlmmv6pcu1ladh5znj.png" alt="Go to resource" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create and configure a file share with directory.&lt;br&gt;
Create a file share for the corporate office. Learn more about Azure File tiers.&lt;/p&gt;

&lt;p&gt;In the storage account, in the Data storage section, select the File shares blade.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdqnk5ry78889d92yijnx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdqnk5ry78889d92yijnx.png" alt="File shares blade" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select + File share and provide a Name.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo7qj5x6u5e8d3glr4m9u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo7qj5x6u5e8d3glr4m9u.png" alt="Select + File share" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fppefs4ypg1emqgm9x42j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fppefs4ypg1emqgm9x42j.png" alt="provide a Name" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Review the other options, but take the defaults.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuwkcvf3fouggpl9ne9jl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuwkcvf3fouggpl9ne9jl.png" alt="Review" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Select Create&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxef62e5ool07473ew7g7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxef62e5ool07473ew7g7.png" alt="Select Create" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Add a directory to the file share for the finance department. For future testing, upload a file.&lt;/p&gt;

&lt;p&gt;Select your file share and select + Add directory.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi780lym1n78cyj9lp9f4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi780lym1n78cyj9lp9f4.png" alt="select + Add directory" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Name the new directory finance.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp9pr0735fnhx4ihqswr4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp9pr0735fnhx4ihqswr4.png" alt="new directory finance" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Browse and then select the finance directory.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbfq589vh3wqfo85m94p5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbfq589vh3wqfo85m94p5.png" alt="Select Browse" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffqksw1hn5jggnwb2m099.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffqksw1hn5jggnwb2m099.png" alt="finance directory." width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Notice you can Add directory to further organize your file share.&lt;br&gt;
Upload a file of your choosing.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F20l5sh388e97e59n275s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F20l5sh388e97e59n275s.png" alt="Upload a file of your choosing" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Configure and test snapshots.&lt;br&gt;
Similar to blob storage, you need to protect against accidental deletion of files. You decide to use snapshots. &lt;/p&gt;

&lt;p&gt;Select your file share.&lt;br&gt;
In the Operations section, select the Snapshots blade.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpkf48i23ewrx2odjyi2y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpkf48i23ewrx2odjyi2y.png" alt="Snapshots blade" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select + Add snapshot. The comment is optional. Select OK.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy8caety4rnfh8bi7d166.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy8caety4rnfh8bi7d166.png" alt="Select + Add snapshot" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select your snapshot and verify your file directory and uploaded file are included.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F85r8xq8h6tm8vdvu7ib1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F85r8xq8h6tm8vdvu7ib1.png" alt="verify your file directory" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Practice using snapshots to restore a file.&lt;/p&gt;

&lt;p&gt;Return to your file share.&lt;br&gt;
Browse to your file directory.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzsixjz1ha1z62ambwnog.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzsixjz1ha1z62ambwnog.png" alt="Browse to your file directory" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Locate your uploaded file and in the Properties pane select Delete. Select Yes to confirm the deletion.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9yq0g66p9ya43xbtyr6z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9yq0g66p9ya43xbtyr6z.png" alt="select Delete" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the Snapshots blade and then select your snapshot.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0edtfooqtbld4jzvj372.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0edtfooqtbld4jzvj372.png" alt="Snapshots blade" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwmdcyfyozwhbosl60vlw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwmdcyfyozwhbosl60vlw.png" alt="select your snapshot" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Navigate to the file you want to restore,&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq5k9n5vhti9hp7cu67ee.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq5k9n5vhti9hp7cu67ee.png" alt="file you want to restore" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the file and the select Restore.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwep3cfzqngrmpe98xcb7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwep3cfzqngrmpe98xcb7.png" alt="select Restore" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Provide a Restored file name.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgk4xbiihh8v68tf34zjv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgk4xbiihh8v68tf34zjv.png" alt="Restored file name" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Verify your file directory has the restored file.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7qxj7pdo8pzym200f72x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7qxj7pdo8pzym200f72x.png" alt="Browse file share" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
File has been restored &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcj3uzjhzro2m9rane1gs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcj3uzjhzro2m9rane1gs.png" alt="File has been restored " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Configure restricting storage access to selected virtual networks.&lt;br&gt;
This tasks in this section require a virtual network with subnet. In a production environment these resources would already be created.&lt;/p&gt;

&lt;p&gt;Search for and select Virtual networks.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjm6n45dl3eso3udzwwl1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjm6n45dl3eso3udzwwl1.png" alt="select Virtual networks" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Create. Select your resource group. and give the virtual network a name.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzpx9g3koh3787370p8n5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzpx9g3koh3787370p8n5.png" alt="Select Create" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frl95jiij1dow3u39hqup.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frl95jiij1dow3u39hqup.png" alt="virtual network a name" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Take the defaults for other parameters, select Review + create, and then Create.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuyiqcr5gvgemzkurtx03.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuyiqcr5gvgemzkurtx03.png" alt="select Review + create" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuw7kpopheejr135153lg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuw7kpopheejr135153lg.png" alt=" Create" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wait for the resource to deploy.&lt;br&gt;
Select Go to resource.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff3wl5k5bjji16q2lynw1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff3wl5k5bjji16q2lynw1.png" alt="Go to resource" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the Settings section, select the Subnets blade.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcy0uicqual0fgfz8k78s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcy0uicqual0fgfz8k78s.png" alt="Subnets blade" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the default subnet.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2ocj06s9pxeg6mlwapq7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2ocj06s9pxeg6mlwapq7.png" alt="default subnet" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the Service endpoints section choose Microsoft.Storage in the Services drop-down.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe4fv0cyqvhlg41l9rrgj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe4fv0cyqvhlg41l9rrgj.png" alt="Microsoft.Storage " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Do not make any other changes.&lt;br&gt;
Be sure to Save your changes.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxiatgxwwsta7ynnb3nwk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxiatgxwwsta7ynnb3nwk.png" alt="Save your changes" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The storage account should only be accessed from the virtual network you just created. &lt;/p&gt;

&lt;p&gt;Return to your files storage account.&lt;br&gt;
In the Security + networking section, select the Networking blade.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F94kshgv6m5o2i58u1ey6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F94kshgv6m5o2i58u1ey6.png" alt=" Networking blade." width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Change the Public network access to Enabled from selected virtual networks and IP addresses.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fajs4k7lbjnf9gwhnku5i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fajs4k7lbjnf9gwhnku5i.png" alt="Enabled from selected virtual networks and IP addresses" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the Virtual networks section, select Add existing virtual network.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj98psfaya7fjc268vhu5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj98psfaya7fjc268vhu5.png" alt="Add existing virtual network" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select your virtual network and subnet, select Add.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2kn4hzr1alkjjk5tkwro.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2kn4hzr1alkjjk5tkwro.png" alt="Select your virtual network and subnet" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Be sure to Save your changes.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frzii2bmiuo1i33w01lof.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frzii2bmiuo1i33w01lof.png" alt="Save your changes" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the Storage browser and navigate to your file share.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjbhhz9nj9wer62o4tszo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjbhhz9nj9wer62o4tszo.png" alt="Select the Storage browser" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Verify the message not authorized to perform this operation. You are not connecting from the virtual network.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb1jt0vd02wscjbkqhic9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb1jt0vd02wscjbkqhic9.png" alt="Verify the message not authorized to perform this operation" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Creation of Private Storage for Internal Comapny Document with Restricted Access on Azure .</title>
      <dc:creator>Raphael Olaniyi</dc:creator>
      <pubDate>Tue, 28 May 2024 07:58:07 +0000</pubDate>
      <link>https://dev.to/olaraph/creation-of-private-storage-for-internal-comapny-document-with-restricted-access-on-azure--of0</link>
      <guid>https://dev.to/olaraph/creation-of-private-storage-for-internal-comapny-document-with-restricted-access-on-azure--of0</guid>
      <description>&lt;p&gt;The company requires secure storage for its offices and departments to ensure that private content is not shared without consent. This storage must have high availability to withstand regional outages and will also be used for backing up the public website.&lt;/p&gt;

&lt;p&gt;Our goals are as follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a storage account for the company's private documents.&lt;/li&gt;
&lt;li&gt;Configure redundancy for the storage account.&lt;/li&gt;
&lt;li&gt;Set up a shared access signature to provide partners with restricted access to specific files.&lt;/li&gt;
&lt;li&gt;Back up the public website storage.&lt;/li&gt;
&lt;li&gt;Implement lifecycle management to move content to the cool tier.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let us Start: &lt;br&gt;
Create a storage account for the internal private company documents.&lt;br&gt;
In the portal, search for and select Storage accounts.&lt;br&gt;
Select + Create.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5sxnxcimflmg1quvj3bc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5sxnxcimflmg1quvj3bc.png" alt="search for and select Storage accounts" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6lwtzozz32ncj7scwyxk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6lwtzozz32ncj7scwyxk.png" alt="Select + Create" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the Resource group created in the previous lab.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4upof0fvuq4aqey75ork.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4upof0fvuq4aqey75ork.png" alt="Select the Resource group " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Set the Storage account name to private. Add an identifier to the name to ensure the name is unique.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqr78fspj67dnyq08mr6m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqr78fspj67dnyq08mr6m.png" alt="Storage account name to private" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Review, and then Create the storage account.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4lcow5btcjk8prl4chw3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4lcow5btcjk8prl4chw3.png" alt="Select Review" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fylk3xd9k1vstrwj2c3dj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fylk3xd9k1vstrwj2c3dj.png" alt="Create the storage account" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wait for the storage account to deploy, and then select Go to resource.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnx7mokwemoaio1unqifg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnx7mokwemoaio1unqifg.png" alt="Go to resource" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This storage requires high availability if there’s a regional outage. Read access in the secondary region is not required. Configure the appropriate level of redundancy.&lt;/p&gt;

&lt;p&gt;In the storage account, in the Data management section, select the Redundancy blade.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa3uls63af2n6uct7wmpj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa3uls63af2n6uct7wmpj.png" alt="select the Redundancy blade" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ensure Geo-redundant storage (GRS) is selected.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwhirosg4mcwy9eklnrt1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwhirosg4mcwy9eklnrt1.png" alt="Geo-redundant storage (GRS)" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Refresh the page.&lt;br&gt;
Review the primary and secondary location information.&lt;br&gt;
Save your changes.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0a1tpw0um0524fii1by4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0a1tpw0um0524fii1by4.png" alt="Save your changes" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create a storage container, upload a file, and restrict access to the file.&lt;br&gt;
Create a private storage container for the corporate data.&lt;/p&gt;

&lt;p&gt;In the storage account, in the Data storage section, select the Containers blade.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7xemyxpepjgtvhkc0wso.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7xemyxpepjgtvhkc0wso.png" alt="select the Containers blade" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select + Container.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1sau64450129jf07k5zr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1sau64450129jf07k5zr.png" alt="Select + Container" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ensure the Name of the container is private.&lt;br&gt;
Ensure the Public access level is Private (no anonymous access).&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi29nj9cnp1nf49997qef.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi29nj9cnp1nf49997qef.png" alt="Name of the container" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you have time, review the Advanced settings, but take the defaults.&lt;br&gt;
Select Create.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo43pyn6otnmkg9562jbi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo43pyn6otnmkg9562jbi.png" alt="Select Create" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For testing, upload a file to the private container. he type of file doesn’t matter. A small image or text file is a good choice. Test to ensure the file isn’t publically accessible.&lt;/p&gt;

&lt;p&gt;Select the container.&lt;br&gt;
Select Upload.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2e1g28okftu20pzven9x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2e1g28okftu20pzven9x.png" alt="Select Upload" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Browse to files and select a file.&lt;br&gt;
Upload the file.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffxzetd2ya2889wd1mma1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffxzetd2ya2889wd1mma1.png" alt="Upload the file" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the uploaded file.&lt;br&gt;
On the Overview tab, copy the URL.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvnvck28lau56zwc4xzjg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvnvck28lau56zwc4xzjg.png" alt="copy the URL." width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Paste the URL into a new browser tab.&lt;br&gt;
Verify the file doesn’t display and you receive an error.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdvrd7lauxvxigo4sxhyb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdvrd7lauxvxigo4sxhyb.png" alt="Verify the file doesn’t display" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;An external partner requires read and write access to the file for at least the next 24 hours. Configure and test a shared access signature (SAS). &lt;/p&gt;

&lt;p&gt;Select your uploaded blob file and move to the Generate SAS tab.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgx44lrxbhcjfrgpe9y76.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgx44lrxbhcjfrgpe9y76.png" alt="Read permissions." width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the Permissions drop-down, ensure the partner has only Read permissions.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnzftvolgzf77ob2qfho6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnzftvolgzf77ob2qfho6.png" alt="Read permissions." width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Verify the Start and expiry date/time is for the next 24 hours.&lt;br&gt;
Select Generate SAS token and URL.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft6uk3hduc3li321xg9x4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft6uk3hduc3li321xg9x4.png" alt="expiry date/time" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Copy the Blob SAS URL to a new browser tab.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fni6ms76t7cqzpzkxleaf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fni6ms76t7cqzpzkxleaf.png" alt="Copy the Blob SAS URL" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Verify you can access the file. If you have uploaded an image file it will display in the browser. Other file types will be downloaded.&lt;/p&gt;

&lt;p&gt;Configure storage access tiers and content replication.&lt;br&gt;
To save on costs, after 30 days, move blobs from the hot tier to the cool tier. &lt;/p&gt;

&lt;p&gt;Return to the storage account.&lt;br&gt;
In the Overview section, notice the Default access tier is set to Hot.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft5f7lgf5a20utl5bdf7b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft5f7lgf5a20utl5bdf7b.png" alt="access tier is set to Hot." width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the Data management section, select the Lifecycle management blade.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmek78y52lk3t2tcuza78.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmek78y52lk3t2tcuza78.png" alt="Lifecycle management blade" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Add rule.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsb9l6edekqby38w25wlu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsb9l6edekqby38w25wlu.png" alt="Add rule" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Set the Rule name to movetocool.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm4s8b4p8n7zgfzhq75pf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm4s8b4p8n7zgfzhq75pf.png" alt="movetocool" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Set the Rule scope to Apply rule to all blobs in the storage account.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fauw6z7xqssboaqn74bpo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fauw6z7xqssboaqn74bpo.png" alt="Set the Rule scope to Apply" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Next.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3t2eqppjmcyerffl8cqv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3t2eqppjmcyerffl8cqv.png" alt="Select Next" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ensure Last modified is selected.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhielko491eiv7g79rwwb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhielko491eiv7g79rwwb.png" alt="Last modified is selected" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Set More than (days ago) to 30.&lt;br&gt;
In the Then drop-down select Move to cool storage.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmmhx3x7y7ao16xsi4024.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmmhx3x7y7ao16xsi4024.png" alt="Move to cool storage" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you have time, review other lifecycle options in the drop-down.&lt;br&gt;
Add the rule.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Figx90v7uco5j24hyh3f6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Figx90v7uco5j24hyh3f6.png" alt="Add the rule." width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The public website files need to be backed up to another storage account.&lt;/p&gt;

&lt;p&gt;In your storage account, create a new container called backup. Use the default values. &lt;em&gt;Refer back to the container we created earlier if you need detailed instructions.&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fevd9dwhep09p00ntvl5s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fevd9dwhep09p00ntvl5s.png" alt="Backup container" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Navigate to your publicwebsite storage account. This storage account was created in the previous articles&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwjhzca8pf3emd7sgsmub.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwjhzca8pf3emd7sgsmub.png" alt="publicwebsite storage account" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the Data management section, select the Object replication blade.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy1b1zkgd9a3fujclaxbk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy1b1zkgd9a3fujclaxbk.png" alt="Object replication blade" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Create replication rules.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnh0qf7l8ycjrky2h5as6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnh0qf7l8ycjrky2h5as6.png" alt=" Create replication rules" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Set the Destination storage account to the private storage account.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1yx9sarfx818cah8j99l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1yx9sarfx818cah8j99l.png" alt="Destination storage account" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Set the Source container to public and the Destination container to backup.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F67whfbo532bnqk10jvoc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F67whfbo532bnqk10jvoc.png" alt="Set the Source container" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create the replication rule.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsffjr13hhgcrwsgwau9w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsffjr13hhgcrwsgwau9w.png" alt="replication rule" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Optionally, as you have time, upload a file to the public container. Return to the private storage account and refresh the backup container. Within a few minutes your public website file will appear in the backup folder.&lt;br&gt;
As seen below: &lt;/p&gt;

&lt;p&gt;File uploaded to public container &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdsbkpq2vr78cxag8jcnf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdsbkpq2vr78cxag8jcnf.png" alt="File uploaded " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;File backed up seen in backup container &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw0rdpso2fz0d8ng4gjrl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw0rdpso2fz0d8ng4gjrl.png" alt="backed up seen " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Create Storage Account With High Availability On Microsoft Azure.</title>
      <dc:creator>Raphael Olaniyi</dc:creator>
      <pubDate>Mon, 27 May 2024 08:58:46 +0000</pubDate>
      <link>https://dev.to/olaraph/how-to-create-storage-account-with-high-availability-on-microsoft-azure-42a4</link>
      <guid>https://dev.to/olaraph/how-to-create-storage-account-with-high-availability-on-microsoft-azure-42a4</guid>
      <description>&lt;p&gt;&lt;em&gt;An example of the need for a high-availability storage account is the storage supporting the company website. This site offers product images, videos, marketing literature, and customer success stories. Given the global customer base and rapidly increasing demand, it's vital to ensure low latency load times for this mission-critical content. Additionally, maintaining version control of documents and enabling quick restoration of deleted files are crucial.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Our goals are as follows&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a storage account with high availability.&lt;/li&gt;
&lt;li&gt;Ensure the storage account has anonymous public access.&lt;/li&gt;
&lt;li&gt;Create a blob storage container for the website documents.&lt;/li&gt;
&lt;li&gt;Enable soft delete so files can be easily restored.&lt;/li&gt;
&lt;li&gt;Enable blob versioning.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Lets start&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Create a storage account with high availability.&lt;/p&gt;

&lt;p&gt;In the portal, &lt;strong&gt;search&lt;/strong&gt; for and &lt;strong&gt;select&lt;/strong&gt; Storage accounts.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9y4ktlsmjj6yefsx2tt7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9y4ktlsmjj6yefsx2tt7.png" alt="search for and select Storage accounts" width="800" height="428"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Select + Create&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fslasovmnqplifolhqipn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fslasovmnqplifolhqipn.png" alt="Select + Create." width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
For resource group select new. Give your resource group a name and select OK.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5kfk0mxffp9nlvxleni9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5kfk0mxffp9nlvxleni9.png" alt="name of resource group" width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6hkjim5w1lu2xdkykzgr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6hkjim5w1lu2xdkykzgr.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Set the Storage account name to publicwebsite. Make sure the storage account name is unique by adding an identifier.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy5oi3tk0jpnz5h89eiyv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy5oi3tk0jpnz5h89eiyv.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Take the defaults for other settings.&lt;br&gt;
Then Select Review and then Create.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk2z1wlletu6s7q85hiuy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk2z1wlletu6s7q85hiuy.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff5hf2au1iauriyqmvy86.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff5hf2au1iauriyqmvy86.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Wait for the storage account to deploy, and then select Go to resource&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvyy2arfrdjt2hwylr7bs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvyy2arfrdjt2hwylr7bs.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F01wxz20ghpnt3ealu25x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F01wxz20ghpnt3ealu25x.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This storage requires high availability if there’s a regional outage. Additionally, enable read access to the secondary region. &lt;/p&gt;

&lt;p&gt;In the storage account, in the Data management section, select the Redundancy blade.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwprz69wjm84d6ny298t8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwprz69wjm84d6ny298t8.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Ensure Read-access Geo-redundant storage is selected.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fags4jtm8bmf4w5w1tgl6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fags4jtm8bmf4w5w1tgl6.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Review the primary and secondary location information.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh0ttq11qi7c7mxnplopt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh0ttq11qi7c7mxnplopt.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
It is important to note that Information on the public website should be accessible without requiring customers to login.&lt;br&gt;
Hence In the storage account, in the Settings section, select the Configuration blade.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F686fyeky6ek53l8o60fs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F686fyeky6ek53l8o60fs.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Ensure the Allow blob anonymous access setting is Enabled.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0u9c7bm27tsl33s090dv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0u9c7bm27tsl33s090dv.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Be sure to Save your changes.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv8m1dhq3fdjfuljr6gmc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv8m1dhq3fdjfuljr6gmc.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ensure the storage account has anonymous public access.&lt;br&gt;
The public website has various images and documents. Create a blob storage container for the content.&lt;br&gt;
In your storage account, in the Data storage section, select the Containers blade.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2c2ilzyodnr1qwjpu8ui.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2c2ilzyodnr1qwjpu8ui.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Select + Container.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxbuazgbvw5z376pr0tbw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxbuazgbvw5z376pr0tbw.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Ensure the Name of the container is public.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkrtgwfkrqad6r5ski98f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkrtgwfkrqad6r5ski98f.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Select Create.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fklm8udguercik6pgnobh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fklm8udguercik6pgnobh.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Customers should be able to view the images without being authenticated. Configure anonymous read access for the public container blobs. Learn more about configuring anonymous public access. to do this follow the step below; &lt;br&gt;
Select your public container.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgwlqdww20gcum7l0vxy6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgwlqdww20gcum7l0vxy6.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
On the Overview blade, select Change access level.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F56jpf7a7u6roijwitqxd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F56jpf7a7u6roijwitqxd.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Ensure the Public access level is Blob (anonymous read access for blobs only). Select OK.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fygu08d68msbh1hpg0w14.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fygu08d68msbh1hpg0w14.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Lets Practice uploading files and testing access to be sure of what we have done &lt;br&gt;
For testing, upload a file to the public container. The type of file doesn’t matter. A small image or text file is a good choice&lt;br&gt;
Ensure you are viewing your container then Select Upload.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb3h370anvmythtf83lhe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb3h370anvmythtf83lhe.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Browse to files and select a file. Browse to a file of your choice.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgmm193lwsataq4td9nrq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgmm193lwsataq4td9nrq.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Select Upload.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhy2qqdp9gst062ihc0qj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhy2qqdp9gst062ihc0qj.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Close the upload window, Refresh the page and ensure your file was uploaded.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fks8u0hpqq7a4hqlw5yn5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fks8u0hpqq7a4hqlw5yn5.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Determine the URL for your uploaded file. Open a browser and test the URL.&lt;br&gt;
Select your uploaded file.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiw2tbz5lqqke3hyj0p8c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiw2tbz5lqqke3hyj0p8c.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
On the Overview tab, copy the URL.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkxwc70x41xmy7ndszvkk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkxwc70x41xmy7ndszvkk.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Paste the URL into a new browser tab, If you have uploaded an image file it will display in the browser. Other file types should be downloaded.&lt;/p&gt;

&lt;p&gt;Now let us configure Soft Delete; It’s important that the website documents can be restored if they’re deleted. Configure blob soft delete for 21 days. &lt;br&gt;
Go to the Overview blade of the storage account.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp5y2d5ypkzi423e80aci.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp5y2d5ypkzi423e80aci.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2s3r0dmhh9q6zuckzg9l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2s3r0dmhh9q6zuckzg9l.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
On the Properties page, locate the Blob service section.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0cvkngnnr8yh3ld4ijo7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0cvkngnnr8yh3ld4ijo7.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Select the Blob soft delete setting.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqwf5szh0v1czeerubomb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqwf5szh0v1czeerubomb.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Ensure the Enable soft delete for blobs is checked.&lt;br&gt;
Change the Keep deleted blobs for (in days setting is 21.&lt;br&gt;
Notice you can also Enable soft delete for containers.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj0ccohx8fsy2d6z6wjkz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj0ccohx8fsy2d6z6wjkz.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Don’t forget to Save your changes.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fam468vqhzgnfycux8bdu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fam468vqhzgnfycux8bdu.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If something gets deleted, you need to practice using soft delete to restore the files&lt;br&gt;
Navigate to your container where you uploaded a file.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fji5jmz4el1o73dk0f36w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fji5jmz4el1o73dk0f36w.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Select the file you uploaded and then select Delete.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F43rffzze4gzar2fsop3x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F43rffzze4gzar2fsop3x.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Select OK to confirm deleting the file.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd1m53nkj1lgbdc41ujqz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd1m53nkj1lgbdc41ujqz.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
On the container Overview page, toggle the slider Show deleted blobs. This toggle is to the right of the search box.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F45hnm5w26ctekxocxid5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F45hnm5w26ctekxocxid5.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Select your deleted file, and use the ellipses on the far right, to Undelete the file.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuses11n4rb1m7wp9up1y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuses11n4rb1m7wp9up1y.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Refresh the container and confirm the file has been restored.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frm805m98u3ogzrkx8f5o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frm805m98u3ogzrkx8f5o.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now let us configure blob versioning, this will help us keep track of the different website product document versions.&lt;br&gt;
Go to the Overview blade of the storage account.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fajrroesa6gewftqmwpxv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fajrroesa6gewftqmwpxv.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
In the Properties section, locate the Blob service section.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwze5x7x2kls4ibafr6vi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwze5x7x2kls4ibafr6vi.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Select the Versioning setting.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxwe0b9x26add7rtzx1hy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxwe0b9x26add7rtzx1hy.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Ensure the Enable versioning for blobs checkbox is checked.&lt;br&gt;
Notice your options to keep all versions or delete versions after.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flekgj0zddt7lgd00fzf1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flekgj0zddt7lgd00fzf1.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Don’t forget to Save your changes.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo2qe8c6sdvlqm3anvu26.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo2qe8c6sdvlqm3anvu26.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you have time experiment with restoring previous blob versions.&lt;br&gt;
Upload another version of your container file. This overwrites your existing file.&lt;br&gt;
Your previous file version is listed on Show deleted blobs page.&lt;/p&gt;

&lt;p&gt;Now you have been able to create a storage account that has high availability on Microsoft Azure &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Creating Storage For Less Important Data On Azure With Simple Configuration Settings</title>
      <dc:creator>Raphael Olaniyi</dc:creator>
      <pubDate>Wed, 22 May 2024 03:17:36 +0000</pubDate>
      <link>https://dev.to/olaraph/creating-storage-for-less-important-data-on-azure-with-simple-configuration-settings-3b70</link>
      <guid>https://dev.to/olaraph/creating-storage-for-less-important-data-on-azure-with-simple-configuration-settings-3b70</guid>
      <description>&lt;p&gt;Create a resource group and a storage account.&lt;/p&gt;

&lt;p&gt;In the Azure portal, search for and select Resource Group then Select Create.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frp6gcsju4266ulx0qck1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frp6gcsju4266ulx0qck1.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
Give your resource group a name. For example, abioduntesting&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg5g5monpccpjufzmahs8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg5g5monpccpjufzmahs8.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select a region. &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbz6x9zum66701tcue1sq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbz6x9zum66701tcue1sq.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Review and create to validate the resource group.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0fzpw2l5nilkcpmdpsr3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0fzpw2l5nilkcpmdpsr3.png" alt=" " width="800" height="431"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Create to deploy the resource group.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fenau659lf34ekfc96tq9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fenau659lf34ekfc96tq9.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Your Resource group is ready &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnz06loplwheeqosk0j3j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnz06loplwheeqosk0j3j.png" alt=" " width="800" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CREATE AND DEPLOY STORAGE ACCOUNT &lt;br&gt;
In the Azure portal, search for and select Storage accounts.&lt;br&gt;
Select + Create.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fviram47w9ef5n4csvkpo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fviram47w9ef5n4csvkpo.png" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpwiitk66hb4kvv1q4z2b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpwiitk66hb4kvv1q4z2b.png" alt=" " width="800" height="418"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2tuavw0n63pq7v5j1p9d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2tuavw0n63pq7v5j1p9d.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the Basics tab, select your Resource group.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxrcuzmz2ntdltb9wcja6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxrcuzmz2ntdltb9wcja6.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Provide a Storage account name. The storage account name must be unique in Azure.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqz3d0xtkk1tpxfwsabja.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqz3d0xtkk1tpxfwsabja.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Set the Performance to Standard.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fknyhrz3bkwi6gqo9wk34.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fknyhrz3bkwi6gqo9wk34.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Review, and then Create.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F30pc8qlqiu8p4ac1s8q1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F30pc8qlqiu8p4ac1s8q1.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdjmm9lqzhfb2019x4ojo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdjmm9lqzhfb2019x4ojo.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wait for the storage account to deploy and then Go to resource.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcciqltnuetn81x3dqfy4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcciqltnuetn81x3dqfy4.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyutkl7fyq5ktfqzg76mw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyutkl7fyq5ktfqzg76mw.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Configure simple settings in the storage account.&lt;br&gt;
The data in this storage account doesn’t require high availability or durability. A lowest cost storage solution is desired.&lt;/p&gt;

&lt;p&gt;In your storage account, in the Data management section, select the Redundancy blade.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxodroasdyp2jyjzbrowu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxodroasdyp2jyjzbrowu.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select Locally-redundant storage (LRS) in the Redundancy drop-down.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwseoqfjuev39k07d0ynf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwseoqfjuev39k07d0ynf.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Be sure to Save your changes.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzhdrsizuj911dgqe01id.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzhdrsizuj911dgqe01id.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Refresh the page and notice the content only exists in the primary location.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmqjnb2xako7fsktiluld.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmqjnb2xako7fsktiluld.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The storage account should only accept requests from secure connections. &lt;br&gt;
In the Settings section, select the Configuration blade.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8g7b2rxc7ly4fy8g17fi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8g7b2rxc7ly4fy8g17fi.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ensure Secure transfer required is Enabled.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7cv0ckziaaabqnwn0dhu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7cv0ckziaaabqnwn0dhu.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Developers would like the storage account to use at least TLS version 1.2. &lt;br&gt;
In the Settings section, select the Configuration blade.&lt;br&gt;
Ensure the Minimal TLS version is set to Version 1.2.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6qnbr5odllh6548q067q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6qnbr5odllh6548q067q.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Until the storage is needed again, disable requests to the storage account.&lt;br&gt;
In the Settings section, select the Configuration blade.&lt;br&gt;
Ensure Allow storage account key access is Disabled.&lt;br&gt;
Be sure to Save your changes&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fufs87y66i6670xx5gfx0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fufs87y66i6670xx5gfx0.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ensure the storage account allows public access from all networks&lt;br&gt;
In the Security + networking section, select the Networking blade.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ntt8d74d1323fhwk5t4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ntt8d74d1323fhwk5t4.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ensure Public network access is set to Enabled from all networks.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftvgxj74079hdhsicl8fv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftvgxj74079hdhsicl8fv.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Be sure to Save your changes&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4v9oxowdebjszftb63e0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4v9oxowdebjszftb63e0.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Steps to Create a Virtual Machine in Azure Portal</title>
      <dc:creator>Raphael Olaniyi</dc:creator>
      <pubDate>Tue, 21 May 2024 23:09:50 +0000</pubDate>
      <link>https://dev.to/olaraph/steps-to-create-a-virtual-machine-in-azure-portal-14ne</link>
      <guid>https://dev.to/olaraph/steps-to-create-a-virtual-machine-in-azure-portal-14ne</guid>
      <description>&lt;p&gt;Create a free trial account in Azure ( a free trial account provides a subscription and $200 Azure credits which will be more than enough for the course ).&lt;br&gt;
Login to Azure Account (portal.azure.com).To access the Azure portal, we must provide our login credentials which includes our username and password.&lt;br&gt;
After login, In the "Search resources, services and docs" field, type “virtual machines”.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2narllitqrhkx8kbmac5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2narllitqrhkx8kbmac5.png" alt=" " width="800" height="417"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Alternatively, you can select Virtual machine by clicking on the hamburger icon and scrolling through till we get the virtual machine.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa06m6jkzyi0kys8ct8up.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa06m6jkzyi0kys8ct8up.png" alt=" " width="800" height="428"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;we can also get this by clicking on the create a resource button and typing virtual machine.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbkjyzwcciw0riur3ywkm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbkjyzwcciw0riur3ywkm.png" alt=" " width="800" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From the list of search results, click on the “Virtual machine” option.The best option would usually be grayed out.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhrl0om3cmn3mw3euvtpu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhrl0om3cmn3mw3euvtpu.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the “Create” button to start the virtual machine creation process.There is the option of two create buttons, click on either but from the options choose Create a virtual machine hosted by Azure.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc9k9434ujzfdatzsqava.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc9k9434ujzfdatzsqava.png" alt=" " width="800" height="445"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enter Project details this would be our subscription and resource group.Select the appropriate subscription and create a resource group by clicking the create resource group button and giving it a name or you select from an existing resource group &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb574vzhdwa8yxrxzg505.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb574vzhdwa8yxrxzg505.png" alt=" " width="800" height="415"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbnbzgbu1bbopon7ihs9i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbnbzgbu1bbopon7ihs9i.png" alt=" " width="800" height="424"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enter details about the virtual machine we’re creating. Provide information about our virtual machine, such as the name of the Virtual Machine, the operating system, size, and other configuration settings. Give the VM a name and choose either Ubuntu server 20.04 or Windows Server Datacenter -x64 G2, leave every other thing option as default.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faeiyqdz1epn8gqr4vgnq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faeiyqdz1epn8gqr4vgnq.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the region you want your virtual machine to be located &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsf0c4y7ve2qitwrkybwi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsf0c4y7ve2qitwrkybwi.png" alt=" " width="800" height="432"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the availability zone that you want.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0s9ka8v2m8zlsserkobx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0s9ka8v2m8zlsserkobx.png" alt=" " width="800" height="444"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fppaust88larj28uan91b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fppaust88larj28uan91b.png" alt=" " width="800" height="501"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select more than one zone if you want the Virtual machine to be highly available. &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2dvt5e1drd4rscqw8rs8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2dvt5e1drd4rscqw8rs8.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;br&gt;
Go to image and select any desired Operating system &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F52hot344l09osbkijbtu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F52hot344l09osbkijbtu.png" alt=" " width="800" height="426"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp0zl6xbkzfqwcdhrswbk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp0zl6xbkzfqwcdhrswbk.png" alt=" " width="800" height="417"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create an Administrator Account. We need to a username and a password in case we need to connect to the Virtual Machine&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd0m1oj3xaa9073ffoiu7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd0m1oj3xaa9073ffoiu7.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flw2trg0am8dtlbc7g4yl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flw2trg0am8dtlbc7g4yl.png" alt=" " width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the inbound port rule as SSH if we selected a Linux VM and RDP if it's a windows VM. This is needed just incase we want to connect to the virtual machine as it will allow IP address to connect to the VM created.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmyvsky5cz0quiv9awqiu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmyvsky5cz0quiv9awqiu.png" alt=" " width="800" height="427"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnssmp1znfk3o4sn2570x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnssmp1znfk3o4sn2570x.png" alt=" " width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Check the licensing. By default, this is unchecked, click the box to have it checked.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftbk66cjpl8rppswpz7cf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftbk66cjpl8rppswpz7cf.png" alt=" " width="800" height="416"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click “Next” till we get to boot diagnostics in the Monitoring tab, and click on “disable”.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgu8rncqp3pfmbrbmiq9i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgu8rncqp3pfmbrbmiq9i.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhxkql12ncnbbk44rzczr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhxkql12ncnbbk44rzczr.png" alt=" " width="800" height="477"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on “Review + Create” button, if the validation passes, the deployment will go on if not take not of any recommendation, fix and try again&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftup6vg7arv44385y0nzx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftup6vg7arv44385y0nzx.png" alt=" " width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Deployment of the Virtual Machine might take 3-5 minutes.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5i9h4i1c3jaqdriojl70.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5i9h4i1c3jaqdriojl70.png" alt=" " width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the virtual machine has been deployed, we can access it by clicking on the "Connect" button in the virtual machine blade in the Azure portal.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzyuaytcjoqz23e46sybe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzyuaytcjoqz23e46sybe.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click Native RDP and click on select and wait for configured sign to be displayed on the right hand side&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl9uy9pv1942l31zfw6ux.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl9uy9pv1942l31zfw6ux.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Download the RDP file&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1adem9icg4l6wxllob52.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1adem9icg4l6wxllob52.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Open the RDP file from  local computer &amp;amp; click on “connect”. Enter the Admin details created during the process of creating the VM. Click on the “connect” button displayed to initiate connection.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy7b12bvc7ag6cczwuagu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy7b12bvc7ag6cczwuagu.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Follow the prompt and on click continue.This would be the username and passwrd created for the Admin section.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5fa38ukd30dohl48i44x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5fa38ukd30dohl48i44x.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wait for the remote pc to be configured.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg18tnvrqp3af4c9xezsb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg18tnvrqp3af4c9xezsb.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Connection is successful, start using the virtual machine.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxide3qxxooshbd26b9y4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxide3qxxooshbd26b9y4.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to create Azure Resource Group</title>
      <dc:creator>Raphael Olaniyi</dc:creator>
      <pubDate>Tue, 21 May 2024 11:52:43 +0000</pubDate>
      <link>https://dev.to/olaraph/how-to-create-azure-resource-group-41kh</link>
      <guid>https://dev.to/olaraph/how-to-create-azure-resource-group-41kh</guid>
      <description>&lt;p&gt;The first thing you need to do is to login to the portal after you login with your Microsoft credentials then you will land on the Azure home, then click on Create on the home page.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftmbc1lt4q5znxf6eq2cq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftmbc1lt4q5znxf6eq2cq.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Then type resource group on the search&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwb5v0ml7uf3t09u740e5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwb5v0ml7uf3t09u740e5.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Then Click on Resource group icon&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flh2afuw88mx1074x3xcv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flh2afuw88mx1074x3xcv.png" alt=" " width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Then click Create&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu9e6b2zf835s0zpd1tez.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu9e6b2zf835s0zpd1tez.png" alt=" " width="800" height="432"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Then it will take you to the page where you will Create a resources group&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fegt791smyiooilqwq21l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fegt791smyiooilqwq21l.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Then you give the Resource group a name&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmslvlc36vcc3onaitmm3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmslvlc36vcc3onaitmm3.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Then you choose the region you want it to be located&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faxoxzpz5gdvxvl10gfh8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faxoxzpz5gdvxvl10gfh8.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Then click review and create, once it becomes green then it means validation passed&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvqdyocvftkq4cknzilmb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvqdyocvftkq4cknzilmb.png" alt=" " width="800" height="431"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Then click on create&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fck9wx2g73p21ssw0fzj9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fck9wx2g73p21ssw0fzj9.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Your resource group is ready&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fii4d8olvkdnao47f2kkp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fii4d8olvkdnao47f2kkp.png" alt=" " width="800" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
