<?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>Forem: Oluwaloseyi Oluwatofunmi Emmanuel</title>
    <description>The latest articles on Forem by Oluwaloseyi Oluwatofunmi Emmanuel (@tjasper).</description>
    <link>https://forem.com/tjasper</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2016684%2F080c9dcc-6fca-4f8b-8402-1bd57e71d5e5.jpeg</url>
      <title>Forem: Oluwaloseyi Oluwatofunmi Emmanuel</title>
      <link>https://forem.com/tjasper</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/tjasper"/>
    <language>en</language>
    <item>
      <title>Build and Manage Cloud Infrastructure with Terraform and AWS CLI</title>
      <dc:creator>Oluwaloseyi Oluwatofunmi Emmanuel</dc:creator>
      <pubDate>Fri, 28 Feb 2025 17:14:15 +0000</pubDate>
      <link>https://forem.com/tjasper/build-and-manage-cloud-infrastructure-with-terraform-and-aws-cli-2pc7</link>
      <guid>https://forem.com/tjasper/build-and-manage-cloud-infrastructure-with-terraform-and-aws-cli-2pc7</guid>
      <description>&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Introduction&lt;/li&gt;
&lt;li&gt;Prerequisites&lt;/li&gt;
&lt;li&gt;Step 1: Configure the AWS CLI&lt;/li&gt;
&lt;li&gt;Step 2: Create a Terraform Configuration File&lt;/li&gt;
&lt;li&gt;Step 3: Initialize Terraform&lt;/li&gt;
&lt;li&gt;Step 4: Plan, Format, and Validate Configuration&lt;/li&gt;
&lt;li&gt;Step 5: Create the Infrastructure (EC2 instance)&lt;/li&gt;
&lt;li&gt;Step 6: Inspect and Verify the EC2 Instance&lt;/li&gt;
&lt;li&gt;Step 7: Delete the EC2 Instance (After Use)&lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a id="intro"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;It is important to have efficient cloud infrastructure management because it enhances the scalability, reliability, and also reduces the cost. Terraform and AWS CLI are great tools that allow you to automate and simplify the cloud resource provisioning process. &lt;/p&gt;

&lt;p&gt;In this guide, we will guide you on how to set up an Amazon EC2 instance using Terraform and AWS CLI, how to define, deploy, and manage infrastructure as code. When you go through this tutorial, you will be able to set up an EC2 instance that is fully functional and be able to scale and automate the deployment process for future projects.&lt;/p&gt;




&lt;p&gt;&lt;a id="Prep"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;Before setting up an EC2 instance with Terraform and AWS CLI, ensure you have the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;An AWS Account&lt;/strong&gt; (&lt;a href="https://eu-north-1.signin.aws.amazon.com/oauth?client_id=arn%3Aaws%3Asignin%3A%3A%3Aconsole%2Fcanvas&amp;amp;code_challenge=VUoDdPovC5oRqI_Xp9ykp2CtU5jo7RtH-3tNU1WZ45M&amp;amp;code_challenge_method=SHA-256&amp;amp;response_type=code&amp;amp;redirect_uri=https%3A%2F%2Fconsole.aws.amazon.com%2Fconsole%2Fhome%3FhashArgs%3D%2523%26isauthcode%3Dtrue%26state%3DhashArgsFromTB_eu-north-1_8dea0e8745eeaae6" rel="noopener noreferrer"&gt;sign-in&lt;/a&gt; or &lt;a href="https://aws.amazon.com/free/?gclid=Cj0KCQiA8fW9BhC8ARIsACwHqYqS6EDyk09GUbxEvT1hGDvoJ5o_MLRxgBjc2FMZgwjAORZehPVLQEQaAsmhEALw_wcB&amp;amp;trk=99f831a2-d162-429a-9a77-a89f6b3bd6cd&amp;amp;sc_channel=ps&amp;amp;ef_id=Cj0KCQiA8fW9BhC8ARIsACwHqYqS6EDyk09GUbxEvT1hGDvoJ5o_MLRxgBjc2FMZgwjAORZehPVLQEQaAsmhEALw_wcB:G:s&amp;amp;s_kwcid=AL!4422!3!645125273267!e!!g!!aws%20free%20tier!19574556890!145779847112" rel="noopener noreferrer"&gt;sign-up&lt;/a&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AWS CLI Installed&lt;/strong&gt; (&lt;a href="https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html" rel="noopener noreferrer"&gt;Official documentation&lt;/a&gt;). Confirm installation by running the command below in your terminal:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws --version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Terraform Downloaded and Installed&lt;/strong&gt; (&lt;a href="https://developer.hashicorp.com/terraform/install" rel="noopener noreferrer"&gt;Terraform’s official site&lt;/a&gt;). Confirm installation by running the command below in your terminal:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;terraform --version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;A Code Editor and Terminal&lt;/strong&gt; (VS Code, Vim, or any code editor with a terminal). We would be using VS Code in this tutorial.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After setting all these up, we can start managing and automating your AWS EC2 instance or any other infrastructure! 🚀&lt;/p&gt;




&lt;p&gt;&lt;a id="step1"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Configure the AWS CLI
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;In your AWS account, click your &lt;strong&gt;Username&lt;/strong&gt; at the top-right. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Security Credencials&lt;/strong&gt;. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click the &lt;strong&gt;Create access key&lt;/strong&gt; button.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2Fzyz2h8n98uqt1uz6n23n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzyz2h8n98uqt1uz6n23n.png" alt="Access key" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Check the box&lt;/strong&gt; and click the &lt;strong&gt;Create access key&lt;/strong&gt; button, and then your keys will be created.&lt;/li&gt;
&lt;/ul&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%2F2jlb7hxg8jngmd3405ee.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2jlb7hxg8jngmd3405ee.png" alt="Access key" width="800" height="397"&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%2Fb6sz07i7edtbdwqq6vni.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb6sz07i7edtbdwqq6vni.png" alt="Successful" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open your &lt;strong&gt;VS code terminal&lt;/strong&gt; and enter the command below:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws configure
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Now enter your access key ID and secret key. &lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a id="step2"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Create a Terraform Configuration File
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Create a working directory with the command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir terraform-ec2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Ff17sor47mo9g018fylrb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff17sor47mo9g018fylrb.png" alt="Directory" width="598" height="532"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Change directory&lt;/strong&gt; into it with the command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd terraform-ec2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Create a &lt;strong&gt;Terraform file&lt;/strong&gt; to define the infrastructure (main.tf):
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;touch main.tf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Open &lt;code&gt;main.tf&lt;/code&gt; and paste in the configuration below, and save the file.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~&amp;gt; 4.16"
    }
  }

  required_version = "&amp;gt;= 1.2.0"
}

provider "aws" {
  region  = "us-west-2"
}

resource "aws_instance" "app_server" {
  ami           = "ami-830c94e3"
  instance_type = "t2.micro"

  tags = {
    Name = "ExampleAppServerInstance"
  }
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fah0guwp1gi8yqebyvni0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fah0guwp1gi8yqebyvni0.png" alt="Configuration" width="800" height="557"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a id="step3"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Initialize Terraform
&lt;/h2&gt;

&lt;p&gt;After the configuration has been created run the command below to initialize the directory:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;terraform init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fopiqphu8b6tks53kr087.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fopiqphu8b6tks53kr087.png" alt="Initialization" width="800" height="618"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This &lt;strong&gt;downloads and installs the AWS plugins&lt;/strong&gt; in the configuration&lt;/p&gt;




&lt;p&gt;&lt;a id="step4"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Plan, Format, and Validate Configuration
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Preview the configuration plan with the command below:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;terraform plan
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fvaohp8q98wb1hweliyy4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvaohp8q98wb1hweliyy4.png" alt="Preview plan" width="800" height="609"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Format to automatically update the configurations in the &lt;code&gt;terraform-ec2&lt;/code&gt; directory for readability and consistency with the command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;terraform fmt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Verify syntax and internal consistency of the configurations with the command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;terraform validate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fjrybgytammeaoq0ghc6k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjrybgytammeaoq0ghc6k.png" alt="Validate" width="800" height="553"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a id="step5"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Create the Infrastructure (EC2 instance)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Apply the configuration to create the EC2 instance with the command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;terraform apply
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fa127hmwslyq0847vs1tv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa127hmwslyq0847vs1tv.png" alt="Apply configuration" width="800" height="608"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enter &lt;strong&gt;yes&lt;/strong&gt; to confirm action.&lt;/li&gt;
&lt;/ul&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%2Ftwbfk0g7w2urrbqf58sx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftwbfk0g7w2urrbqf58sx.png" alt="Confirm application" width="800" height="610"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a id="step6"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: Inspect and Verify the EC2 Instance
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Inspect the current state of the Instance using the command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;terraform show
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2F6gdv7s2vfl59zh2e39dw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6gdv7s2vfl59zh2e39dw.png" alt="Inspect" width="800" height="545"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To verify the instance navigate to the &lt;strong&gt;AWS Management Console&lt;/strong&gt; in &lt;strong&gt;EC2 Dashboard&lt;/strong&gt;. Make sure you're in the right region &lt;code&gt;us-west-2&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&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%2Fh7ct34hley06x6zmtjrn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh7ct34hley06x6zmtjrn.png" alt="Verification" width="800" height="522"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a id="step7"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 7: Delete the EC2 Instance (After Use)
&lt;/h2&gt;

&lt;p&gt;For best practice, you can destroy the instance and resources with the command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;terraform destroy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fhyby7r4wxshiakuyamp9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhyby7r4wxshiakuyamp9.png" alt="Destroy" width="800" height="492"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enter &lt;strong&gt;yes&lt;/strong&gt; to confirm action.&lt;/li&gt;
&lt;/ul&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%2Fu9jsfh4kjckuoduz9n9f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu9jsfh4kjckuoduz9n9f.png" alt="Confirmation" width="800" height="589"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a id="end"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;After following all of these steps, you would have deployed an AWS EC2 instance with the use of Terraform and AWS CLI successfully. &lt;br&gt;
&lt;strong&gt;NOTE:&lt;/strong&gt; You can also &lt;em&gt;SSH into the instance&lt;/em&gt; as long as you have a &lt;em&gt;key pair associated&lt;/em&gt; with &lt;code&gt;ssh -i my-key.pem ec2-user@&amp;lt;instance-public-ip&amp;gt;&lt;/code&gt;.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Thank you for reading my blog.😊😊&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you need further assistance, feel free to reach out in the comment or hit me up on &lt;a href="https://x.com/seyi_jasper" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;. You can also follow me on &lt;a href="https://github.com/oluwaloseyiT" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. My DM's are open and love discussions on cloud topics!😁&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Oluwatofunmi Emmanuel Oluwaloseyi&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>terraform</category>
      <category>devops</category>
      <category>aws</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Understanding and Installing Terraform: A Beginner's Guide</title>
      <dc:creator>Oluwaloseyi Oluwatofunmi Emmanuel</dc:creator>
      <pubDate>Sun, 16 Feb 2025 21:01:01 +0000</pubDate>
      <link>https://forem.com/tjasper/understanding-and-installing-terraform-a-beginners-guide-dca</link>
      <guid>https://forem.com/tjasper/understanding-and-installing-terraform-a-beginners-guide-dca</guid>
      <description>&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;What is Terraform?&lt;/li&gt;
&lt;li&gt;Features of Terraform&lt;/li&gt;
&lt;li&gt;Step-by-Step Guide to Install Terraform on Windows&lt;/li&gt;
&lt;li&gt;Verify the installation&lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a id="intro"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Terraform?
&lt;/h2&gt;

&lt;p&gt;Terraform by HashiCorp is an open-source &lt;strong&gt;infrastructure as code (IaC)&lt;/strong&gt; tool that lets us define, manage, and automate cloud infrastructure using a declarative (human-readable) configuration language called &lt;strong&gt;HashiCorp Configuration Language (HCL)&lt;/strong&gt; across multiple cloud providers like Amazon Web Services (AWS), Azure, Google Cloud, and even on-premises data centers.&lt;/p&gt;




&lt;p&gt;&lt;a id="Features"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features of Terraform
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Manage any infrastructure:&lt;/strong&gt; Terraform can interact with cloud platforms and multiple providers such as AWS, Azure, Google Cloud, Kubernetes, VMware, GitHub, and many more to manage resources.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Standardize your deployment workflow:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Write Configuration&lt;/strong&gt; We Define infrastructure in &lt;code&gt;.tf&lt;/code&gt; files.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Initialize Terraform&lt;/strong&gt; Set up the working directory and download provider plugins by running &lt;code&gt;terraform init&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Terraform plan&lt;/strong&gt; Preview changes Terraform will make to match your configuration by running &lt;code&gt;terraform plan&lt;/code&gt;. This stimulates better control over your environment.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Terraform apply&lt;/strong&gt; Create or update infrastructure as defined. By simply running &lt;code&gt;terraform apply&lt;/code&gt;, you will be able to make the planned changes.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Collaboration:&lt;/strong&gt; With Terraforms remote state backends, you can securely share your state with your teammates and provide a stable environment for Terraform to run in.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Version Control:&lt;/strong&gt; You can connect Terraform to version control systems (VCSs) like GitHub, GitLab, and others, allowing you to manage changes to your infrastructure through version control, as you would with application code.&lt;/p&gt;




&lt;p&gt;&lt;a id="Install"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step-by-Step Guide to Install Terraform on Windows
&lt;/h2&gt;

&lt;p&gt;Setting up Terraform is straightforward. Follow the steps below to install it on your operating system.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open PowerShell on your windows PC.&lt;/li&gt;
&lt;li&gt;Install the Chocolatey software on your system with the code below
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fs03wpkwdoh2593nrapb0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs03wpkwdoh2593nrapb0.png" alt="Install Chocolatey" width="800" height="681"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Run the command below to install Terraform using Chocolatey.&lt;/li&gt;
&lt;li&gt;Then allow Chocolatey to run the installation by answering 'y'.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;choco install terraform
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2F9ohrymzrpv4quxzijcmp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ohrymzrpv4quxzijcmp.png" alt="Install Terraform" width="800" height="681"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a id="Verify"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Verify the installation
&lt;/h2&gt;

&lt;p&gt;After placing Terraform in the correct directory, verify the installation by running:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;terraform -help
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fbudathwq2w0l4qs9hbwy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbudathwq2w0l4qs9hbwy.png" alt="Verification" width="800" height="681"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;NOTE:&lt;/strong&gt; If you use other Operating systems or need other way to install visit the &lt;a href="https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli#install-cli" rel="noopener noreferrer"&gt;HashiCorp Terraform Installation page&lt;/a&gt; &lt;/p&gt;




&lt;p&gt;&lt;a id="end"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Understanding the fundamentals of Terraform and successfully installing it prepares you to begin managing infrastructure as code. Terraform's declarative approach, multi-cloud support, and automation capabilities make it an extremely useful tool for DevOps and cloud engineers. To fully realize Terraform's potential, experiment with writing configuration files and running deployments.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Thank you for reading my blog.😊😊&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you need further assistance, feel free to reach out in the comment or hit me up on &lt;a href="https://x.com/seyi_jasper" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;. You can also follow me on &lt;a href="https://github.com/oluwaloseyiT" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. My DM's are open and love discussions on cloud topics!😁&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Oluwatofunmi Emmanuel Oluwaloseyi&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>terraform</category>
      <category>devops</category>
      <category>tutorial</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>Effortless File Management: Setting Up AWS S3 Buckets and Presigned URLs</title>
      <dc:creator>Oluwaloseyi Oluwatofunmi Emmanuel</dc:creator>
      <pubDate>Wed, 11 Dec 2024 09:39:59 +0000</pubDate>
      <link>https://forem.com/tjasper/effortless-file-management-setting-up-aws-s3-buckets-and-presigned-urls-4jlk</link>
      <guid>https://forem.com/tjasper/effortless-file-management-setting-up-aws-s3-buckets-and-presigned-urls-4jlk</guid>
      <description>&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Introduction&lt;/li&gt;
&lt;li&gt;Prerequisites&lt;/li&gt;
&lt;li&gt;Step 1: Creating and Configuring S3 Bucket&lt;/li&gt;
&lt;li&gt;Step 2: Creating Folders&lt;/li&gt;
&lt;li&gt;Step 3: Uploading Files&lt;/li&gt;
&lt;li&gt;Step 4: Creating Presigned URLs&lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a id="intro"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Simple Storage Service&lt;/strong&gt; (S3) is a service on Amazon Web Services (AWS) that provides a robust solution for storing, organizing, and accessing files in the cloud. With S3, you can create scalable storage buckets, upload files, and manage access effortlessly. One of the standout features of AWS S3 is the ability to generate &lt;strong&gt;presigned URLs&lt;/strong&gt;, which allow temporary and secure access to files without exposing your bucket or file 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%2Fi4hn3mrcr6zlwyap8r4f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi4hn3mrcr6zlwyap8r4f.png" alt="S3" width="281" height="180"&gt;&lt;/a&gt;&lt;br&gt;
By the end of this guide, you’ll not only have a functional S3 bucket but also the knowledge to share files securely and optimize your storage management strategy. Let's dive in!&lt;/p&gt;




&lt;p&gt;&lt;a id="Prep"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Go to the &lt;a href="https://aws.amazon.com/console/" rel="noopener noreferrer"&gt;AWS management console&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sign up&lt;/strong&gt; if you don't already have an account.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sign in&lt;/strong&gt; to your account with your credentials.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkdkvsapa9ztbytijguzz.png" alt="Sign in" width="800" height="397"&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a id="step1"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Creating and Configuring S3 Bucket
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;After you're logged in, &lt;strong&gt;search S3 and select&lt;/strong&gt; the highlighted option.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpklif0xrvxv64r5vhjvq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpklif0xrvxv64r5vhjvq.png" alt="search S3" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on the &lt;strong&gt;Create bucket&lt;/strong&gt; 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%2Fyhg2wuywug9eedfib4tv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyhg2wuywug9eedfib4tv.png" alt="Create bucket" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Give the bucket a globally unique &lt;strong&gt;name&lt;/strong&gt; e.g., &lt;code&gt;tourism-s3&lt;/code&gt;. (You should go over the bucket naming rules.) &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can change the &lt;strong&gt;region&lt;/strong&gt; from the top right corner.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi5b9qse2ucko0yha9qi6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi5b9qse2ucko0yha9qi6.png" alt="Name and Region" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For security, we will &lt;strong&gt;block public access&lt;/strong&gt; to our bucket. (Uncheck the box is creating a public bucket.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Disable bucket &lt;strong&gt;versioning&lt;/strong&gt;. It can be enabled if you need multiple copies of a file stored in the bucket for retrieval purposes. &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F06xs76q9pztbts0jeaa9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F06xs76q9pztbts0jeaa9.png" alt="Access &amp;amp; Version" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Let's &lt;strong&gt;add a tag&lt;/strong&gt; for cost management. (Here &lt;code&gt;Name&lt;/code&gt; is the &lt;strong&gt;Key&lt;/strong&gt; and &lt;code&gt;tourism&lt;/code&gt; is the &lt;strong&gt;Value&lt;/strong&gt;.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For encryption and other settings we leave as default.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click the &lt;strong&gt;Create bucket&lt;/strong&gt; 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%2Ft0ftgicu42pizzyj4x1p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft0ftgicu42pizzyj4x1p.png" alt="Tags and other settings" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We successfully created a bucket. Click on the bucket to &lt;strong&gt;open&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%2F1qw5lu35u71jmbj8xf9n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1qw5lu35u71jmbj8xf9n.png" alt="Open bucket" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a id="step2"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Creating Folders
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Create folder&lt;/strong&gt; and let's create folders to store pictures, tables, &amp;amp; videos.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg84gujwnuk4l2x9fn5sc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg84gujwnuk4l2x9fn5sc.png" alt="Create folder" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Give the folder a &lt;strong&gt;name&lt;/strong&gt; &lt;code&gt;tour-pictures&lt;/code&gt; and click &lt;strong&gt;Create folder&lt;/strong&gt; to save.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F40g9j7ozcqucvq7zyug9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F40g9j7ozcqucvq7zyug9.png" alt="Picture folder" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a folder for tables and videos using the same steps.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr8logq8wtr3ikz5u1s6m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr8logq8wtr3ikz5u1s6m.png" alt="Table folder" width="800" height="397"&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%2Fc9yry12od5imxegylqea.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc9yry12od5imxegylqea.png" alt="Video folder" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We successfully created folders for different purposes.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmv5h3k9inv4b97qoisj0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmv5h3k9inv4b97qoisj0.png" alt="Folders Created" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a id="step3"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Uploading Files
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Open the &lt;code&gt;tour-pictures&lt;/code&gt; folder and click on &lt;strong&gt;Upload&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%2Fk66txzct0o8dufhum50z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk66txzct0o8dufhum50z.png" alt="Open tour-pictures" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Add files&lt;/strong&gt; and select an image.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftga9b326e3z0hbagzik6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftga9b326e3z0hbagzik6.png" alt="Image" width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;At the bottom right of the page, click &lt;strong&gt;Upload&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%2Ff7gsc2f142pfb31bq5j2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff7gsc2f142pfb31bq5j2.png" alt="Image upload" width="800" height="397"&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%2Fpxxg5dgskabpfnftpht1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpxxg5dgskabpfnftpht1.png" alt="Upload successful" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Let's upload a table as well. Open the &lt;code&gt;tour-tables&lt;/code&gt; folder and click &lt;strong&gt;Upload&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%2Fazh994csoisib0s8iopc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fazh994csoisib0s8iopc.png" alt="Table upload" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Add files&lt;/strong&gt; and select a table 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%2Fxdyuwhxl5typgfytrb1z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxdyuwhxl5typgfytrb1z.png" alt="Table" width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click Upload and notice you now have the table in your &lt;code&gt;tour-tables&lt;/code&gt; folder.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F93wbwi100nsn4ya41gmn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F93wbwi100nsn4ya41gmn.png" alt="Upload" width="800" height="397"&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%2F44wby2im77qz5z0ws2y1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F44wby2im77qz5z0ws2y1.png" alt="Successful" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a id="step4"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Creating Presigned URLs
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Open the image file Uploaded to &lt;code&gt;tour-pictures&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Object actions&lt;/strong&gt; at the top right.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the drop down select &lt;strong&gt;Share with a presigned URL&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%2Fxf201xv9qq7imtl3r3ts.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxf201xv9qq7imtl3r3ts.png" alt="Image file" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Set the &lt;strong&gt;Number of minutes or hours&lt;/strong&gt; you want the presigned URL to last for. Setting ours to 30 minutes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Create presigned URL&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%2Fw65vml6tzmczvz73sncs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw65vml6tzmczvz73sncs.png" alt="Configure the URL" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copy the presigned 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%2Fdp7il5lb5dilt0dh4q8q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdp7il5lb5dilt0dh4q8q.png" alt="Copy the URL" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Paste the URL in a browser to test it works.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzwv5cfn6g5o625qa0y17.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzwv5cfn6g5o625qa0y17.png" alt="AWS cloud muscles" width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now let's do the same for our table. Open the table file in &lt;code&gt;tour-tables&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Object actions&lt;/strong&gt; at the top right.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the drop down select &lt;strong&gt;Share with a presigned URL&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%2Fmogkzx07jwvc9fo545w0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmogkzx07jwvc9fo545w0.png" alt="Table file" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Just like the image, set the &lt;strong&gt;Number of minutes or hours&lt;/strong&gt; you want the presigned URL to last for. Setting it to 30 minutes here as well.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Create presigned URL&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%2Fsf5qcjm5hjb5w6r01iq4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsf5qcjm5hjb5w6r01iq4.png" alt="Configure URL" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copy the presigned 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%2Fsdvv3axxf4z0j042qu6z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsdvv3axxf4z0j042qu6z.png" alt="Copy URL" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Paste the URL in a browser to test it works (it should download the table file we 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%2Fgwu4ogk8ayeppgvrxcm3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgwu4ogk8ayeppgvrxcm3.png" alt="Table File testing" width="334" height="82"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a id="end"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;In this article, we created an AWS S3 bucket, organized files with folders, uploaded files, and generated presigned URLs for secure sharing. These steps make managing and sharing files in the cloud simple and secure.&lt;/p&gt;

&lt;p&gt;With these skills, you’re ready to use AWS S3 effectively and explore more advanced features for your cloud storage needs.&lt;/p&gt;

&lt;p&gt;Note: We can delete the S3 bucket after Use for cost-saving purposes&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select the S3 bucket and click delete.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvosdrlphgk5z11clinbj.png" alt="Delete S3 bucket" width="800" height="397"&gt;
&lt;/li&gt;
&lt;/ul&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%2Fvbkkvuycne9tvdh5v9n8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvbkkvuycne9tvdh5v9n8.png" alt="Delete S3 successful" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Thank you for reading my blog.😊😊&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you need further assistance, feel free to reach out in the comment or hit me up on &lt;a href="https://x.com/seyi_jasper" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;. You can also follow me on &lt;a href="https://github.com/oluwaloseyiT" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. My DM's are open and love discussions on cloud topics!😁&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;: Oluwatofunmi Emmanuel Oluwaloseyi&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>tutorial</category>
      <category>cloud</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Creating a Windows EC2 Instance on AWS and Installing IIS Server on it</title>
      <dc:creator>Oluwaloseyi Oluwatofunmi Emmanuel</dc:creator>
      <pubDate>Sun, 08 Dec 2024 17:06:54 +0000</pubDate>
      <link>https://forem.com/tjasper/creating-a-windows-ec2-instance-on-aws-and-installing-iis-server-on-it-k3m</link>
      <guid>https://forem.com/tjasper/creating-a-windows-ec2-instance-on-aws-and-installing-iis-server-on-it-k3m</guid>
      <description>&lt;p&gt;&lt;strong&gt;A&lt;/strong&gt;mazon &lt;strong&gt;W&lt;/strong&gt;eb &lt;strong&gt;S&lt;/strong&gt;ervices (AWS) provides one of the most robust and versatile cloud platforms, allowing organizations and individuals to deploy scalable and secure solutions. Of all the features AWS offers, &lt;strong&gt;Elastic Compute Cloud&lt;/strong&gt; (EC2) stands out as a powerful tool for launching and managing virtual servers. In this guide, I'll walk you through creating a Windows EC2 instance and setting it up as a web server using &lt;strong&gt;Internet Information Services&lt;/strong&gt; (IIS). Whether you're a cloud computing beginner or looking to expand your AWS skills, this tutorial will provide you with a hands-on approach to building a web server on the AWS cloud.&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%2F6twe558iaxhsq9rvldj8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6twe558iaxhsq9rvldj8.png" alt="EC2 instance" width="213" height="237"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's dive into the steps!&lt;/p&gt;




&lt;h2&gt;
  
  
  Step-by-Step Guide to Creating the Windows EC2 in AWS and installing the IIS server on it
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1: Create an AWS Free-Tier Account
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://aws.amazon.com/free/?gclid=Cj0KCQiApNW6BhD5ARIsACmEbkX61iwvrXKnMX0vV_HHJRs69MS7tVBRuwZronYlOQHN-vmKEzRApskaAqhvEALw_wcB&amp;amp;trk=99f831a2-d162-429a-9a77-a89f6b3bd6cd&amp;amp;sc_channel=ps&amp;amp;ef_id=Cj0KCQiApNW6BhD5ARIsACmEbkX61iwvrXKnMX0vV_HHJRs69MS7tVBRuwZronYlOQHN-vmKEzRApskaAqhvEALw_wcB:G:s&amp;amp;s_kwcid=AL!4422!3!645125273267!e!!g!!aws%20account!19574556890!145779847112&amp;amp;all-free-tier.sort-by=item.additionalFields.SortRank&amp;amp;all-free-tier.sort-order=asc&amp;amp;awsf.Free%20Tier%20Types=*all&amp;amp;awsf.Free%20Tier%20Categories=*all" rel="noopener noreferrer"&gt;Click here&lt;/a&gt; to navigate AWS and &lt;strong&gt;sign up&lt;/strong&gt; for a free-tier account today.&lt;/li&gt;
&lt;/ul&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%2F3qp47cuf2pkkg1pol5um.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3qp47cuf2pkkg1pol5um.png" alt="Sign up" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can watch this &lt;a href="https://youtu.be/SWS96bzhbUg?si=M3-ECNXM0QM0bH4l" rel="noopener noreferrer"&gt;Youtube video&lt;/a&gt; where the YouTuber demonstrates in details.&lt;/p&gt;

&lt;h3&gt;
  
  
  2: Login to AWS Account
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://signin.aws.amazon.com/signin?client_id=arn%3Aaws%3Asignin%3A%3A%3Aconsole%2Fcanvas&amp;amp;redirect_uri=https%3A%2F%2Fconsole.aws.amazon.com%2Fconsole%2Fhome%3FhashArgs%3D%2523%26isauthcode%3Dtrue%26nc2%3Dh_ct%26src%3Dheader-signin%26state%3DhashArgsFromTB_eu-north-1_b4877b84c077eff0&amp;amp;page=resolve&amp;amp;code_challenge=Cv2AJ5H5NIYCAfOs0Dp42eEMBvwUg4z-wVcAqcy2FSc&amp;amp;code_challenge_method=SHA-256&amp;amp;backwards_compatible=true" rel="noopener noreferrer"&gt;Sign in&lt;/a&gt; to the AWS account as &lt;em&gt;Root user&lt;/em&gt; with your credentials (Mail and Password).&lt;/li&gt;
&lt;/ul&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%2Frkagoosp9rro3zh93wem.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frkagoosp9rro3zh93wem.png" alt="Sign in" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3: Search and select EC2 Instance
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;After signing in successfully, search EC2 in the search bar and select the first option.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frw4447rt3as3tj5tn9n1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frw4447rt3as3tj5tn9n1.png" alt="Search EC2" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;launch instance&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%2Fe5p2vroo2aas5mdmd8yr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe5p2vroo2aas5mdmd8yr.png" alt="launch instance" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4: Configure the EC2 Instance
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Give the EC2 instance a &lt;strong&gt;name&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We can also add additional &lt;strong&gt;tags&lt;/strong&gt; like department, city, e.t.c. (optional).&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm5tqa3zxe0l9rajqqd36.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm5tqa3zxe0l9rajqqd36.png" alt="Name &amp;amp; tags" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Windows&lt;/strong&gt; as the AMI (Amazon Machine Image).&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7q30p0mx4ny5vue0hqf1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7q30p0mx4ny5vue0hqf1.png" alt="Amazon Machine Image" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;t3.micro&lt;/strong&gt; as the instance type.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Create a new key pair&lt;/strong&gt;, give it a &lt;strong&gt;name&lt;/strong&gt; and 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%2F9ewkiz3ycge1vuui5o1s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ewkiz3ycge1vuui5o1s.png" alt="Type and key pair" width="800" height="397"&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%2Fs87bb7qyh95pcs9mv5kl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs87bb7qyh95pcs9mv5kl.png" alt="Key pair" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It gets downloaded automatically on the computer.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjczmwebdpojft2e7bmka.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjczmwebdpojft2e7bmka.png" alt="Key pair download" width="334" height="82"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the &lt;strong&gt;Network settings&lt;/strong&gt;, select &lt;strong&gt;HTTP&lt;/strong&gt; so the IP can be accessible on the web.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F061lbfrdczpjse2fvfu2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F061lbfrdczpjse2fvfu2.png" alt="Network settings" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We can also change the &lt;strong&gt;storage&lt;/strong&gt; assigned and the &lt;strong&gt;region&lt;/strong&gt; from the top right corner.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Leave all other things as default and &lt;strong&gt;launch instance&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%2Fbkivg9849n83sl422d3m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbkivg9849n83sl422d3m.png" alt="Storage &amp;amp; Region" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5: Connect to the EC2 Instance
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Open the instance from the &lt;strong&gt;ID&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%2F831yv6ei1diszegdw5cn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F831yv6ei1diszegdw5cn.png" alt="Open instance" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select the instance created and click &lt;strong&gt;Connect&lt;/strong&gt;. The instance state should indicate &lt;strong&gt;Running&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%2Fqb7n6z6odhdv4bwl4dus.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqb7n6z6odhdv4bwl4dus.png" alt="Connect &amp;amp; Instance state" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;RDP client&lt;/strong&gt; section and click &lt;strong&gt;Get password&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%2Fkq2kzxxq9hapy4vuummz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkq2kzxxq9hapy4vuummz.png" alt="RDP client" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Upload the key pair&lt;/strong&gt; downloaded earlier, then click &lt;strong&gt;Decrypt password&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%2F9hpd2gv84bu2klgkeu7f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9hpd2gv84bu2klgkeu7f.png" alt="Upload the key pair" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copy the password, then download the &lt;strong&gt;Remote desktop file&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%2Fmyodyo9x1eam17tv99te.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmyodyo9x1eam17tv99te.png" alt="Remote desktop file" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Open the RDP file and connect &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3rr1p4vnl6v9ny3kr5ki.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3rr1p4vnl6v9ny3kr5ki.png" alt="Open RDP" width="328" height="75"&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%2Fk3eswscp2k2ucnb5n55g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk3eswscp2k2ucnb5n55g.png" alt="Connect" width="542" height="287"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enter the password copied from earlier.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fko6rtebasid89vqw838r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fko6rtebasid89vqw838r.png" alt="Password" width="456" height="387"&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%2Fpwvklupmebvyv5ww9v1t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpwvklupmebvyv5ww9v1t.png" alt="EC2 instance" width="800" height="449"&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%2Fr77j9ikbgm0sgbtw18sq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr77j9ikbgm0sgbtw18sq.png" alt="EC2 instance" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  6: Install Internet Information Services (IIS) server
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Search &lt;strong&gt;Powershell&lt;/strong&gt; in the EC2 instance and &lt;strong&gt;Run as administrator&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%2Ff113o2wkpmixhlyvpw6o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff113o2wkpmixhlyvpw6o.png" alt="Powershell" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Enter the command&lt;/strong&gt; below in the Windows PowerShell to install the IIS server.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Install-WindowsFeature -Name Web-Server -IncludeManagementTools
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2F04t3lxvpefwqx1w9g4ch.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F04t3lxvpefwqx1w9g4ch.png" alt="Install the IIS server" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Wait for the server to install completely.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftquldud6vrk2bw004d72.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftquldud6vrk2bw004d72.png" alt="Installing" width="800" height="449"&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%2Fcb75utvxeutbs8n37t3g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcb75utvxeutbs8n37t3g.png" alt="Success" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copy the &lt;strong&gt;Public IP address&lt;/strong&gt; and open in a browser, and we should see the Windows 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%2F6gaq4sl2q1ts6y5npi6j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6gaq4sl2q1ts6y5npi6j.png" alt="Public IP address" width="800" height="397"&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%2Frqvfhpe25761m8f6yxkb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frqvfhpe25761m8f6yxkb.png" alt="Windows Server" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If you are having trouble opening the IP in the bowser, go to settings in the instance and navigate Edit Inbound rules, and make sure the HTTP is associated with the IP.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnx80uclpkzk0mn0mshk4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnx80uclpkzk0mn0mshk4.png" alt="In case" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;By following the steps outlined in this article, you’ve successfully launched a Windows EC2 instance on AWS and installed the IIS web server on it. Our setup not only demonstrates the power and flexibility of AWS but also serves as a foundation for hosting web applications in the cloud. With your IIS server up and running, you’re ready to explore further configurations, deploy websites, or scale your instance to meet growing demands.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Thank you for reading my blog.😊😊&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you need further assistance, feel free to reach out in the comment or hit me up on &lt;a href="https://x.com/seyi_jasper" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;. You can also follow me on &lt;a href="https://github.com/oluwaloseyiT" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. My DM's are open and love discussions on cloud topics!😁&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;: Oluwatofunmi Emmanuel Oluwaloseyi&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>tutorial</category>
      <category>ec2</category>
    </item>
    <item>
      <title>SQL: A Guide to Create a Relational Database with SQLite (and Export to Excel)</title>
      <dc:creator>Oluwaloseyi Oluwatofunmi Emmanuel</dc:creator>
      <pubDate>Wed, 04 Dec 2024 10:14:25 +0000</pubDate>
      <link>https://forem.com/tjasper/sql-database-a-guide-to-create-an-sql-table-with-sqlite-3c03</link>
      <guid>https://forem.com/tjasper/sql-database-a-guide-to-create-an-sql-table-with-sqlite-3c03</guid>
      <description>&lt;p&gt;SQL (&lt;strong&gt;S&lt;/strong&gt;tructured &lt;strong&gt;Q&lt;/strong&gt;uery &lt;strong&gt;L&lt;/strong&gt;anguage), which could also be pronounced as &lt;strong&gt;sequal&lt;/strong&gt;, is a programming language used to manage and manipulate data stored in a relational database management system. SQL syntax is similar to the English language, which makes it relatively easy to write, read, and interpret. This guide will walk you through creating an SQL table using SQLite and exporting the table data to an Excel spreadsheet.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is SQLite?
&lt;/h2&gt;

&lt;p&gt;SQLite is a popular open-source SQL database. Unlike other database systems such as MySQL or PostgreSQL, SQLite can store an entire database in a single file. One of the most significant advantages it provides is that all of the data can be stored locally without having to connect your database to a server. SQLite is commonly used in mobile apps, desktop applications, and websites.&lt;/p&gt;




&lt;h3&gt;
  
  
  Setting Up SQLite
&lt;/h3&gt;

&lt;p&gt;Before we dive into creating a table, you need to have SQLite installed on your system. Here’s how you can get started:&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Install SQLite
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Download the precompiled binaries of your operating system from the SQLite website: &lt;a href="https://www.sqlite.org/download.html" rel="noopener noreferrer"&gt;Download here&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%2Fm8so1qzqo3c87hwdc11o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm8so1qzqo3c87hwdc11o.png" alt="Download SQLite" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Unzip into a folder &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3yc1cy3dwiyopo352jqh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3yc1cy3dwiyopo352jqh.png" alt="Unzip" width="712" height="374"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2. Access SQLite
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Open your terminal or command prompt.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh00jz15f0uljmd7o4or1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh00jz15f0uljmd7o4or1.png" alt="command prompt" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To start the SQLite command-line interface, type &lt;code&gt;sqlite3&lt;/code&gt; followed by the name of your database file. If the file does not exist, SQLite will create it for you.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sqlite3 Database_file.db

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;This command opens the &lt;code&gt;Database_file.db&lt;/code&gt; database (or creates it if it doesn't exist).
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fac1xnwc250fl3ici7at1.png" alt="SQLite command-line interface" width="800" height="418"&gt;
&lt;/li&gt;
&lt;li&gt;Enter &lt;code&gt;.help&lt;/code&gt; to browse commands usage hints.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 1: Creating a Table in SQLite
&lt;/h3&gt;

&lt;p&gt;Once you're inside SQLite, the first step is to create a table. A table is the structure that stores your data, consisting of rows (records) and columns (fields). We will be creating a table for tourist database records.&lt;/p&gt;

&lt;p&gt;Here’s the basic SQL syntax to create a table:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLE table_name (
  column1 datatype,
  column2 datatype,
  ...
);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In SQLite, the most common datatypes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;INTEGER&lt;/strong&gt; for integer values&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TEXT&lt;/strong&gt; for text strings&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;REAL&lt;/strong&gt; for floating-point values&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DATE&lt;/strong&gt; for date values in the format of (&lt;strong&gt;yyyy-MM-dd&lt;/strong&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's create the table to store information about the tourists.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLE Tourists (
  ID INTEGER,
  Name TEXT,
  Age INTEGER,
  Destination TEXT,
  Departure DATE
);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fumypzhs47yjwkrg291nn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fumypzhs47yjwkrg291nn.png" alt="CREATE TABLE" width="357" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Inserting Data into the Table
&lt;/h3&gt;

&lt;p&gt;Once the table is created, you can insert data into it. The SQL command to insert data into a table is as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let’s insert a few records into our &lt;code&gt;Tourists&lt;/code&gt; table:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;INSERT INTO Tourists (ID, Name, Age, Destination, Departure)
VALUES (1, 'James Stone', 35, 'Califonia', '2024-12-15');
INSERT INTO Tourists (ID, Name, Age, Destination, Departure)
VALUES (2, 'Steve Jones', 29, 'Florida', '2024-12-20');
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can also insert multiple records in one go using multiple &lt;code&gt;VALUES&lt;/code&gt; clauses:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;INSERT INTO Tourists (ID, Name, Age, Destination, Departure)
VALUES (3, 'Jack Cage', 33, 'New York', '2024-12-20'),
(4, 'Mark Tyson', 56, 'New York', '2024-12-29'),
(5, 'John Dep', 50, 'Texas','2025-01-08'),
(6, 'James Brook', 45, 'Texas','2025-01-10');

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fcshzjv1r2odygoa1nrqo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcshzjv1r2odygoa1nrqo.png" alt="INSERT INTO Tourists" width="653" height="327"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Viewing the Data
&lt;/h3&gt;

&lt;p&gt;Once you've inserted data, you can retrieve it using a simple SELECT query:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT * FROM Tourists;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This query retrieves all rows and columns from the &lt;code&gt;Tourists&lt;/code&gt; table.&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%2Fmy9vqlhuj1zi5dlj4wxt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmy9vqlhuj1zi5dlj4wxt.png" alt="Viewing the Data" width="368" height="177"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Updating Data
&lt;/h3&gt;

&lt;p&gt;To modify existing data, you can use the &lt;code&gt;UPDATE&lt;/code&gt; statement:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;UPDATE Tourists
SET Name = 'Johnny Dep'
WHERE ID = 5;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With this, we updated John Dep's name to 'Johnny Dep'.&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%2F022z34widio8nvmw4x9r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F022z34widio8nvmw4x9r.png" alt="Updating Data" width="365" height="208"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: Deleting Data
&lt;/h3&gt;

&lt;p&gt;To remove records, use the &lt;code&gt;DELETE&lt;/code&gt; statement:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DELETE FROM Tourists
WHERE ID = 6;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command deletes the tourist named James Brook from the &lt;code&gt;Tourists&lt;/code&gt; table.&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%2Fro0tulqkfij05chzt1q8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fro0tulqkfij05chzt1q8.png" alt="Deleting Data" width="359" height="183"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 6: Altering Data in the Table
&lt;/h3&gt;

&lt;p&gt;To make changes to an existing table, we use the &lt;code&gt;ALTER&lt;/code&gt; statement:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ALTER TABLE Tourists
ADD COLUMN Phone INTEGER;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command adds a new column &lt;code&gt;Phone&lt;/code&gt; to the table.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;NULL&lt;/code&gt; is a special value in SQL that represents missing or unknown data. Here, the rows that existed before the column was added have &lt;code&gt;NULL&lt;/code&gt; (∅) values for &lt;code&gt;Phone&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now let's update the &lt;code&gt;Phone&lt;/code&gt; column created using the &lt;code&gt;UPDATE&lt;/code&gt; statement.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;UPDATE Tourists
SET Phone = 09011111111
WHERE ID = 1;
UPDATE Tourists
SET Phone = 08022222222
WHERE ID = 2;
UPDATE Tourists
SET Phone = 07033333333
WHERE ID = 3;
UPDATE Tourists
SET Phone = 08011111111
WHERE ID = 4;
UPDATE Tourists
SET Phone = 09022222222
WHERE ID = 5;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fp5wyzbrr5tdun9u12nf5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp5wyzbrr5tdun9u12nf5.png" alt="Altering Data" width="605" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 7: Exporting the Table
&lt;/h3&gt;

&lt;p&gt;SQLite allows this by exporting data to a CSV (&lt;strong&gt;Comma-Separated Values&lt;/strong&gt;) file, which can be opened directly in Excel for further analysis or reporting.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add the headers i.e. column names
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.headers on
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Set the Output Mode to CSV with the command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.mode csv
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Set the Output File you want to export.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.output Tourists.csv
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Run a &lt;code&gt;SELECT&lt;/code&gt; query to fetch the data you want to export.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT * FROM Tourists;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Reset the output back to the terminal and quit SQLite:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.output stdout
.quit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2F0yorvft4o07764x64dup.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0yorvft4o07764x64dup.png" alt="Exporting" width="429" height="259"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Locate the &lt;code&gt;Tourists.csv&lt;/code&gt; file and open it in Excel. Alternatively, open Excel, go to File &amp;gt; Open, and select the CSV file.&lt;/li&gt;
&lt;/ul&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%2Fk4i1dyb5irnggdf9rq2j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk4i1dyb5irnggdf9rq2j.png" alt="Excel" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;SQLite is an easy-to-use and lightweight database engine, perfect for applications where simplicity and portability are key. In this guide, we covered how to create a table, insert data, and export the table data to an Excel-compatible CSV file. This makes it easier to share and analyze data outside the SQLite environment.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Thank you for reading my blog.😊😊&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you need further assistance, feel free to reach out in the comment or hit me up on &lt;a href="https://x.com/seyi_jasper" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;. You can also follow me on &lt;a href="https://github.com/oluwaloseyiT" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. My DM's are open and love discussions on cloud topics!😁&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;: Oluwatofunmi Emmanuel Oluwaloseyi&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>database</category>
      <category>sql</category>
      <category>softwaredevelopment</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How to Create and Configure Virtual Network in Azure</title>
      <dc:creator>Oluwaloseyi Oluwatofunmi Emmanuel</dc:creator>
      <pubDate>Wed, 27 Nov 2024 04:27:03 +0000</pubDate>
      <link>https://forem.com/tjasper/how-to-create-and-configure-virtual-network-in-azure-551</link>
      <guid>https://forem.com/tjasper/how-to-create-and-configure-virtual-network-in-azure-551</guid>
      <description>&lt;h2&gt;
  
  
  What is a Virtual Network?
&lt;/h2&gt;

&lt;p&gt;A Virtual Network (VNet) in Azure is a logically isolated network that &lt;strong&gt;provides secure communication between resources&lt;/strong&gt; like virtual machines, databases, and other services in the cloud. It allows you to define IP address ranges, subnets, and network configurations, enabling private communication within the VNet or with on-premises networks through VPN or ExpressRoute. VNets are essential for organizing, securing, and connecting resources in Azure.&lt;/p&gt;

&lt;p&gt;Azure Virtual Network Peering and subnets are essential for building secure, connected, and scalable cloud environments. &lt;strong&gt;Virtual Network Peering&lt;/strong&gt; enables seamless communication between Azure virtual networks, while &lt;strong&gt;subnets&lt;/strong&gt; allow you to segment and organize your network for better management and security. &lt;/p&gt;

&lt;p&gt;In this guide, we’ll walk you through the steps to create and configure both, ensuring your Azure networking setup is optimized for your workloads.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tasks
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Create virtual networks.&lt;/li&gt;
&lt;li&gt;Create subnets.&lt;/li&gt;
&lt;li&gt;Configure virtual network peering.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Architecture diagram
&lt;/h3&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%2Fywus6xlqj29cuvj5xmc6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fywus6xlqj29cuvj5xmc6.png" alt="Architecture diagram" width="800" height="352"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Steps:
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Create hub and spoke virtual networks and subnets
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Sign in to the &lt;a href="https://portal.azure.com" rel="noopener noreferrer"&gt;Azure portal&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Search for and select &lt;strong&gt;Virtual Networks&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%2F38peiw1as5f53o7p52dl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F38peiw1as5f53o7p52dl.png" alt="Virtual Networks" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&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%2Fenuc05ih64u6hm3tyape.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fenuc05ih64u6hm3tyape.png" alt="+ Create" width="800" height="407"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Assign to a Resource group &lt;strong&gt;RG11&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Set the name as &lt;code&gt;app-vnet&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Region to &lt;strong&gt;East US&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%2Frlyg70rvs7je6dtt11h9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frlyg70rvs7je6dtt11h9.png" alt="configuration" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The &lt;strong&gt;IPv4 address space&lt;/strong&gt; is &lt;strong&gt;10.1.0.0/16&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;This virtual network requires two subnets, &lt;code&gt;frontend&lt;/code&gt; and &lt;code&gt;backend&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Set the &lt;strong&gt;Subnet address range&lt;/strong&gt; of the &lt;strong&gt;frontend&lt;/strong&gt; subnet to &lt;strong&gt;10.1.0.0/24&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Add&lt;/strong&gt; to save.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fypn24mhz22azqrudbpur.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fypn24mhz22azqrudbpur.png" alt="frontend subnet" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Add a subnet&lt;/strong&gt; for the &lt;strong&gt;backend&lt;/strong&gt; subnet.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Set the &lt;strong&gt;Subnet address range&lt;/strong&gt; to &lt;strong&gt;10.1.1.0/24&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Add&lt;/strong&gt; to save.&lt;br&gt;
&lt;strong&gt;Note&lt;/strong&gt;:Leave all other settings as their defaults. When finished, select &lt;strong&gt;Review + create&lt;/strong&gt; and then &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%2Fsqa0qiim833dti4db89m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsqa0qiim833dti4db89m.png" alt="backend subnet" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2Fy2u8iu4s3mq3q4vl1n9m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy2u8iu4s3mq3q4vl1n9m.png" alt="+ create" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Create the Hub-vnet virtual network configuration. This virtual network has the firewall subnet.
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Search for and select &lt;strong&gt;Virtual Networks&lt;/strong&gt; again.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;+ Create&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Assign to the same &lt;strong&gt;Resource group&lt;/strong&gt; as app-vnet &lt;strong&gt;RG11&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Set the &lt;strong&gt;Name&lt;/strong&gt; as &lt;code&gt;hub-vnet&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Region&lt;/strong&gt; to &lt;strong&gt;East US&lt;/strong&gt; as well.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Next&lt;/strong&gt; to the &lt;strong&gt;IP addresses&lt;/strong&gt; section.&lt;/li&gt;
&lt;/ul&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%2Fitcmqf9w5vhj0f5l9n5c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fitcmqf9w5vhj0f5l9n5c.png" alt="Hub-vnet virtual network" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The IPv4 address space is &lt;strong&gt;10.0.0.0/16&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Add a subnet&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Name the subnet &lt;strong&gt;AzureFirewallSubnet&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Set the &lt;strong&gt;Subnet address range&lt;/strong&gt; to &lt;strong&gt;10.0.0.0/26&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add&lt;/strong&gt; to save.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Review + create&lt;/strong&gt; and then &lt;strong&gt;Create&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&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%2Fzdusp3uet1pi451rfbde.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzdusp3uet1pi451rfbde.png" alt="firewall subnet" width="800" height="397"&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%2F23l38qveu090jl6rn3ep.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F23l38qveu090jl6rn3ep.png" alt="Create" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Configure a peer relationship between the virtual networks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Search for and select the &lt;code&gt;app-vnet&lt;/code&gt; virtual network.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the &lt;strong&gt;Settings&lt;/strong&gt; blade, select &lt;strong&gt;Peerings&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;+ Add&lt;/strong&gt; a peering between the two virtual networks.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2Fzi51hde47rqeoprwzf73.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzi51hde47rqeoprwzf73.png" alt="Peerings" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set the &lt;strong&gt;Remote peering link name&lt;/strong&gt; to &lt;code&gt;app-vnet-to-hub&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Virtual network&lt;/strong&gt; peered to &lt;code&gt;hub-vnet&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&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%2Fahuelp8dtb9agud96crk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fahuelp8dtb9agud96crk.png" alt="Remote peering link name" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set the local virtual network &lt;strong&gt;peering link name&lt;/strong&gt; to &lt;code&gt;hub-to-app-vnet&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Leave all other settings as their defaults.&lt;/li&gt;
&lt;li&gt;Select *&lt;em&gt;Add&lt;/em&gt; to create the virtual network peering.&lt;/li&gt;
&lt;/ul&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%2Figxxmuair5sqsimd3s9z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Figxxmuair5sqsimd3s9z.png" alt="Create the virtual network peering" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Once the deployment completes, verify the &lt;strong&gt;Peering status&lt;/strong&gt; is &lt;strong&gt;Connected&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&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%2Fymvblzsgs74zwgthfjm6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fymvblzsgs74zwgthfjm6.png" alt="Peering status" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;With this step-by-step guide, you have now successfully created virtual networks, subnets, and peer two virtual networks, which helps to manage the Vnet better and secure communication between networks and their resources.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Thank you for reading my blog.😊😊&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you need further assistance, feel free to reach out in the comment or hit me up on &lt;a href="https://x.com/seyi_jasper" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;. You can also follow me on &lt;a href="https://github.com/oluwaloseyiT" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. My DM's are open and love discussions on cloud topics!😁&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;: Oluwatofunmi Emmanuel Oluwaloseyi&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>networking</category>
      <category>azure</category>
      <category>devops</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Azure VM Scale Set #Part 3: How to Create a Virtual Machine scale set in Azure</title>
      <dc:creator>Oluwaloseyi Oluwatofunmi Emmanuel</dc:creator>
      <pubDate>Fri, 22 Nov 2024 15:43:51 +0000</pubDate>
      <link>https://forem.com/tjasper/azure-vm-scale-set-part-3-how-to-create-a-virtual-machine-scale-set-in-azure-co5</link>
      <guid>https://forem.com/tjasper/azure-vm-scale-set-part-3-how-to-create-a-virtual-machine-scale-set-in-azure-co5</guid>
      <description>&lt;p&gt;In the first two parts of this series, we connected to a Windows VM, added a data disk, and captured a reusable image with Azure Compute Gallery. Now, in Part 3, we’ll use that custom image to create a Virtual Machine Scale Set (VMSS), enabling scalable, load-balanced deployments to meet dynamic workload demands efficiently.&lt;/p&gt;

&lt;p&gt;An important concept of VMSS is an &lt;strong&gt;Azure load balancer&lt;/strong&gt;; it distributes incoming traffic to a pool of VMs or VM instances. It is always automatically configured in Azure VMSS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Go over the other parts of the series before this.&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%2F1s94karmvy1n2a69vbyn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1s94karmvy1n2a69vbyn.png" alt="VMSS" width="468" height="340"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's dive into the VMSS setup! &lt;/p&gt;




&lt;h2&gt;
  
  
  Part 3: How to Create a Virtual Machine scale set in Azure
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;In the VM image created, click the &lt;strong&gt;+ Create VMSS&lt;/strong&gt; 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%2Ff7b0wzey1fsmj7iijprp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff7b0wzey1fsmj7iijprp.png" alt="Create VMSS" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Give the VMSSS a &lt;strong&gt;Name&lt;/strong&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In &lt;strong&gt;orchestration mode&lt;/strong&gt;, select &lt;strong&gt;Flexibile&lt;/strong&gt; &lt;br&gt;
&lt;strong&gt;Note:&lt;/strong&gt; In &lt;strong&gt;flexibility&lt;/strong&gt; mode, you manually create and add a VM of any configuration to the scale set. While in &lt;strong&gt;uniform&lt;/strong&gt; mode, you define a VM model, and Azure will generate identical instances based on that model.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Leave everything else as default&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on &lt;strong&gt;Review and 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%2Fzf1ashyiccoy6rplc8n6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzf1ashyiccoy6rplc8n6.png" alt="Review and create" width="800" height="513"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2Fznwnb4bg4p5vhxw4w5pw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fznwnb4bg4p5vhxw4w5pw.png" alt="Review and create" width="800" height="576"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click &lt;strong&gt;Go to resource&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%2F20vne69uum1qr25svze0.png" alt="Go to resource" width="800" height="476"&gt;
&lt;/li&gt;
&lt;/ul&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%2F4xnylutc9r2onunqblis.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4xnylutc9r2onunqblis.png" alt="VMSS" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to &lt;strong&gt;Availability + scale&lt;/strong&gt; section&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Scaling&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Set the &lt;strong&gt;Instance count&lt;/strong&gt; to the number of VMs you want to Create&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Save&lt;/strong&gt; the configuration &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F05amo5ucprdirv13qula.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F05amo5ucprdirv13qula.png" alt="Scaling the VMSS" width="800" height="466"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Confirm the VMs are running&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmebmxxv33i30vdr7ubjo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmebmxxv33i30vdr7ubjo.png" alt="VMSS running" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Conclusion:
&lt;/h3&gt;

&lt;p&gt;With this final step, you've successfully created a Virtual Machine Scale Set using a custom image from Azure Compute Gallery, building on the foundational tasks of connecting to a VM, adding a data disk, and capturing a reusable image. Your scalable, load-balanced infrastructure is now ready to handle dynamic workloads efficiently, completing the journey toward optimizing your Azure environment.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Thank you for reading my blog.😊😊&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you need further assistance, feel free to reach out in the comment or hit me up on &lt;a href="https://x.com/seyi_jasper" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;. You can also follow me on &lt;a href="https://github.com/oluwaloseyiT" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. My DM's are open and love discussions on cloud topics!😁&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;: Oluwatofunmi Emmanuel Oluwaloseyi&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>azure</category>
      <category>virtualmachine</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Azure VM Scale Set #Part 2: How to Capture the image of a VM with Azure Compute Gallery</title>
      <dc:creator>Oluwaloseyi Oluwatofunmi Emmanuel</dc:creator>
      <pubDate>Fri, 22 Nov 2024 10:39:59 +0000</pubDate>
      <link>https://forem.com/tjasper/azure-vm-scale-set-part-2-how-to-capture-the-image-of-a-vm-with-azure-compute-gallery-4m31</link>
      <guid>https://forem.com/tjasper/azure-vm-scale-set-part-2-how-to-capture-the-image-of-a-vm-with-azure-compute-gallery-4m31</guid>
      <description>&lt;p&gt;Capturing a virtual machine image is a crucial step in creating reusable, standardized deployments in Azure. In this second part of our Azure VM Scale Set series, we’ll walk you through the process of capturing a VM image using Azure Compute Gallery. This ensures consistency and efficiency when scaling your infrastructure or deploying identical VMs (VMSS) across your environment.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is an Azure Compute Gallery?
&lt;/h3&gt;

&lt;p&gt;Azure Compute Gallery (formerly known as Shared Image Gallery) is a service in Microsoft Azure that simplifies the management, storage, and sharing of custom virtual machine images. It allows you to create, manage, and distribute custom images efficiently across multiple Azure regions, enabling standardized deployments and scaling for large environments.&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%2F3rj2deystgclfu3uz7us.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3rj2deystgclfu3uz7us.png" alt="Azure Compute Gallery" width="158" height="141"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; this is a continuation from the article &lt;a href="https://dev.to/tjasper/azure-vm-scale-set-part-1-how-to-connect-and-add-a-data-disk-to-a-windows-vm-42h3"&gt;Azure VM Scale Set #Part 1: How to Connect and Add a Data Disk to a Windows VM&lt;/a&gt; Make sure to go over that before moving on.&lt;/p&gt;

&lt;p&gt;Let us dive into the compute gallery setup!&lt;/p&gt;




&lt;h2&gt;
  
  
  Part 2: How to Capture the image of a Virtual Machine
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Create an Azure Compute Gallery
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Search &lt;strong&gt;Compute gallery&lt;/strong&gt; in the Azure portal and select the highlighted option&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqyqfhdb1hu581659d4zo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqyqfhdb1hu581659d4zo.png" alt="Compute gallery" width="800" height="550"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on &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%2Fyoe4qhw8oc0dqq0uw1mi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyoe4qhw8oc0dqq0uw1mi.png" alt="Create" width="800" height="529"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select the same &lt;strong&gt;Resource group&lt;/strong&gt; allocated to the VM&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Give the compute gallery a &lt;strong&gt;Name&lt;/strong&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can also add a &lt;strong&gt;Description&lt;/strong&gt; (optional)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Take the rest of the settings as default &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Review and create&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2F4fnnmvlmdblfc73mzsnh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4fnnmvlmdblfc73mzsnh.png" alt="Creating CG" width="800" height="576"&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%2Fajm27abilhd8af5hxjzn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fajm27abilhd8af5hxjzn.png" alt="Creating CG" width="800" height="576"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click &lt;strong&gt;Go to resource&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&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%2Fp4u8ykcrvlpr0y9lr2tw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp4u8ykcrvlpr0y9lr2tw.png" alt="Go to resource" width="800" height="512"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Capture the image of a VM and store in a Compute Gallery
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Go back to the VM created &lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on the &lt;strong&gt;Capture&lt;/strong&gt; button and select &lt;strong&gt;Image&lt;/strong&gt; from the 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%2F2fzb3sj1a4zxexns6krl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2fzb3sj1a4zxexns6krl.png" alt="Image of the VM" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Make sure the VM and the compute gallery are in the same resource group.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select the &lt;strong&gt;Compute gallery&lt;/strong&gt; created &lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2Fufw1qr020p1cyk3p8shj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fufw1qr020p1cyk3p8shj.png" alt="Creating Image" width="800" height="573"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the Operating system state, select &lt;strong&gt;Specialized&lt;/strong&gt;
&lt;strong&gt;Note:&lt;/strong&gt; If &lt;strong&gt;Generalized&lt;/strong&gt;, the VMs created from the image would require admin user (user/password) and other VM setups, while &lt;strong&gt;Specialized&lt;/strong&gt; is already configured. &lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Target VM image definition&lt;/strong&gt; section, &lt;strong&gt;Create new&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Give the VM image a &lt;strong&gt;Name&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Ok&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%2Fskav0uuuu1pkwy3b3usl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fskav0uuuu1pkwy3b3usl.png" alt="Image of the VM" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Give the VM image a &lt;strong&gt;Version number&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on &lt;strong&gt;Review and 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%2Fv2puuz1o9s430nscv9tw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv2puuz1o9s430nscv9tw.png" alt="Image of the VM" width="800" height="572"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2Fs45xs7eqzyizxzkvactc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs45xs7eqzyizxzkvactc.png" alt="Create image" width="800" height="579"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Wait till deployed and click &lt;strong&gt;Go to resource&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%2Fwpzu4ammfktq40k7apaf.png" alt="Go to resource" width="800" height="467"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;CONTINUE TO THE NEXT PART&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://dev.to/tjasper/azure-vm-scale-set-part-3-how-to-create-a-virtual-machine-scale-set-in-azure-co5"&gt;Azure VM Scale Set #Part 3: How to Create a Virtual Machine scale set in Azure&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Thank you for reading my blog.😊😊&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you need further assistance, feel free to reach out in the comment or hit me up on &lt;a href="https://x.com/seyi_jasper" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;. You can also follow me on &lt;a href="https://github.com/oluwaloseyiT" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. My DM's are open and love discussions on cloud topics!😁&lt;/p&gt;

</description>
      <category>azure</category>
      <category>virtualmachine</category>
      <category>kubernetes</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Azure VM Scale Set #Part 1: How to Connect and Add a Data Disk to a Windows VM</title>
      <dc:creator>Oluwaloseyi Oluwatofunmi Emmanuel</dc:creator>
      <pubDate>Wed, 20 Nov 2024 15:25:46 +0000</pubDate>
      <link>https://forem.com/tjasper/azure-vm-scale-set-part-1-how-to-connect-and-add-a-data-disk-to-a-windows-vm-42h3</link>
      <guid>https://forem.com/tjasper/azure-vm-scale-set-part-1-how-to-connect-and-add-a-data-disk-to-a-windows-vm-42h3</guid>
      <description>&lt;p&gt;Efficient storage management is a key aspect of optimizing virtual machines in Azure. In this first part of our Azure VM Scale Set series, we’ll guide you through connecting to a Windows VM and adding a data disk to expand its storage capacity. This straightforward process is essential for scaling workloads and ensuring your VMs are ready for growing data demands.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is Virtual Machine Scale Set (VMSS)?
&lt;/h3&gt;

&lt;p&gt;A Virtual Machine Scale Set (VMSS) is an Azure compute service designed to deploy and manage a group of identical, &lt;strong&gt;load-balanced (distributed traffic among)&lt;/strong&gt; virtual machines (VMs). It enables you to build large-scale services for applications by &lt;strong&gt;automatically scaling the number of VMs up or down based on demand or predefined rules&lt;/strong&gt;. This makes it ideal for workloads that need high availability, scalability, and flexibility.&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%2F2o7jltmmtcbb21depx13.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2o7jltmmtcbb21depx13.png" alt="Azure VMSS" width="468" height="340"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let’s get started and transform the way you manage and scale your virtual machines in Azure!&lt;/p&gt;




&lt;h2&gt;
  
  
  Part 1: How to Connect and Add a Data Disk to the Windows VM
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Create a windows Virtual Machine (VM)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Install a Webserver (select http while creating the VM so as to test the VM)&lt;/li&gt;
&lt;li&gt;RDP into the VM.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; All the steps needed to do this have been covered in a previous article; make sure to go through that before moving on.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/tjasper/creating-a-windows-vm-on-azure-and-installing-windows-server-iis-on-it-23ed"&gt;Creating a Windows VM on Azure and Installing Windows Server (IIS) on it&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Add a Data Disk
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Go to the &lt;strong&gt;Disk&lt;/strong&gt; section under the &lt;strong&gt;Settings&lt;/strong&gt; menu of the VM&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Create and attach a new disk&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%2Fsmfzc5kmtf4relm8nwo3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsmfzc5kmtf4relm8nwo3.png" alt="Create disk" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Give your disk a &lt;strong&gt;name&lt;/strong&gt; in the &lt;strong&gt;Disk name&lt;/strong&gt; section&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select the best option under &lt;strong&gt;Storage type&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Give the disk a &lt;strong&gt;Size(GiB)&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Apply&lt;/strong&gt; to save&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbw3cwoaep1y520qc58l8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbw3cwoaep1y520qc58l8.png" alt="configure disk" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 3: Initialize the disk and make it usable
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Connect to the Virtual Machine (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%2Fkesnlz8xj5ql9oxfwrt2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkesnlz8xj5ql9oxfwrt2.png" alt="connect to the VM" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Search and select &lt;strong&gt;Disk management&lt;/strong&gt; in 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%2Fratdk8xqz9sz23li3ewi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fratdk8xqz9sz23li3ewi.png" alt="Disk management" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on &lt;strong&gt;Ok&lt;/strong&gt; in the &lt;strong&gt;Initialize disk&lt;/strong&gt; pop_up&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu3e77n8nxlsokaeogfo0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu3e77n8nxlsokaeogfo0.png" alt="Initialize disk" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Right-click&lt;/strong&gt; the disk created and open the &lt;strong&gt;New simple volume wizard&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%2Fbl91rxnvab02otc1i9k5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbl91rxnvab02otc1i9k5.png" alt="New simple volume" width="766" height="608"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Navigate to the &lt;strong&gt;Format patition&lt;/strong&gt; 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%2F89ddpc2b264kbj8v89zt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F89ddpc2b264kbj8v89zt.png" alt="New simple volume wizard" width="506" height="400"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Give the &lt;strong&gt;Volume label&lt;/strong&gt; a name &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Next&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%2Fdtyf9f9l11fvhvxxgbnw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdtyf9f9l11fvhvxxgbnw.png" alt="Volume label" width="498" height="391"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Notice the disk says &lt;strong&gt;Healthy&lt;/strong&gt; now&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fknnwd6nfxm24hvj53o6h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fknnwd6nfxm24hvj53o6h.png" alt="Notice" width="751" height="592"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;CONTINUE TO THE NEXT PART&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://dev.to/tjasper/azure-vm-scale-set-part-2-how-to-capture-the-image-of-a-vm-with-azure-compute-gallery-4m31"&gt;Azure VM Scale Set #Part 2: How to Capture the image of a VM with Azure Compute Gallery&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Thank you for reading my blog.😊😊&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you need further assistance, feel free to reach out in the comment or hit me up on &lt;a href="https://x.com/seyi_jasper" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;. You can also follow me on &lt;a href="https://github.com/oluwaloseyiT" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. My DM's are open and love discussions on cloud topics!😁&lt;/p&gt;

</description>
      <category>azure</category>
      <category>virtualmachine</category>
      <category>tutorial</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Azure App Services: How to Create an App and Upload Content</title>
      <dc:creator>Oluwaloseyi Oluwatofunmi Emmanuel</dc:creator>
      <pubDate>Mon, 11 Nov 2024 10:31:18 +0000</pubDate>
      <link>https://forem.com/tjasper/azure-app-services-how-to-create-an-app-and-upload-content-1khh</link>
      <guid>https://forem.com/tjasper/azure-app-services-how-to-create-an-app-and-upload-content-1khh</guid>
      <description>&lt;h2&gt;
  
  
  What is Azure App Service?
&lt;/h2&gt;

&lt;p&gt;Azure App Service is a &lt;strong&gt;platform-as-a-service (PaaS)&lt;/strong&gt; offering in Microsoft Azure that allows developers to build, deploy, and scale web applications, mobile backends, RESTful APIs, and more. With App Service, you can run applications on a secure, scalable cloud platform without worrying about the underlying infrastructure. It supports multiple programming languages and frameworks, including .NET, Node.js, Java, Python, PHP, and Ruby.&lt;/p&gt;

&lt;h3&gt;
  
  
  Requirements to create an App Service Application in Azure
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Azure CLI&lt;/li&gt;
&lt;li&gt;An Azure account&lt;/li&gt;
&lt;li&gt;A text-based user interface (Powershell or Terminal)&lt;/li&gt;
&lt;li&gt;A resource group&lt;/li&gt;
&lt;li&gt;An App Service plan (Where the computing resources are hosted)&lt;/li&gt;
&lt;li&gt;The webapp itself&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In this guide, we'll walk you through creating an App Service application and uploading your content step-by-step. By the end, you’ll have a fully deployed app, ready to serve your audience. Perfect for beginners and experienced developers alike, this tutorial will help you get your app live on Azure quickly and efficiently.&lt;/p&gt;

&lt;p&gt;Let’s get started with creating and deploying your app on Azure App Service!&lt;/p&gt;




&lt;h2&gt;
  
  
  Step-by-Step Guide: Building and Uploading Content to an Azure App Service
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: &lt;a href="https://learn.microsoft.com/en-us/cli/azure/install-azure-cli" rel="noopener noreferrer"&gt;Download&lt;/a&gt; and install Azure CLI
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Go to your browser and search &lt;strong&gt;Azure CLI&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&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%2F67nkym40wpdifdms1ith.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F67nkym40wpdifdms1ith.png" alt="browser and search" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Navigate to the install section and select your operating system.&lt;/li&gt;
&lt;/ul&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%2Frc962upr3grr8q1jexxx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frc962upr3grr8q1jexxx.png" alt="select your operating system" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Make sure to install it.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 2: Access you Azure account with PowerShell
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Run your windows PowerShell as administrator &lt;/li&gt;
&lt;/ul&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%2Fiuyaabbfilwbx9ja4sr4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiuyaabbfilwbx9ja4sr4.png" alt="PowerShell" width="784" height="729"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use the command below to login to your Azure account.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;az login  
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Use &lt;code&gt;az login --tenant&lt;/code&gt; and &lt;strong&gt;parent management group&lt;/strong&gt; under subscription to login as a tenant of the account.&lt;/li&gt;
&lt;/ul&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%2Fa1mp3j1gqwlr4j8465rm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa1mp3j1gqwlr4j8465rm.png" alt="Azure login" width="800" height="671"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Create your Resource group
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;To create a resource group we use the code:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;az group create --name NGtourRG --location eastus
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Where &lt;em&gt;NGtourRG&lt;/em&gt; is the &lt;strong&gt;Name&lt;/strong&gt; of the resource group and &lt;em&gt;eastus&lt;/em&gt; is the &lt;strong&gt;Region&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%2F4uio4blnr667lajfyus4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4uio4blnr667lajfyus4.png" alt="Resource group" width="800" height="671"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Create an App Service Plan
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;To create an app service plan we use the code:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;az appservice plan create --name NGtourPlan --resource-group NGtourRG
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Where &lt;em&gt;NGtourPlan&lt;/em&gt; is the &lt;strong&gt;App Service Plan&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%2Ftvrpck5me8e0hnwp1dm5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftvrpck5me8e0hnwp1dm5.png" alt="App Service Plan" width="800" height="671"&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%2F2pmb76ep5d5v3te556bj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2pmb76ep5d5v3te556bj.png" alt="App Service Plan" width="800" height="671"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If there is a problem with the Region change using &lt;code&gt;--location&lt;/code&gt; and the new location name.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 5: Create an empty Web App that will host our code
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;To create a web app we enter the code:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;az webapp create --name NGtourWebApp --resource-group NGtourRG --plan NGtourPlan 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2F3zaiezn658rx81n8qa94.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3zaiezn658rx81n8qa94.png" alt="webapp" width="800" height="671"&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%2Fas03it73ja3dfo0cgw2w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fas03it73ja3dfo0cgw2w.png" alt="webapp" width="800" height="671"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to azure portal in the &lt;strong&gt;App Service&lt;/strong&gt; section to ensure the web App was successfully created.&lt;/li&gt;
&lt;/ul&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%2Fz36w88p5dcb3cujg8e7h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz36w88p5dcb3cujg8e7h.png" alt="azure portal" width="800" height="375"&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%2Fldldwix01vsrqwe9mkgs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldldwix01vsrqwe9mkgs.png" alt="azure portal" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;click on the webapp &lt;code&gt;NGtourWebApp&lt;/code&gt; you created.&lt;/li&gt;
&lt;li&gt;In the overview tab select &lt;strong&gt;Default domain&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&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%2Fgjj8qmm3lhw8uowv90i7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjj8qmm3lhw8uowv90i7.png" alt="NGtourWebApp" width="800" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ensure the web App is running and waiting for content&lt;/li&gt;
&lt;/ul&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%2Faay4rgdc68cm1883c293.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faay4rgdc68cm1883c293.png" alt="Webpage" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 6: Deploy content(code) to the application
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;In the azure portal search &lt;strong&gt;Advanced Tools&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select it and click &lt;strong&gt;Go&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&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%2Fzlwi2hrr12xqvm7tkz0h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzlwi2hrr12xqvm7tkz0h.png" alt="Advanced Tools" width="800" height="375"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;strong&gt;Note: it opens up a browser(KuduPlus) this contains tools for uploading our code&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the browser click &lt;strong&gt;Debug console&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;CMD&lt;/strong&gt; from the dropdown&lt;/li&gt;
&lt;/ul&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%2Finpdhezoh8d1pxvqv9l9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Finpdhezoh8d1pxvqv9l9.png" alt="KuduPlus" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Select the &lt;strong&gt;Site&lt;/strong&gt; folder&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcvr1e1kcuu81l549zogk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcvr1e1kcuu81l549zogk.png" alt="Site" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select the &lt;strong&gt;wwwroot&lt;/strong&gt; folder&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6rn8jfqnmedaqk4j61h0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6rn8jfqnmedaqk4j61h0.png" alt="wwwroot" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on the &lt;strong&gt;Pencile icon&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%2F13zhof1uwgxnrhtyt2xq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F13zhof1uwgxnrhtyt2xq.png" alt="Pencile icon" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Paste in your code and click &lt;strong&gt;Save&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%2Flwor1pcauzu5gqi33fgo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flwor1pcauzu5gqi33fgo.png" alt="Paste code" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reopen the Default domain and notice your content have been uploaded.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2Fkm2dvrezuv5dm36i12d1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkm2dvrezuv5dm36i12d1.png" alt="NGtourApp" width="800" height="424"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By following these steps, you've successfully created an Azure App Service application and uploaded your content(code), bringing your Web app live on a reliable, scalable cloud platform. With Azure App Service, managing and deploying web applications becomes easier and more efficient, giving you more time to focus on enhancing your app’s features and user experience. Now, you’re equipped to build, scale, and maintain applications in Azure with confidence.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Thank you for reading my blog.😊😊&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you need further assistance, feel free to reach out in the comment or hit me up on &lt;a href="https://x.com/seyi_jasper" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;. You can also follow me on &lt;a href="https://github.com/oluwaloseyiT" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. My DM's are open and love discussions on cloud topics!😁&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tutorial</category>
      <category>devops</category>
      <category>azure</category>
    </item>
    <item>
      <title>Creating Custom Template and Managing IP Addresses in Microsoft Azure: Dissociation and Association Explained</title>
      <dc:creator>Oluwaloseyi Oluwatofunmi Emmanuel</dc:creator>
      <pubDate>Mon, 04 Nov 2024 20:50:02 +0000</pubDate>
      <link>https://forem.com/tjasper/creating-custom-template-and-managing-ip-addresses-in-microsoft-azure-dissociation-and-association-explained-1ceh</link>
      <guid>https://forem.com/tjasper/creating-custom-template-and-managing-ip-addresses-in-microsoft-azure-dissociation-and-association-explained-1ceh</guid>
      <description>&lt;p&gt;Microsoft Azure offers robust tools for customizing and managing cloud resources, making it a preferred platform for both companies and developers. Two crucial aspects of effective Azure resource management are creating reusable templates and managing IP addresses. Custom templates enable you to standardize deployments and streamline the configuration of multiple resources, while IP address management—particularly the ability to dissociate and associate IPs—ensures network flexibility and resource optimization.&lt;/p&gt;

&lt;p&gt;In this guide, we’ll take a step-by-step approach to creating a Linux VM custom template in Azure and demonstrate how to dissociate and associate IP addresses across resources. Whether you’re aiming to simplify resource deployment or improve network configuration, this tutorial will give you practical insights into optimizing your Azure environment.&lt;/p&gt;

&lt;p&gt;Let’s dive in and make the most of Azure’s customization and IP management capabilities!&lt;/p&gt;




&lt;h2&gt;
  
  
  Follow this Step-by-Step Guide to Create a Linux VM Custom Template and Managing IP Addresses in Microsoft Azure: Dissociation and Association
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Deploy a Linux VM Custom Template
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Search and select the &lt;strong&gt;Deploy a Custom Template&lt;/strong&gt; from the list of search results. The best option is usually highlighted.&lt;/li&gt;
&lt;/ul&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%2Foi0c2odm4pugek4pq3eq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foi0c2odm4pugek4pq3eq.png" alt="Deploy a Custom Template" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click the &lt;strong&gt;Create a Linux virtual machine&lt;/strong&gt; option.&lt;/li&gt;
&lt;/ul&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%2Fwzlwtmeiy4gqhdtlpng9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwzlwtmeiy4gqhdtlpng9.png" alt="Linux virtual machine" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Create a &lt;strong&gt;Resource group&lt;/strong&gt;. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add an admin but setting a &lt;strong&gt;Username&lt;/strong&gt; and &lt;strong&gt;Password&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Leave everything else as default.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Review + create&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2Fdmrb0naazbdnfy8l4mjb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdmrb0naazbdnfy8l4mjb.png" alt="VM setup" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you run into an issue, try &lt;strong&gt;changing the regions&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&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%2F9s3fsg9w7dmzhpsfutgb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9s3fsg9w7dmzhpsfutgb.png" alt="Image description" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;After it is approved for deployment, click &lt;strong&gt;Review and Create&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&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%2Fsy5vxvlmm50ox18pl36w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsy5vxvlmm50ox18pl36w.png" alt="Review and Create" width="800" height="375"&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%2F56jc6jfxkb71nm0xqabu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F56jc6jfxkb71nm0xqabu.png" alt="Create" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click &lt;strong&gt;Go to Recource&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&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%2Foqzrqzguf65snv8rejaj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foqzrqzguf65snv8rejaj.png" alt="Go to Recource" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select your VM &lt;code&gt;simpleLinuxVM&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&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%2Fmwdb0fhqf38hdd2mlglc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmwdb0fhqf38hdd2mlglc.png" alt="Select your VM" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;After launching the VM click on the Public IP address and drag the idle timeout all the way&lt;/li&gt;
&lt;/ul&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%2F1v1gifdlpc3m71we4jdj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1v1gifdlpc3m71we4jdj.png" alt="IPaddress" width="800" height="375"&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%2F58cogppejfoof8zcnlq2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F58cogppejfoof8zcnlq2.png" alt="Timeout" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Manage the IP addresses in the Linux VM: Dissociation and Association
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Search for &lt;strong&gt;Public IP addresses&lt;/strong&gt; and select from the list of search results. The best option is usually highlighted.&lt;/li&gt;
&lt;/ul&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%2Fkplhvamw0y4cp39ec9ol.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkplhvamw0y4cp39ec9ol.png" alt="Public IP addresses" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Dissociate
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Select the IP address and click on &lt;strong&gt;Dissociate&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Yes&lt;/strong&gt; to confirm&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjwmag1z5yyspux6vj21a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjwmag1z5yyspux6vj21a.png" alt="Dissociation" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2Fwq9tcmkdkm1u49dp0k2l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwq9tcmkdkm1u49dp0k2l.png" alt="Confirmation" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Associate
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Re-associate the IP address by clicking &lt;strong&gt;Associate&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For resource type, select &lt;strong&gt;Network interface&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choose the appropriate account and resource group in the network interface section&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;OK&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%2Fjj1luyvxejfngtlsmtcc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjj1luyvxejfngtlsmtcc.png" alt="Associate" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h4&gt;
  
  
  Note: You can also create a new Public IP address and associate it with the Linux VM
&lt;/h4&gt;

&lt;h4&gt;
  
  
  Step 1: Create a new Public IP address
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Make sure to &lt;strong&gt;dissociate the existing IP address&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Open the &lt;strong&gt;Public IP address&lt;/strong&gt; and click the &lt;strong&gt;+ create&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&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%2Fl4mqvz89zonum5vdjwvi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl4mqvz89zonum5vdjwvi.png" alt="Public IP address" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Give the IP address a &lt;strong&gt;Name&lt;/strong&gt;, &lt;code&gt;OurnewIP&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;click on &lt;strong&gt;Review and 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%2F0anlyvcw1m0ccvutim95.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0anlyvcw1m0ccvutim95.png" alt="Image description" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2Fjn4m8vqssii1msojvigl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjn4m8vqssii1msojvigl.png" alt="Create" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select &lt;strong&gt;Go to resource&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%2Fglm7y27evwt2naktxtb4.png" alt="Go to resource" width="800" height="375"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Step 2: Associate the new Public IP address to the Linux VM
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Click on &lt;strong&gt;Associate&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For resource type, select &lt;strong&gt;Network interface&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choose the Linux VM account and resource group in the network interface section&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;OK&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%2Fm5pho5z1qk2ds6eqbels.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm5pho5z1qk2ds6eqbels.png" alt="Associate" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Conclusion
&lt;/h4&gt;

&lt;p&gt;By mastering these tools, you can significantly improve the efficiency, consistency, and adaptability of your Azure environment. Custom templates save time and reduce errors across deployments, while effective IP management keeps your network secure and responsive to evolving needs. With these skills in hand, you're well-prepared to optimize Azure resources for any project.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Thank you for reading my blog.😊😊&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you need further assistance, feel free to reach out in the comment or hit me up on &lt;a href="https://x.com/seyi_jasper" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;. You can also follow me on &lt;a href="https://github.com/oluwaloseyiT" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. My DM's are open and love discussions on cloud topics!😁&lt;/p&gt;

</description>
      <category>azure</category>
      <category>tutorial</category>
      <category>virtualmachine</category>
      <category>devops</category>
    </item>
    <item>
      <title>Creating a Windows VM on Azure and Installing Windows Server (IIS) on it</title>
      <dc:creator>Oluwaloseyi Oluwatofunmi Emmanuel</dc:creator>
      <pubDate>Fri, 11 Oct 2024 17:08:48 +0000</pubDate>
      <link>https://forem.com/tjasper/creating-a-windows-vm-on-azure-and-installing-windows-server-iis-on-it-23ed</link>
      <guid>https://forem.com/tjasper/creating-a-windows-vm-on-azure-and-installing-windows-server-iis-on-it-23ed</guid>
      <description>&lt;p&gt;In the previous resource, we discussed how to create a Linux VM and install nginx on it; now let's consider a Windows VM. Setting up a Windows VM can help you meet these needs without the overhead of managing physical hardware. This guide will walk you through the process of creating a Windows VM on Azure and installing Windows Server on it. By the end, you’ll have a fully functional Windows Server environment, ready for any application or workload you want to deploy. Let’s dive into the setup!&lt;/p&gt;




&lt;h2&gt;
  
  
  Step-by-Step Guide to Creating a  Windows VM on Azure and Installing Windows Server on it
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Create a New Virtual Machine (VM)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;From the list of search results, click on the &lt;strong&gt;Virtual Machine&lt;/strong&gt; option. The best option is usually highlighted.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9g761h68wrj04c0kt3tg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9g761h68wrj04c0kt3tg.png" alt="Virtual Machine" width="800" height="305"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click the &lt;strong&gt;Create&lt;/strong&gt; button to start the virtual machine creation process. Choose &lt;strong&gt;Create a virtual machine hosted by Azure&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxkan20fdtn82uvh69993.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxkan20fdtn82uvh69993.png" alt="Create" width="800" height="513"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select the appropriate subscription and create a resource group by clicking the &lt;strong&gt;Create resource group&lt;/strong&gt; button. Give both the &lt;strong&gt;Resource group&lt;/strong&gt; and the &lt;strong&gt;VM&lt;/strong&gt; a &lt;strong&gt;name&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fckkc0asp77hrbgamkonp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fckkc0asp77hrbgamkonp.png" alt="Create resource group" width="800" height="439"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 2: Configure the Virtual machine (VM)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Provide other information about your virtual machine, such as the operating system (&lt;strong&gt;Windows Server Datacenter -x64 G2&lt;/strong&gt;), size, and other configuration settings. Leave other options as default.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkf81ahz7ctv4ybevkyad.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkf81ahz7ctv4ybevkyad.png" alt="operating system" width="800" height="442"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create an &lt;strong&gt;Administrator Account&lt;/strong&gt;. Use &lt;code&gt;Azureuser&lt;/code&gt; for the &lt;strong&gt;username&lt;/strong&gt; and &lt;code&gt;password123&lt;/code&gt; for the &lt;strong&gt;password&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Inbound Port Rules&lt;/strong&gt;. Select RDP for a Windows VM. This allows IP addresses to connect to the VM. Also select HTTP, which would help connect your virtual machine to the web.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8egjgdg9bs91st6wxw9u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8egjgdg9bs91st6wxw9u.png" alt="Administrator Account" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Next&lt;/strong&gt; until you reach the &lt;strong&gt;Boot Diagnostics&lt;/strong&gt; in the Monitoring tab, then click on &lt;strong&gt;Disable&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn5p3t1g5mb5x8wyduesn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn5p3t1g5mb5x8wyduesn.png" alt="Boot Diagnostics" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Next&lt;/strong&gt; to the &lt;strong&gt;tags&lt;/strong&gt; tab and then give the VM a tag name, then click &lt;strong&gt;Review + Create&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo2w20z6012g4ngoj7mu7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo2w20z6012g4ngoj7mu7.png" alt="Review + Create" width="800" height="445"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on the &lt;strong&gt;Create&lt;/strong&gt; button. If the validation passes, the deployment will proceed. If not, note any recommendations, fix them, and try again. Deployment might take 3-5 minutes.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg4admqxvw5noawapgodj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg4admqxvw5noawapgodj.png" alt="Create" width="800" height="443"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feappfljdc3voay2f4m8u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feappfljdc3voay2f4m8u.png" alt="Go to resource" width="800" height="485"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 3: Access the Windows Virtual machine
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Once the virtual machine is deployed, click on the &lt;strong&gt;Connect&lt;/strong&gt; button in the &lt;strong&gt;Overview&lt;/strong&gt; of the virtual machine blade in the Azure portal.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Native RDP&lt;/strong&gt;, select, and wait for the configured sign to be displayed on the right-hand side. &lt;strong&gt;Download the RDP file&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgt067ck41b1j19pp9u1l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgt067ck41b1j19pp9u1l.png" alt="Access the Windows VM" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Open the RDP file from your local computer and click on &lt;strong&gt;Connect&lt;/strong&gt;. Enter the &lt;strong&gt;Admin Details&lt;/strong&gt; created during the VM setup.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2xy2qhmmm73y4mqgdsi7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2xy2qhmmm73y4mqgdsi7.png" alt="Connect" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Follow the prompt and click &lt;strong&gt;Continue&lt;/strong&gt;. Use the &lt;strong&gt;username&lt;/strong&gt; and &lt;strong&gt;password&lt;/strong&gt; created for the admin section.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7fssg2cuv138tg7pdz5e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7fssg2cuv138tg7pdz5e.png" alt="admin details" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Once the connection is successful, start using your virtual machine! &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcbtckt2p5pqe7q9tf7ve.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcbtckt2p5pqe7q9tf7ve.png" alt="successful" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 4: Install Additional Windows Server Roles (IIS)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Click on the &lt;strong&gt;Start&lt;/strong&gt; menu.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Type &lt;strong&gt;PowerShell&lt;/strong&gt; and open &lt;strong&gt;Windows PowerShell&lt;/strong&gt; as an administrator (right-click and select &lt;strong&gt;Run as administrator&lt;/strong&gt;).&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgbxlwc3eycxkfyk797mm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgbxlwc3eycxkfyk797mm.png" alt="PowerShell" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Run the following command to install the IIS role and management tools:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Install-WindowsFeature -name Web-Server -IncludeManagementTools
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

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

&lt;ul&gt;
&lt;li&gt;If you need specific role services, you can specify them using their feature names. For example:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Install-WindowsFeature -name Web-Server, Web-WebServer, Web-Common-Http, Web-Default-Doc, Web-Dir-Browsing, Web-Http-Errors, Web-Static-Content, Web-Health, Web-Http-Logging, Web-Request-Monitor, Web-Performance, Web-Stat-Compression, Web-Security, Web-Filtering, Web-Basic-Auth, Web-Windows-Auth, Web-App-Dev, Web-Net-Ext, Web-ASP, Web-CGI, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Mgmt-Tools, Web-Mgmt-Console, Web-Mgmt-Service -IncludeManagementTools

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&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;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Or just paste the IP address of the VM in a browser and verify that you installed the webserver.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

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

&lt;p&gt;By following these steps, you’ve successfully created a Windows VM on Azure and installed Windows Server. This setup can now be customized based on your needs—whether it's hosting enterprise applications, setting up a database, or managing services. You now have a powerful Windows Server environment that can scale as your requirements grow.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Thank you for reading my blog.😊😊&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you need further assistance, feel free to reach out in the comment or hit me up on &lt;a href="https://x.com/seyi_jasper" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;. You can also follow me on &lt;a href="https://github.com/oluwaloseyiT" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. My DM's are open and love discussions on cloud topics!😁&lt;/p&gt;

</description>
      <category>virtualmachine</category>
      <category>tutorial</category>
      <category>devops</category>
      <category>cloud</category>
    </item>
  </channel>
</rss>
