diff --git a/Instructions/CloudLabs.AI/01-Create a virtual machine.md b/Instructions/CloudLabs.AI/01-Create a virtual machine.md index 714de8f4..25bf2c2a 100644 --- a/Instructions/CloudLabs.AI/01-Create a virtual machine.md +++ b/Instructions/CloudLabs.AI/01-Create a virtual machine.md @@ -6,28 +6,29 @@ In this walkthrough, we will create a virtual machine in the Azure portal, conne # Task 1: Create the virtual machine -In this task, we will create a Windows Server 2019 Datacenter - Gen1 virtual machine. +In this task, we will create a Windows Server 2019 Datacenter - Gen2 virtual machine. 1. Click on the Azure Portal icon on the VM desktop and login with the Azure credentials from the Lab Environment output page. -2. From the **All services** blade, search for and select **Virtual machines**, and then click **+ Add** and choose **+Virtual machine**. +2. From the **Search resources, Services, and docs(G+/)** blade, search for and select **Virtual machines**, and then click **+ Create** and choose **Azure virtual machine**. 3. On the **Basics** tab, fill in the following information (leave the defaults for everything else): | Settings | Values | | -- | -- | | Subscription | **Choose your subscription**| - | Resource group | **myRGVM-[DeploymentId]** (use existing) | + | Resource group | **myRGVM-** (use existing) | | Virtual machine name | **myVm** | | Location | **(US) East US**| - | Image | **Windows Server 2019 Datacenter - Gen1**| + | Image | **Windows Server 2019 Datacenter - Gen2**| | Size | **Standard_D2s_v3**| | Administrator account username | **azureuser** | | Administrator account password | **Pa$$w0rd1234**| - | Inbound port rules - Allow select ports | **RDP (3389)** and **HTTP (80)**| + | Inbound port rules | **Allow select ports**| + | Select inbound ports | **RDP (3389)** and **HTTP (80)**| | | | -> Note: Deployment ID can be obtained from the Lab Environment output page. + > **Note** : DeploymentID can be obtained from the Lab Environment output page. 4. Switch to the Networking tab, and look for the **Select inbound ports**: @@ -38,7 +39,7 @@ In this task, we will create a Windows Server 2019 Datacenter - Gen1 virtual mac **Note** - Verify that both port 80 and 3389 are selected -5. Switch to the Management tab, and in its **Monitoring** section, select the following setting: +5. Switch to the **Monitoring** tab, select the following setting: | Settings | Values | | -- | -- | @@ -51,64 +52,98 @@ In this task, we will create a Windows Server 2019 Datacenter - Gen1 virtual mac 8. You will receive updates on the deployment page and via the **Notifications** area (the bell icon in the top menu). -* **Verify Port 80 and 3389 were opened** # Task 2: Connect to the virtual machine In this task, we will connect to our new virtual machine using RDP. -1. Search for **myVM** and select your new virtual machine. +1. Search for **myVm** and select your new virtual machine. **Note**: You could also use the **Go to resource** link on the deployment page or the link to the resource in the **Notification** area. -2. On the virtual machine **Overview** blade, click the **Connect** button and choose **RDP**. +2. On the virtual machine **Overview** blade, click the **Connect** button and choose the **RDP** tab. - ![Screenshot of the virtual machine properties with the Connect button highlighted.](../images/0101.png) + ![Screenshot of the virtual machine properties with the Connect button highlighted.](../images/01-01.png) **Note**: The following directions tell you how to connect to your VM from a Windows computer. On a Mac, you need an RDP client such as this Remote Desktop Client from the Mac App Store and on a Linux computer you can use an open source RDP client. -2. In the **Connect to virtual machine** page, keep the default options to connect with the public IP address over port 3389 and click **Download RDP File**. +3. Within the **Connect with RDP** section of the RDP tab, keep the default options to connect with the public IP address over port 3389 and click **Download RDP File**. -3. **Open** the downloaded RDP file and click **Connect** when prompted. +4. **Open** the downloaded RDP file and click **Connect** when prompted. ![Screenshot of the virtual machine properties with the Connect button highlighted. ](../images/0102.png) -4. In the **Windows Security** window, select **More choices** and then **Use a different account**. Provide the username (.\azureuser) and the password (Pa$$w0rd1234). Click **OK** to connect. +5. In the **Windows Security** window, select **More choices** and then **Use a different account**. Provide the username (.\azureuser) and the password (Pa$$w0rd1234). Click **OK** to connect. ![Screenshot of the Windows security dialogue with use a different account selected and the username azure user entered and a password.](../images/0103.png) -5. You may receive a certificate warning during the sign-in process. Click **Yes** or to create the connection and connect to your deployed VM. You should connect successfully. +6. You may receive a certificate warning during the sign-in process. Click **Yes** or to create the connection and connect to your deployed VM. You should connect successfully. ![Screenshot of the Certificate warning dialogue informing the user of an untrusted certificate, with the Yes button highlighted. ](../images/0104.png) Congratulations! You have deployed and connected to a Windows Server virtual machine in Azure -# Task 3: Install the web server role and test +# Task 3: Host a Basic Website on your New Cloud VM -In this task, install the Web Server role on the server and ensure the default IIS welcome page can be displayed. +In this task, install the Web Server role on the server and host a basic website. -1. Open up a PowerShell command prompt on the virtual machine, by clicking the **Start** button, typing **PowerShell**, right clicking **Windows PowerShell**, and selecting **Run as administrator** in the right-click menu. +1. In the Server Manager (which should launch automatically) once you connect to the vm, select **Add roles and features** as shown below in the screenshot: - ![Screenshot of the virtual machine desktop with the start button clicked and PowerShell selected with run as an administrator highlighted.](../images/0105.png) + ![server manager](../images/az900-t3_s1.png) -2. Install the **Web-Server** feature in the virtual machine by running the following command in the PowerShell command prompt. You can copy and paste this command. +2. Within the **Add Roles and Features Wizard** dialog box, click on **Next**. - ``` - Install-WindowsFeature -name Web-Server -IncludeManagementTools - ``` - -3. When completed there will be a prompt stating **Success** with a value **True**. You do not need to restart the virtual machine to complete the installation. Close the RDP connection to the VM. +3. Ensure **Role-based or feature-based installation** is selected. Click Next. + +4. Ensure **Select a server from the server pool** is selected, and that your VM appears in the list below. Click on **Next**. + +5. In the Server roles list, scroll to near bottom of the list and check **Web Server (IIS)**. Click on **Add Features**. + + ![server pool](../images/az900-t3_s5.png) + +6. Click on **Next** until you reach the **Confirm installation selections** page and make sure **Restart the destination server automatically if required** is checked. Then click on **Install**. + + ![Restart the destination check box](../images/az900-t3_s7.png) + + >**Note**: If a pop-up appears warning about the automatic server restart, select **Yes**. + +7. When the installation completes, back on the server manager portal, go to **Tools** > **Internet Information Services (IIS) Manager**. - ![Screenshot of the windows PowerShell command prompt with the command Install-WindowsFeature -name Web-Server -IncludeManagementTools successfully completed and output stating it was successful.](../images/0106.png) + ![](../images/az900-t3_s9.png) + +8. In the Internet Information Services (IIS) Manager window, locate your server’s Default Web Site in the Connections tree. + + ![](../images/az900-t3_s10.png) + +9. Now, click on **Basic Settings** in the **Actions** menu. In the new pop-up dialog box, locate the **Physical Path**. This is where you'll put your website html file. + + ![](../images/az900-t3_s12.png) + +10. Create a very basic html file. Save it as **Default.htm** and place it in the Physical Path location specified in the Basic Settings. For example: + + ``` + + +

Demo Website

+

This is my first cloud hosted website.

+ + + ``` -4. Back in the portal, navigate back to the **Overview** blade of myVM and, use the **Click to clipboard** button to copy the public IP address of myVM, open a new browser tab, paste the public IP address into the URL text box, and press the **Enter** key to browse to it. +11. Now back in the Azure portal, navigate back to the Overview blade of myVM and use the Copy to clipboard button to copy the public IP address of myVm. - ![Screenshot of the Azure portal virtual machine property pane with the IP address copied.](../images/0107.png) + ![](../images/az900-t3_vm_pip.png) -5. The default IIS Web Server welcome page will open. +12. Open a new browser tab, paste the public IP address into the URL text box, and press the Enter key to browse to it. The custom created basic website shows up. - ![Screenshot of the default IIS web server welcome page being accessed via the public ip address in a web browser.](../images/0108.png) + ![](../images/az900-t3_last.png) -Congratulations! You have created a web server that is accessible via its public IP address. If you had a web application to host, you could deploy application files to the virtual machine and host them for public access on the deployed virtual machine. + > - **Congratulations** on completing the task! Now, it's time to validate it. Here are the steps: + > - Click the (...) icon located at the upper right corner of the lab guide section and navigate to the Lab Validation Page. + > - Hit the Validate button for the corresponding task.If you receive a success message, you can proceed to the next task.  + > - If not, carefully read the error message and retry the step, following the instructions in the lab guide. + > - If you need any assistance, please contact us at labs-support@spektrasystems.com. We are available 24/7 to help you out. +13. Select the **Resources** tab, then in actions select deallocate for deallocate the VM, it will be Cost effective. +You have successfully completed this lab. diff --git a/Instructions/CloudLabs.AI/02-Create a Web App.md b/Instructions/CloudLabs.AI/02-Create a Web App.md index 3c5af4b7..4d671e01 100644 --- a/Instructions/CloudLabs.AI/02-Create a Web App.md +++ b/Instructions/CloudLabs.AI/02-Create a Web App.md @@ -1,45 +1,45 @@ # 02 - Create a Web App -In this walkthrough, we will create a new web app that runs a Docker container. The container displays a Welcome message. +In this walkthrough, we will create a new web app that runs a Docker container. The container displays a Welcome message. # Task 1: Create a Web App Azure App Service is actually a collection of four services, all of which are built to help you host and run web applications. The four services (Web Apps, Mobile Apps, API Apps, and Logic Apps) look different, but in the end they all operate in very similar ways. Web Apps are the most commonly used of the four services, and this is the service that we will be using in this lab. -In this task, you will create an Azure App Service Web App. +In this task, you will create an Azure App Service Web App. -1. Click on the Azure Portal icon on the VM desktop and login with the Azure credentials from the Lab Environment output page. +1. Click on the Azure Portal icon on the VM desktop and login with the Azure credentials from the Lab Environment output page. -2. From the **All services** blade, search for and select **App Services**, and click **+ New** +2. From the **Search resources, Services, and docs(G+/)** blade, search for and select **App Services**, and click **+ Create** -3. On the **Basics** tab of the **Web App** blade, specify the following settings (replace **xxxx** in the name of the web app with the Deployment ID). Leave the defaults for everything else, including the App Service Plan. +3. On the **Basics** tab of the **Create Web App** blade. + + **Note:** **DeploymentId** can be obtained from the Lab Environment output page. | Setting | Value | | -- | -- | | Subscription | **Choose your subscription** | - | Resource Group | **myRGWebApp1-[DeploymentId]** (use existing) | - | Name | **myDockerWebAppxxxx** | + | Resource Group | **myRGWebApp1-** (use existing) | + | Name | **myDockerWebApp** | | Publish | **Docker Container** | | Operating System | **Linux** | | Region | **East US** (ignore any service plan availability warnings) | - | | | + | | | - **Note** - Remember to change the **xxxx** so that it makes a unique **Name**. Deployment ID can be obtained from the Lab Environment output page. -4. Click **Next > Docker** and configure the container information. The startup command is optional and not needed in this exercise. +4. Click **Next > Docker** and configure the container information. The startup command is optional and not needed in this exercise. - **Note:** This is same container that was used in the Container Instances walkthrough to display a hello world message. + **Note:** This is same container that was used in the Container Instances walkthrough to display a hello world message. | Setting | Value | | -- | -- | | Options | **Single container** | | Image Source | **Docker Hub** | | Access Type | **Public** | - | Image and tag | **microsoft/aci-helloworld** | - | | | - + | Image and tag | **mcr.microsoft.com/azuredocs/aci-helloworld** | + | | | -5. Click **Review + create**, and then click **Create**. +5. Click **Review + create**, and then click **Create**. # Task 2: Test the Web App @@ -47,16 +47,23 @@ In this task, we will test the web app. 1. Wait for the Web App to deploy. -2. From **Notifications** click **Go to resource**. +2. From **Notifications** click **Go to resource**. -3. On the **Overview** blade, locate the **URL** entry. +3. On the **Overview** blade, locate the **Default Domain** entry. - ![Screenshot of the web app properties blade. The URL is highlighted.](../images/0801.png) + ![Screenshot of the web app properties blade. The URL is highlighted.](../images/AZ-900-module-02-app-service.png) 4. Click on the **URL** to open the new browser tab and display the Welcome to Azure Container Instances page. ![Screenshot of the Welcome to Azure Container Instance page.](../images/0802.png) -5. Switch back to the **Overview** blade of your web app and note that it includes several charts. If you repeat step 4 a few times, you should be able to see correspoding telemetry being displayed in the charts. This includes number of requests and average response time. +5. Switch back to the **Overview** blade of your web app and note that it includes several charts. If you repeat step 4 a few times, you should be able to see correspoding telemetry being displayed in the charts. This includes number of requests and average response time. + + > **Congratulations** on completing the task! Now, it's time to validate it. Here are the steps: + > - Click the (...) icon located at the upper right corner of the lab guide section and navigate to the Lab Validation Page. + > - Hit the Validate button for the corresponding task.If you receive a success message, you can proceed to the next task. + > - If not, carefully read the error message and retry the step, following the instructions in the lab guide. + > - If you need any assistance, please contact us at labs-support@spektrasystems.com. We are available 24/7 to help you out. +6. Select the **Resources** tab, then in actions select deallocate for deallocated the VM, it will be Cost effective. diff --git a/Instructions/CloudLabs.AI/03-Deploy Azure Container Instances.md b/Instructions/CloudLabs.AI/03-Deploy Azure Container Instances.md index 2c390345..4a299c37 100644 --- a/Instructions/CloudLabs.AI/03-Deploy Azure Container Instances.md +++ b/Instructions/CloudLabs.AI/03-Deploy Azure Container Instances.md @@ -3,41 +3,38 @@ In this walkthrough we create, configure, and deploy a Docker container by using Azure Container Instances (ACI) in the Azure Portal. The container is a Welcome to ACI web application that displays a static HTML page. -# Task 1: Create a container instance +## Task 1: Create a container instance In this task, we will create a new container instance for the web application. 1. Click on the Azure Portal icon on the VM desktop and login with the Azure credentials from the Lab Environment output page. -2. From the **All services** blade, search for and select **Container instances** and then click **+ New**. +2. From the **Search resources, Services, and docs(G+/)** blade, search for and select **Container instances** and then click **+ Create**. 3. Provide the following Basic details for the new container instance (leave the defaults for everything else)): | Setting| Value| |----|----| | Subscription | **Choose your subscription** | - | Resource group | **myRGContainer-[DeploymentID]** (Use Existing) | + | Resource group | **myRGContainer-** (Use Existing) | | Container name| **mycontainer**| | Region | **(US) East US** | - | Image source| **Docker Hub or other registry**| + | Image source| **Other registry**| | Image type| **Public**| - | Image| **microsoft/aci-helloworld**| + | Image| **mcr.microsoft.com/azuredocs/aci-helloworld**| | OS type| **Linux** | | Size| ***Leave at the default***| - ||| - - **Note** - Deployment ID can be obtained from the Lab Environment output page. -4. Configure the Networking tab (replace **xxxx** with the Deployment ID). Leave all other settings at their default values . + +4. Configure the Networking tab . Leave all other settings at their default values . | Setting| Value| |--|--| - | DNS name label| **mycontainerdnsxxxx** | - ||| - - **Note**: Your container will be publicly reachable at dns-name-label.region.azurecontainer.io. If you receive a **DNS name label not available** error message following the deployment, specify a different DNS name label (don't use xxxx) and re-deploy. + | DNS name label| **mycontainerdns** | + + **Note**: Your container will be publicly reachable at dns-name-label.region.azurecontainer.io. If you receive a **DNS name label not available** error message following the deployment. - ![Screenshot of the configuration pane of the create container instances blade, in Azure portal, with the DNS name label entered. ](../images/0201.png) + ![Screenshot of the configuration pane of the create container instances blade, in Azure portal, with the DNS name label entered. ](../images/AZ900-01.png) 5. Click **Review and Create** to start the automatic validation process. @@ -47,7 +44,7 @@ In this task, we will create a new container instance for the web application. 8. While you wait you may be interested in viewing the [sample code behind this simple application](https://github.com/Azure-Samples/aci-helloworld). Browse the \app folder. -# Task 2: Verify deployment of the container instance +## Task 2: Verify deployment of the container instance In this task, we verify that the container instance is running by ensuring that the welcome page displays. @@ -57,13 +54,24 @@ In this task, we verify that the container instance is running by ensuring that 3. Locate the Fully Qualified Domain Name (FQDN). - ![Screenshot of the overview pane for the newly created container in Azure portal, with the FQDN highlighted. ](../images/0202.png) + ![Screenshot of the overview pane for the newly created container in Azure portal, with the FQDN highlighted. ](../images/AZ-900-02.png) -2. Copy the container's FQDN into the URL text box web browser and press **Enter**. The Welcome page should display. +2. Copy the container's FQDN into the new browser tab and press **Enter**. The Welcome page should display. - ![Screenshot of the ACI welcome message shown in a web browser.](../images/0203.png) + **Note**: It might take 10-15 minutes to load the page. + + ![Screenshot of the ACI welcome message shown in a web browser.](../images/AZ-900-0300.png) + -**Note**: You could also use the container IP address in your browser. + **Note**: You could also use the container IP address in your browser. Congratulations! You have used Azure Portal to successfully deploy an application to a container in Azure Container Instance. +> **Congratulations** on completing the task! Now, it's time to validate it. Here are the steps: +> - Click the (...) icon located at the upper right corner of the lab guide section and navigate to the Lab Validation Page. +> - Hit the Validate button for the corresponding task.If you receive a success message, you can proceed to the next task.  +> - If not, carefully read the error message and retry the step, following the instructions in the lab guide. +> - If you need any assistance, please contact us at labs-support@spektrasystems.com. We are available 24/7 to help you out. + + Select the **Resources** tab, then in actions select deallocate to deallocate the VM, it will be Cost effective + diff --git a/Instructions/CloudLabs.AI/04-Create a virtual network.md b/Instructions/CloudLabs.AI/04-Create a virtual network.md index 292ebb0a..8c0b0d85 100644 --- a/Instructions/CloudLabs.AI/04-Create a virtual network.md +++ b/Instructions/CloudLabs.AI/04-Create a virtual network.md @@ -6,30 +6,45 @@ In this walkthrough, we will create a virtual network, deploy two virtual machin In this task, we will create a virtual network. +**Note:** Before beginning the lab, disable both the public and private firewall in your virtual machine by opening the Start menu > Settings > Network and Internet > Locate Windows Firewall + 1. Click on the Azure Portal icon on the VM desktop and login with the Azure credentials from the Lab Environment output page. -2. From the **All services** blade, search for and select **Virtual networks**, and then click **+ New**. +2. From the **Search resources, Services, and docs(G+/)** blade, search for and select **Virtual networks**, and then click **+ Create**. 3. On the **Create virtual network** blade, fill in the following (leave the defaults for everything else): + + | Setting | Value | + | --- | --- | + | Name | **vnet1** | + | Subscription | **Choose your subscription** | + | Resource group | **myRGVNet-** | + | Location | **(US) East US** | + + +4. On the **Create virtual network** blade, go to the IP Addresses tab and delete precreated IP address and create the new address space. + | Setting | Value | | --- | --- | - | Name | **vnet1** | - | Address space |**10.1.0.0/16** | - | Subscription | **Select your subscription** | - | Resource group | **myRGVNet-[DeploymentId]** (use existing) | - | Location | **(US) East US** | - | Subnet - Name | **default** | - | Subnet Address range | **10.1.0.0/24** | - - **Note**: Deployment ID can be obtained from the Lab Environment output page. + | Address space |**10.1.0.0/16**| + + 5. Click on **+ Add Subnet** and enter the following (Delete if any subnet exists already with the name default) then click on **Add**: + + | Setting | Value | + | --- | --- | + | Subnet Name |**default**| + | Subnet Address range | **10.1.0.0/24**| + + + ![Screenshot of the "Basic" step of Create virtual network blade with the default fields.](../images/0301a.png) ![Screenshot of the "IP Addresses" step of Create virtual network blade with the default fields.](../images/0301b.png) -4. Click the **Review + create** button. Ensure the validation passes. +6. Click the **Review + create** button. Ensure the validation passes. -5. Click the **Create** button to deploy the virtual network. +7. Click the **Create** button to deploy the virtual network. **Note**: In your organization, how will you know which virtual networks and IP addressing you will need? @@ -37,17 +52,17 @@ In this task, we will create a virtual network. In this task, we will create two virtual machines in the virtual network. -1. From the **All services** blade, search for **Virtual machines** and then click **+ Add**. +1. From the **Search resources, Services, and docs(G+/)** blade, search for **Virtual machines** and then click **+ Create** and choose **Azure virtual machine**. 2. On the **Basics** tab, fill in the following information (leave the defaults for everything else): | Setting | Value | | --- | --- | - | Subscription | **Choose your subscription** | - | Resource group | **myRGVNet-[DeploymentId]** | + | Subscription | **Use default supplied** | + | Resource group | **myRGVNet-** | | Virtual machine name | **vm1**| | Region | **(US) East US** | - | Image | **Windows Server 2019 Datacenter** | + | Image | **Windows Server 2019 Datacenter -Gen2** | | Username| **azureuser** | | Password| **Pa$$w0rd1234** | | Public inbound ports| Select **Allow selected ports** | @@ -69,7 +84,7 @@ In this task, we will create two virtual machines in the virtual network. | Setting | Value | | --- | --- | - | Resource group | **myRGVNet-[DeploymentId]** | + | Resource group | **myRGVNet-** | | Virtual machine name | **vm2** | | Virtual network | **vnet1** | | Public IP | (new) **vm2-ip** | @@ -79,11 +94,11 @@ In this task, we will create two virtual machines in the virtual network. # Task 3: Test the connection -In this task, we will allow ICMP connections and test whether the virtual machines can communicate (ping) each other. +In this task, we will try to test whether the virtual machines can communicate (ping) each other. If not we will install a rule to allow an ICMP connection. Usually ICMP connections are automatically blocked. 1. From the **All resources** blade, search for **vm1**, open its **Overview** blade, and make sure its **Status** is **Running**. You may need to **Refresh** the page. -2. On the **Overview** blade, click the **Connect** button. +2. On the **Overview** blade, click the **Connect** button and select RDP. **Note**: The following directions tell you how to connect to your VM from a Windows computer. @@ -93,37 +108,27 @@ In this task, we will allow ICMP connections and test whether the virtual machin 5. In the **Windows Security** window, type the username **azureuser** and password **Pa$$w0rd1234** and then click **OK**. -6. You may receive a certificate warning during the sign-in process. Click **Yes** or to create the connection and connect to your deployed VM. You should connect successfully. +6. You may receive a certificate warning during the sign-in process. Click **Yes** or to create the connection and connect to your deployed VM. You should connect successfully.Close the Windows Server and Dashboard windows that pop up. You should see a Blue Windows background. You are now in your virtual machine. -7. Open up a PowerShell command prompt on the virtual machine, by clicking the **Start** button, typing **PowerShell**, right clicking **Windows PowerShell** in the right-click menu, and clicking **Run as administrator** + **Repeat step 1 to 6 for vm2.** -8. Try to ping vm2 (make sure vm2 is running). You will receive an error, saying request timed out. The `ping` fails, because `ping` uses the **Internet Control Message Protocol (ICMP)**. By default, ICMP isn't allowed through the Windows firewall. +7. In **both** newly created virtual machines(vm1,vm2), connect via RDP and disable both the public and private firewall by opening the Start menu > Settings > Network and Internet > Locate Windows Firewall. - ``` - ping vm2 - ``` - - ![Screenshot of PowerShell command prompt with the command ping vm2 after its completion and the output indicating the command wasn't successful.](../images/0302.png) - - **Note**: You will now open an RDP session to vm2 and allow incoming ICMP connections - -9. Connect to **vm2** using RDP. You can follow steps **2 to 6**. - -10. Open a **PowerShell** prompt and allow ICMP. This command allows ICMP inbound connections through the Windows firewall. - - ``` - New-NetFirewallRule –DisplayName “Allow ICMPv4-In” –Protocol ICMPv4 - ``` - - ![Screenshot of PowerShell command prompt with the command New-NetFirewallRule DisplayName Allow ICMPv4-In –Protocol ICMPv4 after its completion and the output indicating the command was successful.](../images/0303.png) - - **Note**: You will now switch to the RDP session to vm1 and try the ping again - -11. Return to the RDP session to vm1 and try the ping again. You should now be successful. +8. Open up a PowerShell command prompt on the virtual machine(vm1), by clicking the **Start** button, typing **PowerShell**, right clicking **Windows PowerShell** in the right-click menu, and clicking **Run as administrator** +9. Try to ping vm2 (make sure vm2 is running). ``` ping vm2 ``` - -Congratulations! You have configured and deployed two virtual machines in a virtual network. You have also configured the Windows firewall so one of the virtual machines allows incoming ping requests. - + 10. You should be successful. You have pinged VM2 from VM1. + + ![Screenshot of the pinged VM2 from VM.](../images/AZ900Lab4.png) + + + > - **Congratulations!** You have configured and deployed two virtual machines in a virtual network, and then you were able to connect them. + > - Click the (...) icon located at the upper right corner of the lab guide section and navigate to the Lab Validation Page. + > - Hit the Validate button for the corresponding task.If you receive a success message, you can proceed to the next task. + > - If not, carefully read the error message and retry the step, following the instructions in the lab guide. + > - If you need any assistance, please contact us at labs-support@spektrasystems.com. We are available 24/7 to help you out. + +11. Select the **Resources** tab, then in actions select deallocate for deallocated the VM, it will be Cost effective. diff --git a/Instructions/CloudLabs.AI/05-Create Blob storage.md b/Instructions/CloudLabs.AI/05-Create Blob storage.md index 127d096f..789db2cb 100644 --- a/Instructions/CloudLabs.AI/05-Create Blob storage.md +++ b/Instructions/CloudLabs.AI/05-Create Blob storage.md @@ -6,23 +6,22 @@ In this walkthrough, we will create a storage account, then work with blob stora In this task, we will create a new storage account. -1. Sign in to the Azure portal at https://portal.azure.com +1. Click on the Azure Portal icon on the VM desktop and login with the Azure credentials from the Lab Environment output page. -2. From the **All services** blade, search for and select **Storage accounts**, and then click **+ Add**. +2. From the **All services** blade, search for and select **Storage accounts**, and then click **+ Create**. -3. On the **Basics** tab of the **Create storage account** blade, fill in the following information (replace **xxxx** in the name of the storage account with the deployment ID). Leave the defaults for everything else. +3. On the **Basics** tab of the **Create storage account** blade, fill in the following information.Leave the defaults for everything else. | Setting | Value | | --- | --- | | Subscription | **Choose your subscription** | - | Resource group | **myRGStorage-[deployId]** (use existing) | - | Storage account name | **storageaccountxxxx** | + | Resource group | **myRGStorage-** (use existing) | + | Storage account name | **storageaccount** | | Location | **(US) East US** | | Performance | **Standard** | - | Account kind | **StorageV2 (general purpose v2)** | - | Replication | **Locally redundant storage (LRS)** | - | Access tier (default) | **Hot** | + | Redundancy | **Locally redundant storage (LRS)** | +4. On the **Advanced** tab of the **Create storage account** add Access tier (default) **Hot**. 5. Click **Review + Create** to review your storage account settings and allow Azure to validate the configuration. @@ -30,24 +29,22 @@ In this task, we will create a new storage account. 7. From the Home page, search for and select **Storage accounts** and ensure your new storage account is listed. - ![Screenshot of the newly created storage account in the Azure portal .](../images/0401.png) + ![Screenshot of the newly created storage account in the Azure portal .](../images/AZ-9000501.png) # Task 2: Work with blob storage In this task, we will create a Blob container and upload a blob file. -1. Click the name of the new storage account, scroll to the **Blob service** section, and then click **Containers**. +1. Click the name of the new storage account, scroll to the **Data storage** section, and then click **Containers**. -2. Click **+ Container** and complete the information. Use the Information icons to learn more. When done click **OK**. +2. Click **+ Container** and complete the information. Use the Information icons to learn more. When done click **Create**. - - | Setting | Value | - | --- | --- | - | Name | **container1** | - | Public access level| **Private (no anonymous access)** | - | | | - - ![Screenshot of the newly created blob container in the storage account in the Azure portal.](../images/0402.png) + | Setting | Value | + | ---- | ---- | + | Name | **container1**| + | Public access level| **Private (no anonymous access)** | + + ![Screenshot of the newly created blob container in the storage account in the Azure portal.](../images/AZ-9000502.png) 4. Click the **container1** container, and then click **Upload**. @@ -71,7 +68,15 @@ In this task, we will create a Blob container and upload a blob file. 3. On the storage account blade, scroll down to the **Monitoring** section and click **Insights**. Notice there is information on Failures, Performance, Availability, and Capacity. Your information will be different. - ![Screenshot of the storage account Insights page.](../images/0403.PNG) + ![Screenshot of the storage account Insights page.](../images/AZ-9000503.png) Congratulations! You have created a storage account, then worked with storage blobs. +> **Congratulations** on completing the task! Now, it's time to validate it. Here are the steps: +> - Click the (...) icon located at the upper right corner of the lab guide section and navigate to the Lab Validation Page. +> - Hit the Validate button for the corresponding task.If you receive a success message, you can proceed to the next task.  +> - If not, carefully read the error message and retry the step, following the instructions in the lab guide. +> - If you need any assistance, please contact us at labs-support@spektrasystems.com. We are available 24/7 to help you out. + +Select the **Resources** tab, then in actions select deallocate to deallocate the VM, it will be Cost effective + diff --git a/Instructions/CloudLabs.AI/06-Create a SQL database.md b/Instructions/CloudLabs.AI/06-Create a SQL database.md index 241151b2..0263c1da 100644 --- a/Instructions/CloudLabs.AI/06-Create a SQL database.md +++ b/Instructions/CloudLabs.AI/06-Create a SQL database.md @@ -9,27 +9,27 @@ In this task, we will create a SQL database based on the AdventureWorksLT sample 1. Click on the Azure Portal icon on the VM desktop and login with the Azure credentials from the Lab Environment output page. -2. From the **All services** blade, search for and select **SQL databases**, and then click **+ New**. +2. From the **Search resources, services, and docs** blade, search for and select **SQL databases**, and then click **+ Create**. 3. On the **Basics** tab, fill in this information. | Setting | Value | | --- | --- | | Subscription | **Choose your subscription** | - | Resource group | **myRGDb-[DeploymentId]** (use existing) | + | Resource group | **myRGDb-** (use existing) | | Database name| **db1** | | | | -> Note: Deployment ID can be obtained from the Lab Environment output page. -4. Next to the **Server** drop down list, click **Create new** and enter this information (replace **xxxx** in the name of the server with the Deployment ID). Click **OK** when finished. +4. Next to the **Server** drop down list, click **Create new**. Click **OK** when finished. | Setting | Value | | --- | --- | - | Server name | **sqlserverxxxx** (must be unique) | + | Server name | **sqlserver** (must be unique) | + | Location | **(US) East US** | + | Authentication method | **Use SQL authentication** | | Server admin login | **sqluser** | | Password | **Pa$$w0rd1234** | - | Location | **(US) East US** | | | | ![Screenshot of the Server pane and the New Server pane with fields filled in as per the table and the Review + create and OK buttons highlighted.](../images/0501.png) @@ -45,12 +45,17 @@ In this task, we will create a SQL database based on the AdventureWorksLT sample ![Screenshot of the Networking tab of the Create SQL Database blade with settings selected as per the table and the Review + create button highlighted.](../images/0501b.png) -6. Move to the **Additional settings** tab. We will be using the AdventureWorksLT sample database. +5. On the **Security** tab. + + | Setting | Value | + | --- | --- | + | Enable Microsoft Defender for SQL| **Not now** | + +6. Move to the **Additional settings** tab. We will be using the AdventureWorksLT sample database, if pop-up comes, click on **OK**. | Setting | Value | | --- | --- | | Use existing data | **Sample** | - | Enable Azure Defender for SQL | **Not now** | | | | ![Screenshot of the Additional settings tab of the Create SQL Database blade with settings selected as per the table and the Review + create button highlighted.](../images/0501c.png) @@ -63,7 +68,7 @@ In this task, we will create a SQL database based on the AdventureWorksLT sample In this task, we will configure the SQL server and run a SQL query. -1. From the **All services** blade, search and select **SQL databases** and ensure your new database was created. You may need to **Refresh** the page. +1. From the **Search resources, services, and docs** blade, search and select **SQL databases** and ensure your new database was created. You may need to **Refresh** the page. ![Screenshot of the SQL database and server that have just been deployed.](../images/0502.png) @@ -71,9 +76,11 @@ In this task, we will configure the SQL server and run a SQL query. 3. Login as **sqluser** with the password **Pa$$w0rd1234**. -4. You will not be able to login. Read the error closely and make note of the IP address that needs to be allowed through the firewall. +4. If you are not able to login. ![Screenshot of the Query Editor login page with IP address error.](../images/0503.png) + + **Note:** If you are able to login proceed with step 9. 5. From the **db1** blade, click **Overview**. @@ -81,9 +88,9 @@ In this task, we will configure the SQL server and run a SQL query. 6. From the SQL server **Overview** blade, click **Set server firewall**. -7. Click **Add client IP** (top menu bar) to add the IP address referenced in the error. Be sure to **Save** your changes. +7. Scroll down to the Firewall rules section and click on **+ Add your client IPv4 address**. Be sure to **Save** your changes. - ![Screenshot of the SQL server firewall settings page with the new IP rule highlighted.](../images/0506.png) + ![Screenshot of the SQL server firewall settings page with the new IP rule highlighted.](../images/az-900mod-6img-2.png) 8. Return to your SQL database and the **Query Editor (Preview)** login page. Try to login again as **sqluser** with the password **Pa$$w0rd1234**. This time you should succeed. Note that it may take a couple of minutes for the new firewall rule to be deployed. @@ -102,6 +109,10 @@ In this task, we will configure the SQL server and run a SQL query. ![Screenshot of the database Query Editor pane with the SQL code having been run successfully and the output visible in the results pane.](../images/0508.png) -Congratulations! You have created a SQL database in Azure and successfully queried the data in that database. - + > **Congratulations** on completing the task! Now, it's time to validate it. Here are the steps: + > - Click the (...) icon located at the upper right corner of the lab guide section and navigate to the Lab Validation Page. + > - Hit the Validate button for the corresponding task.If you receive a success message, you can proceed to the next task. + > - If not, carefully read the error message and retry the step, following the instructions in the lab guide. + > - If you need any assistance, please contact us at labs-support@spektrasystems.com. We are available 24/7 to help you out. +11. Select the **Resources** tab, then in actions select deallocate for deallocated the VM, it will be Cost effective. diff --git a/Instructions/CloudLabs.AI/07-Implement the Azure IoT Hub.md b/Instructions/CloudLabs.AI/07-Implement the Azure IoT Hub.md index 1243d137..82d932a0 100644 --- a/Instructions/CloudLabs.AI/07-Implement the Azure IoT Hub.md +++ b/Instructions/CloudLabs.AI/07-Implement the Azure IoT Hub.md @@ -6,29 +6,27 @@ In this walkthrough, we will configure a new Azure IoT Hub in Azure Portal, and In this task, we will create an IoT hub. -1. Sign in to the [Azure portal](https://portal.azure.com). +1. Click on the Azure Portal icon on the VM desktop and login with the Azure credentials from the Lab Environment output page. -2. From the **All services** blade, search for and select **IoT Hub** and then click **+ Add**. +2. From the **All services** blade, search for and select **IoT Hub** and then click **+ Create**. -3. On the **Basics** tab of the **IoT hub** blade, fill in the fields with the following details (replace **xxxx** in the name of the storage account with the deployment ID): +3. On the **Basics** tab of the **IoT hub** blade, fill in the fields with the following details: | Settings | Value | |--|--| | Subscription | **Choose your subscription** | - | Resource Group | **myRGIoT-[deployId]** (use existing)| + | Resource Group | **myRGIoT-** (use existing) | | Region | **East US** | - | IoT Hub Name | **my-hub-groupxxxx** | + | IoT Hub Name | **my-hub-group** | + | Tier | **Standard (most popular)”** | | | | +4. Click the **Review + create** button. -4. Go to the **Management** tab, and use the dropdown list to set the **Pricing and scale tier** to **S1: Standard tier**. +5. Click the **Create** button to begin creating your new Azure IoT Hub instance. -5. Click the **Review + create** button. - -6. Click the **Create** button to begin creating your new Azure IoT Hub instance. - -7. Wait until the Azure IoT Hub instance is deployed. +6. Wait until the Azure IoT Hub instance is deployed. # Task 2: Add an IoT device @@ -38,17 +36,17 @@ In this task, we will add an IoT device to the IoT hub. ![Screenshot of the deployment in progress and deployment succeeded notifications in Azure portal.](../images/0601.png) -2. To add a new IoT device, scroll down to the **Explorers** section and click **IoT Devices**. Then, click **+ New**. +2. To add a new IoT device, scroll down to the **Device management** section and click **Devices**. Then, click **+ Add Device**. - ![Screenshot of the IoT devices pane, highlighted within the IoT hub navigation blade, in Azure portal. The New button is highlighted to illustrate how to add a new IoT device identity to IoT hub.](../images/0602.png) + ![Screenshot of the IoT devices pane, highlighted within the IoT hub navigation blade, in Azure portal. Add Device button is highlighted to illustrate how to add a new IoT device identity to IoT hub.](../images/AZ9000701.png) -3. Provide a name for your new IoT device, **myRaspberryPi**, and click the **Save** button. This will create a new IoT device identity in your Azure IoT Hub. +3. Provide a **Device ID** for your new IoT device, ****, and click the **Save** button. This will create a new IoT device identity in your Azure IoT Hub. 4. If you do not see your new device, **Refresh** the IoT Devices page. 5. Select **myRaspberryPi** and copy the **Primary Connection String** value. You will use this key in the next task to authenticate a connection to the Raspberry Pi simulator. - ![Screenshot of the Primary Connection String page with the copy icon highlighted.](../images/0603.png) + ![Screenshot of the Primary Connection String page with the copy icon highlighted.](../images/AZ-9000702.png) # Task 3: Test the device using the Raspberry Pi Simulator @@ -60,11 +58,11 @@ In this task, we will test our device using the Raspberry Pi Simulator. 3. In the code area, right side, locate the line with 'const connectionString ='. Replace it with the connection string you copied from the Azure portal. Note that the connection sting includes the DeviceId (**myRaspberryPi**) and SharedAccessKey entries. - ![Screenshot of the coding area within the Raspberry Pi simulator.](../images/0604.png) + ![Screenshot of the coding area within the Raspberry Pi simulator.](../images/AZ-9000704.png) 4. Click **Run** (below the code area) to run the application. The console output should show the sensor data and messages that are sent from the Raspberry Pi simulator to your Azure IoT Hub. Data and messages are sent each time the Raspberry Pi simulator LED flashes. - ![Screenshot of the Raspberry Pi simulator console. The console output shows sensor data and messages sent from the Raspberry Pi simulator to Azure IoT Hub.](../images/0605.png) + ![Screenshot of the Raspberry Pi simulator console. The console output shows sensor data and messages sent from the Raspberry Pi simulator to Azure IoT Hub.](../images/AZ-9000705.png) 5. Click **Stop** to stop sending data. @@ -72,9 +70,19 @@ In this task, we will test our device using the Raspberry Pi Simulator. 7. Switch the IoT Hub **Overview** blade and scroll down to the **IoT Hub Usage** information. - ![Screenshot of metrics within the IoT hub usage area of Azure portal.](../images/0606.png) + ![Screenshot of metrics within the IoT hub usage area of Azure portal.](../images/AZ-9000703.png) Congratulations! You have set up Azure IoT Hub to collect sensor data from an IoT device. +> **Congratulations** on completing the task! Now, it's time to validate it. Here are the steps: +> - Click the (...) icon located at the upper right corner of the lab guide section and navigate to the Lab Validation Page. +> - Hit the Validate button for the corresponding task.If you receive a success message, you can proceed to the next task.  +> - If not, carefully read the error message and retry the step, following the instructions in the lab guide. +> - If you need any assistance, please contact us at labs-support@spektrasystems.com. We are available 24/7 to help you out. + +Select the **Resources** tab, then in actions select deallocate to deallocate the VM, it will be Cost effective + + + diff --git a/Instructions/CloudLabs.AI/08-Implement Azure Functions.md b/Instructions/CloudLabs.AI/08-Implement Azure Functions.md index 06c65c72..cbf99eea 100644 --- a/Instructions/CloudLabs.AI/08-Implement Azure Functions.md +++ b/Instructions/CloudLabs.AI/08-Implement Azure Functions.md @@ -6,34 +6,32 @@ In this walkthrough, we will create a Function App to display a Hello message wh In this task, we will create a Function app. -1. Click on the Azure Portal icon on the VM desktop and login with the Azure credentials from the Lab Environment output page. +1. Click on the Azure Portal icon on the VM desktop. -1. In the **Search resources, services, and docs** text box at the top of the portal, search for and select **Function App** and then, from the **Function App** blade, click **+ New**. +1. In the **Search resources, services, and docs** text box at the top of the portal, search for and select **Function App** and then, from the **Function App** blade, click **+ Create**. -1. On the **Basic** tab of the **Function App** blade, specify the following settings (replace **xxxx** in the name of the function with the Deployment ID and leave all other settings with their default values): +1. On the **Basic** tab of the **Function App** blade, specify the following settings and leave all others with their default values: | Settings | Value | | -- | --| | Subscription | the name of your Azure subscription | - | Resource group | the name of **existing** resource group **myRGFunction-[DeploymentId]** | - | Function App name | **function-xxxx** | + | Resource group | the name of **existing** resource group **myRGFunction-** | + | Function App name | **function-** | | Publish | **Code** | | Runtime stack | **.NET** | - | Version | **3.1** | + | Version | **6 (LTS)** | | Region | **East US** | | | | + + ![Screenshot of the Function App page with the new Function app.](../images/AZ-900-functionapp.png) + +4. Click **Review + Create** and, after successful validation, click **Create** to begin provisioning and deploying your new Azure Function App. -> Note : Deployment ID can be obtained from the Lab Environment output page. +5. Wait for the notification that the resource has been created. -1. Next, Click on **Monitoring** tab of **Create Function App** then select **Yes** for **Enable Application Insights** +6. Navigate back to the **Function App** blade, click **Refresh** and verify that the newly created function app has the **Running** status. -1. Click **Review + Create** and, after successful validation, click **Create** to begin provisioning and deploying your new Azure Function App. - -1. Wait for the notification that the resource has been created. - -1. Navigate back to the **Function App** blade, click **Refresh** and verify that the newly created function app has the **Running** status. - - ![Screenshot of the Function App page with the new Function app.](../images/0701.png) + ![Screenshot of the Function App page with the new Function app.](../images/az-204_03-01.png) # Task 2: Create a HTTP triggered function and test @@ -41,44 +39,44 @@ In this task, we will use the Webhook + API function to display a message when t 1. On the **Function App** blade, click the newly created function app. -1. On the function app blade, in the **Functions** section, click **Functions** and then click **+ Add**. +1. On the function app blade, in the **Functions** section, click **Functions** and then click **+ Create**. - ![Screenshot of the choose a development environment step in the azure functions for dot net getting started pane inside Azure portal. The display elements for creating a new in-portal function are highlighted. The highlighted elements are expand the function app, add new function, in-portal, and the continue button.](../images/0702.png) + ![Screenshot of the choose a development environment step in the azure functions for dot net getting started pane inside Azure portal. The display elements for creating a new in-portal function are highlighted. The highlighted elements are expand the function app, add new function, in-portal, and the continue button.](../images/az-204_03-02.png) -1. On the **Templates** tab of the **New Function** blade, click **HTTP trigger**. +1. On the **Templates** tab of the **Create Function** blade, click **HTTP trigger**. Click **Create** - ![Screenshot of the create a function step in the azure functions for dot net getting started pane inside Azure portal. The HTTP trigger card is highlighted to illustrate the display elements used to add a new webhook to an Azure function.](../images/0702a.png) - -1. On the **Details** tab of the **New Function** blade, accept the default **New Function** name and **Authorization level**, and then click **Create Function**. - - ![Screenshot of the create a function step in the azure functions for dot net getting started pane inside Azure portal. The webhook + api button and create button are highlighted to illustrate the display elements used to add a new webhook to an Azure function.](../images/0703.png) + ![Screenshot of the create a function step in the azure functions for dot net getting started pane inside Azure portal. The HTTP trigger card is highlighted to illustrate the display elements used to add a new webhook to an Azure function.](../images/az-204_03-03.png) 1. On the **HttpTrigger1** blade, in the **Developer** section, click **Code + Test**. 1. On the **HttpTrigger1 \| Code + Test** blade, review the auto-generated code and note that the code is designed to run an HTTP request and log information. Also, notice the function returns a Hello message with a name. - ![Screenshot of the function code. The Hello message is hightlighted.](../images/0704.png) + ![Screenshot of the function code. The Hello message is hightlighted.](../images/az-204_03-04.png) 1. Click **Get function URL** from the top section of function editor. 1. Ensure that the value in the **Key** drop-down list is set to **default** and click **Copy** to copy the function URL. - ![Screenshot of the get function URL pane inside the function editor in Azure portal. The display elements get function URL button, set key dropdown, and copy URL button are highlighted to indicate how to obtain and copy the function URL from the function editor.](../images/0705.png) + ![Screenshot of the get function URL pane inside the function editor in Azure portal. The display elements get function URL button, set key dropdown, and copy URL button are highlighted to indicate how to obtain and copy the function URL from the function editor.](../images/az-204_03-05.png) 1. Open a new browser tab and paste the copied function URL into your web browser's address bar. When the page is requested the function will run. Notice the returned message stating that the function requires a name in the request body. - ![Screenshot of the please provide a name message.](../images/0706.png) + ![Screenshot of the please provide a name message.](../images/az-204_03-06.png) 1. Append **&name=*yourname*** to the end of the URL. **Note**: Replace ***yourname*** with your first name. For example, if your name is Cindy, the final URL will resemble the following `https://azfuncxxx.azurewebsites.net/api/HttpTrigger1?code=X9xx9999xXXXXX9x9xxxXX==&name=cindy` - ![Screenshot of a highlighted function URL and an appended example user name in the address bar of a web browser. The hello message and user name are also highlighted to illustrate the output of the function in the main browser window.](../images/0707.png) - -1. When your function runs, every invocation is traced. To view the traces in Azure portal, return to the **HttpTrigger1 \| Code + Test** blade and click **Monitor**. + ![Screenshot of a highlighted function URL and an appended example user name in the address bar of a web browser. The hello message and user name are also highlighted to illustrate the output of the function in the main browser window.](../images/az-204_03-07.png) - ![Screenshot of a trace information log resulting from running the function inside the function editor in Azure portal.](../images/0709.png) + + > **Congratulations** on completing the task! Now, it's time to validate it. Here are the steps: + > - Click the (...) icon located at the upper right corner of the lab guide section and navigate to the Lab Validation Page. + > - Hit the Validate button for the corresponding task.If you receive a success message, you can proceed to the next task. + > - If not, carefully read the error message and retry the step, following the instructions in the lab guide. + > - If you need any assistance, please contact us at labs-support@spektrasystems.com. We are available 24/7 to help you out. +1. Select the **Resources** tab, then in actions select deallocate for deallocated the VM, it will be Cost effective. diff --git a/Instructions/CloudLabs.AI/09-Create a VM with a Template.md b/Instructions/CloudLabs.AI/09-Create a VM with a Template.md index 1f9af671..fd53da92 100644 --- a/Instructions/CloudLabs.AI/09-Create a VM with a Template.md +++ b/Instructions/CloudLabs.AI/09-Create a VM with a Template.md @@ -4,52 +4,49 @@ In this walkthrough, we will deploy a virtual machine with a QuickStart template # Task 1: Explore the gallery and locate a template -In this task, we will browse the Azure QuickStart gallery and deploy a template that creates a virtual machine. +In this task, we will browse the Azure QuickStart gallery and deploy a template that creates a virtual machine. -1. Double click on the Microsoft Edge icon in the VM desktop to open browser +1. Double click on the **Microsoft Edge** icon on the VM desktop to open the browser -2. In a new tab, access the [Azure Quickstart Templates gallery](https://azure.microsoft.com/resources/templates?azure-portal=true). In the gallery you will find a number of popular and recently updated templates. These templates automate deployment of Azure resources, including installation of popular software packages. +2. In a new tab, access the [Azure Quickstart Templates gallery](https://azure.microsoft.com/resources/templates?azure-portal=true). In the gallery, you will find many popular and recently updated templates. These templates automate the deployment of Azure resources, including the installation of popular software packages. -3. Browse through the many different types of templates that are available. +3. Browse through the many different types of templates that are available. Are there any templates that are of interest to you? - **Note**: Are there are any templates that are of interest to you? +4. Search and Select the **Deploy a simple Windows VM**. -4. Search for or directly access the [Deploy a Virtual Machine ](https://azure.microsoft.com/resources/templates/101-vm-simple-windows?azure-portal=true) template. - - **Note**: The **Deploy to Azure** button enables you to deploy the template via the Azure portal. During such deployment, you will be prompted only for small set of configuration parameters. + **Note**: The **Deploy to Azure** button enables you to deploy the template via the Azure portal. During such deployment, you will be prompted only for a small set of configuration parameters. 5. Click the **Deploy to Azure** button. Your browser session will be automatically redirected to the [Azure portal](http://portal.azure.com/). -6. If prompted, sign in to the Azure with the Azure credentials from the Lab Environment output page. -7. Click **Edit template**. The Resource Manager template format uses the JSON format. Review the parameters and variables. Then locate the parameter for virtual machine name. Change the name to **myVMTemplate**. **Save** your changes. You are returned to the **Custom deployment** blade in the Azure portal. +6. If prompted, sign in to the Azure with the **Username** and **Password** . + +7. Click **Edit template**. The Resource Manager template format uses the JSON format. Review the parameters and variables. Then Open **Parameter** file and locate the parameter for the virtual machine name. Go to line no 109 and Change the name to **myVMTemplate**, and **Save** your changes. - ![Screenshot of the template with the VM name change highlilghted.](../images/0901.png) + ![Screenshot of the template with the VM name change highlighted.](../images/9011.jpg) -8. On the **Custom deployment** blade configure the parameters required by the template (replace ***xxxx*** in the DNS label prefix with DeploymentID). Leave the defaults for everything else. +8. Now configure the parameters required by the template. Leave the defaults for everything else. | Setting| Value| |----|----| | Subscription | **Choose your subscription**| - | Resource group | **myRGTemplate-[DeploymentID]** (use existing) | - | Location | **(US) East US** | + | Resource group | **myRGTemplate-** (use existing) | + | Region | **Keep default** | | Admin username | **azureuser** | | Admin password | **Pa$$w0rd1234** | - | DNS label prefix | **myvmtemplate*xxxx*** | - | Windows OS version | **2019-Datacenter** | - | | | - - **Note**: Deployment ID can be obtained from the Lab Environment output page. There is no cost associated with this template. + | DNS label prefix | **myvmtemplate-** | + | Windows OS version | **2019-datacenter-gensecond** | -9. Click **Review + Create**. - -10. Monitor your deployment. + + 9. Click **Review + Create**. + 10. Click the **Create** + 11. Monitor your deployment. # Task 2: Verify and monitor your virtual machine deployment -In this task, we will verify the virtual machine deployed correctly. +In this task, we will verify the virtual machine is deployed correctly. -1. From the **All services** blade, search for and select **Virtual machines**. +1. From the **Search resources, services, and docs** blade, search for and select **Virtual machines**. 2. Ensure your new virtual machine was created. @@ -63,14 +60,20 @@ In this task, we will verify the virtual machine deployed correctly. ![Screenshot of the virtual machine monitoring charts.](../images/0903.png) -5. Click on any chart. Note that you can **Add metric** and change the chart type. +5. Click on any chart. Note that you can **Add metrics** and change the chart type. 6. Return to the **Overview** blade. -7. Click on the **Activity log** (left pane). Activity logs record such events as creation or modification of resources. +7. Click on the **Activity log** (left pane). Activity logs record such events as the creation or modification of resources. 8. Click **Add filter**, and experiment with searching for different event types and operations. ![Screenshot of the Add filters page with Event type selected.](../images/0904.png) + > **Congratulations** on completing the task! Now, it's time to validate it. Here are the steps: + > - Click the (...) icon located at the upper right corner of the lab guide section and navigate to the Lab Validation Page. + > - Hit the Validate button for the corresponding task.If you receive a success message, you can proceed to the next task. + > - If not, carefully read the error message and retry the step, following the instructions in the lab guide. + > - If you need any assistance, please contact us at labs-support@spektrasystems.com. We are available 24/7 to help you out. +9. Select the **Resources** tab, then in actions select deallocate for deallocated the VM, it will be Cost effective. diff --git a/Instructions/CloudLabs.AI/10-Create a VM with PowerShell.md b/Instructions/CloudLabs.AI/10-Create a VM with PowerShell.md index d2874b0f..a660ae11 100644 --- a/Instructions/CloudLabs.AI/10-Create a VM with PowerShell.md +++ b/Instructions/CloudLabs.AI/10-Create a VM with PowerShell.md @@ -1,36 +1,37 @@ # 10 - Create a VM with PowerShell -In this walk-through, we will configure the Cloud Shell, use Azure PowerShell module to create a resource group and virtual machine, and review Azure Advisor recommendations. +In this walk-through, we will configure the Cloud Shell, use Azure PowerShell module to create a resource group and virtual machine, and review Azure Advisor recommendations. -# Task 1: Configure the Cloud Shell +## Task 1: Configure the Cloud Shell -In this task, we will configure Cloud Shell. +In this task, we will configure Cloud Shell. 1. Click on the Azure Portal icon on the VM desktop and login with the Azure credentials from the Lab Environment output page. 2. From the Azure portal, open the **Azure Cloud Shell** by clicking on the icon in the top right of the Azure Portal. - ![Screenshot of Azure Portal Azure Cloud Shell icon.](../images/1002.png) + ![Screenshot of Azure Portal Azure Cloud Shell icon.](../images/AZ-900-1001.png) -3. If you have previously used the Cloud Shell, proceed to the next task. +3. If you have previously used the Cloud Shell, proceed to the next task. 4. When prompted to select either **Bash** or **PowerShell**, select **PowerShell**. -5. When prompted, select **Show advanced settings** and then select **Use existing** and choose existing resource group. Then select **Create new** against Storage account as well as File Share and provide a unique value in both of the fields and then click on **Create storage**, and wait for the Azure Cloud Shell to initialize. +5. When prompted, select **Show advanced settings** and then select **Use existing** and choose existing resource group. Then select **Create new** against Storage account as well as File Share and provide a unique value in both of the fields and then click on **Create storage**, and wait for the Azure Cloud Shell to initialize. -# Task 2: Create a resource group and virtual machine -In this task, we will use PowerShell to create a resource group and a virtual machine. +## Task 2: Create a virtual machine + +In this task, we will use PowerShell to create a resource group and a virtual machine. 1. Ensure **PowerShell** is selected in the upper-left drop-down menu of the Cloud Shell pane. -2. In the PowerShell session, within the Cloud Shell pane, get existing resource group. +2. In the PowerShell session, within the Cloud Shell pane, get existing resource group. ``` Get-AZResourceGroup ``` -3. Verify your resource group. +3. Verify your resource group. ``` Get-AzResourceGroup | Format-Table @@ -48,19 +49,21 @@ In this task, we will use PowerShell to create a resource group and a virtual ma -SecurityGroupName "myNSGPS" ` -PublicIpAddressName "myPublicIpPS" ``` - **Note**: Deployment ID can be obtained from the Lab Environment output page. Wait for VM to deploy before closing PowerShell + + **Note**: Wait for VM to deploy before closing PowerShell 5. Close the PowerShell session Cloud Shell pane. 6. In the Azure portal, search for **Virtual machines** and verify the **myVMPS** is running. This may take a few minutes. - ![Screenshot of the virtual machines page with myVMPS in a running state.](../images/1001.png) + ![Screenshot of the virtual machines page with myVMPS in a running state.](../images/AZ-900-10-02.png) -7. Access the new virtual machine and review the Overview and Networking settings to verify your information was correctly deployed. +7. Access the new virtual machine and review the Overview and Networking settings to verify your information was correctly deployed. -# Task 3: Execute commands in the Cloud Shell -In this task, we will practice executing PowerShell commands from the Cloud Shell. +## Task 3: Execute commands in the Cloud Shell + +In this task, we will practice executing PowerShell commands from the Cloud Shell. 1. From the Azure portal, open the **Azure Cloud Shell** by clicking on the icon in the top right of the Azure Portal. @@ -72,42 +75,50 @@ In this task, we will practice executing PowerShell commands from the Cloud Shel Get-AzVM -name myVMPS -status | Format-Table -autosize ``` -4. Stop the virtual machine. When prompted confirm (Yes) to the action. +4. Stop the virtual machine. When prompted confirm (Yes) to the action. ``` Stop-AzVM -ResourceGroupName myRGPS-[deployId] -Name myVMPS ``` + **Note**: Replace myRGPS-[deployId] with **myRGPS-** -5. Verify your virtual machine state. The PowerState should now be **deallocated**. You can also verify the virtual machine status in the portal. +5. Verify your virtual machine state. The PowerState should now be **deallocated**. You can also verify the virtual machine status in the portal. ``` Get-AzVM -name myVMPS -status | Format-Table -autosize ``` -# Task 4: Review Azure Advisor Recommendations +## Task 4: Review Azure Advisor Recommendations + -**Note:** This same task is in the Create a VM with Azure CLI lab. +**Note:** This same task is in the Create a VM with Azure CLI lab. -In this task, we will review Azure Advisor recommendations for our virtual machine. +In this task, we will review Azure Advisor recommendations for our virtual machine. -1. From the **All services** blade, search for and select **Advisor**. +1. From the **All services** blade, search for and select **Advisor**. -2. On the **Advisor** blade, select **Overview**. Notice recommendations are grouped by High Availability, Security, Performance, and Cost. +2. On the **Advisor** blade, select **Overview**. Notice recommendations are grouped by Reliability, Security, Performance, and Cost. - ![Screenshot of the Advisor Overview page. ](../images/1003.png) + ![Screenshot of the Advisor Overview page. ](../images/AZ-900-10-03.png) -3. Select **All recommendations** and take time to view each recommendation and suggested actions. +3. Select **All recommendations** and take time to view each recommendation and suggested actions. - **Note:** Depending on your resources, your recommendations will be different. + **Note:** Depending on your resources, your recommendations will be different. - ![Screenshot of the Advisor All recommendations page. ](../images/1004.png) + ![Screenshot of the Advisor All recommendations page. ](../images/AZ-900-10-04.png) -4. Notice that you can download the recommendations as a CSV or PDF file. +4. Notice that you can download the recommendations as a CSV or PDF file. -5. Notice that you can create alerts. +5. Notice that you can create alerts. -6. If you have time, continue to experiment with Azure PowerShell. +6. If you have time, continue to experiment with Azure PowerShell. Congratulations! You have configured Cloud Shell, created a virtual machine using PowerShell, practiced with PowerShell commands, and viewed Advisor recommendations. +> **Congratulations** on completing the task! Now, it's time to validate it. Here are the steps: +> - Click the (...) icon located at the upper right corner of the lab guide section and navigate to the Lab Validation Page. +> - Hit the Validate button for the corresponding task.If you receive a success message, you can proceed to the next task.  +> - If not, carefully read the error message and retry the step, following the instructions in the lab guide. +> - If you need any assistance, please contact us at labs-support@spektrasystems.com. We are available 24/7 to help you out. +Select the **Resources** tab, then in actions select deallocate to deallocate the VM, it will be Cost effective diff --git a/Instructions/CloudLabs.AI/11-Create a VM with the CLI.md b/Instructions/CloudLabs.AI/11-Create a VM with the CLI.md index 041fe90c..8e572d71 100644 --- a/Instructions/CloudLabs.AI/11-Create a VM with the CLI.md +++ b/Instructions/CloudLabs.AI/11-Create a VM with the CLI.md @@ -1,6 +1,6 @@ # 11 - Create a VM with the CLI -In this walk-through, we will configure the Cloud Shell, use Azure CLI to create a resource group and virtual machine, and review Azure Advisor recommendations. +In this walk-through, we will configure the Cloud Shell, use Azure CLI to create a virtual machine, and review Azure Advisor recommendations. # Task 1: Configure the Cloud Shell @@ -10,7 +10,7 @@ In this task, we will configure Cloud Shell. 2. From the Azure portal, open the **Azure Cloud Shell** by clicking on the icon in the top right of the Azure Portal. - ![Screenshot of Azure Portal Azure Cloud Shell icon.](../images/1002.png) + ![Screenshot of Azure Portal Azure Cloud Shell icon.](../images/AZ-900-1101.png) 3. If you have previously used the Cloud Shell, proceed to the next task. @@ -18,13 +18,13 @@ In this task, we will configure Cloud Shell. 5. When prompted, select **Show advanced settings** and then select **Use existing** and choose existing resource group. Then select **Create new** against Storage account as well as File Share and provide a unique value in both of the fields and then click on **Create storage**, and wait for the Azure Cloud Shell to initialize. -# Task 2: Create a resource group and a virtual machine +# Task 2: Use CLI to create a virtual machine In this task, we will use Azure CLI to create a resource group and a virtual machine. 1. Ensure **Bash** is selected in the upper-left drop-down menu of the Cloud Shell pane (and if not, select it). - ![Screenshot of Azure Portal Azure Cloud Shell with the Bash dropdown highlighted.](../images/1002a.png) + ![Screenshot of Azure Portal Azure Cloud Shell with the Bash dropdown highlighted.](../images/Az-900-1102.png) 2. In the Bash session, within the Cloud Shell pane, get existing resource group. @@ -52,13 +52,15 @@ In this task, we will use Azure CLI to create a resource group and a virtual mac >**Note**: If you are using the command line on a Windows computer, replace the backslash (`\`) character with the caret (`^`) character. + **Note**: Replace myRGCLI-[deployId] with **myRGCLI-** + **Note**: The command will take 2 to 3 minutes to complete. The command will create a virtual machine and various resources associated with it such as storage, networking and security resources. Do not continue to the next step until the virtual machine deployment is complete. 5. When the command finishes running, in the browser window, close the Cloud Shell pane. 6. In the Azure portal, search for **Virtual machines** and verify that **myVMCLI** is running. - ![Screenshot of the virtual machines page with myVMPS in a running state.](../images/1101.png) + ![Screenshot of the virtual machines page with myVMPS in a running state.](../images/Az-900-11-03.png) # Task 3: Execute commmands in the Cloud Shell @@ -87,6 +89,8 @@ In this task, we will practice executing CLI commands from the Cloud Shell. az vm show --resource-group myRGCLI-[deployId] --name myVMCLI --show-details --output table ``` +**Note**: Replace myRGCLI-[deployId] with **myRGCLI-** + # Task 4: Review Azure Advisor Recommendations In this task, we will review Azure Advisor recommendations. @@ -95,15 +99,15 @@ In this task, we will review Azure Advisor recommendations. 1. From the **All services** blade, search for and select **Advisor**. -2. On the **Advisor** blade, select **Overview**. Notice recommendations are grouped by High Availability, Security, Performance, and Cost. +2. On the **Advisor** blade, select **Overview**. Notice recommendations are grouped by Reliability, Security, Performance, and Cost. - ![Screenshot of the Advisor Overview page. ](../images/1103.png) + ![Screenshot of the Advisor Overview page. ](../images/Az-900-11-04.png) 3. Select **All recommendations** and take time to view each recommendation and suggested actions. **Note:** Depending on your resources, your recommendations will be different. - ![Screenshot of the Advisor All recommendations page. ](../images/1104.png) + ![Screenshot of the Advisor All recommendations page. ](../images/Az-900-1105.png) 4. Notice that you can download the recommendations as a CSV or PDF file. @@ -113,3 +117,11 @@ In this task, we will review Azure Advisor recommendations. Congratulations! You have configured Cloud Shell, created a virtual machine using Azure CLI, practiced with Azure CLI commands, and viewed Advisor recommendations. +> **Congratulations** on completing the task! Now, it's time to validate it. Here are the steps: +> - Click the (...) icon located at the upper right corner of the lab guide section and navigate to the Lab Validation Page. +> - Hit the Validate button for the corresponding task.If you receive a success message, you can proceed to the next task.  +> - If not, carefully read the error message and retry the step, following the instructions in the lab guide. +> - If you need any assistance, please contact us at labs-support@spektrasystems.com. We are available 24/7 to help you out. + +Select the **Resources** tab, then in actions select deallocate to deallocate the VM, it will be Cost effective + diff --git a/Instructions/CloudLabs.AI/12-Implement Azure Key Vault.md b/Instructions/CloudLabs.AI/12-Implement Azure Key Vault.md index 96c9a2c4..f4857d67 100644 --- a/Instructions/CloudLabs.AI/12-Implement Azure Key Vault.md +++ b/Instructions/CloudLabs.AI/12-Implement Azure Key Vault.md @@ -4,17 +4,17 @@ In this walkthrough, we will create an Azure Key vault and then create a passwor # Task 1: Create an Azure Key Vault -1. Sign in to the [Azure portal](https://portal.azure.com). +1. Click on the Azure Portal icon on the VM desktop and log in with the Azure using the Username and Password provided in the Lab **Environment Details** Tab. -2. From the **All services** blade, search for and select **Key vaults**, then select **+ Add**. +2. From the **All services** blade, search for and select **Key vaults**, then select **+ Create**. -3. Configure the key vault (replace **xxxx** in the name of the key vault with the deployment ID). Leave the defaults for everything else. +3. Configure the key vault. Leave the defaults for everything else. | Setting | Value | | --- | --- | | Subscription | **Use your subscription** | - | Resource group | **myRGKV-[deployId]** (use existing) | - | Key vault name | **keyvaulttestxxx** | + | Resource group | **myRGKV-** (use existing) | + | Key vault name | **keyvaulttest** | | Location | **East US** | | Pricing tier | **Standard** | | | | @@ -23,7 +23,7 @@ In this walkthrough, we will create an Azure Key vault and then create a passwor 5. Once the new key vault is provisioned, click **Go to resource**. Or you can locate your new key vault by searching for it. -6. Click on the key vault **Overview** tab and take note of the **DNS name**. Applications that use your vault through the REST API will need this URI. +6. Click on the key vault **Overview** tab and take note of the **Vault URI**. Applications that use your vault through the REST API will need this URI. 7. Take a moment to browse through some of the other key vault options. Under **Settings** review **Keys**, **Secrets**, **Certificates**, **Access Policies**, **Firewalls and virtual networks**. @@ -33,7 +33,7 @@ In this walkthrough, we will create an Azure Key vault and then create a passwor In this task, we will add a password to the key vault. -1. Under **Settings** click **Secrets**, then click **+ Generate/Import**. +1. Under **Objects** click **Secrets**, then click **+ Generate/Import**. 2. Configure the secret. Leave the other values at their defaults. Notice you can set an activation and expiration date. Notice you can also disable the secret. @@ -48,9 +48,16 @@ In this task, we will add a password to the key vault. 4. Once the secret has been successfully created, click on the **ExamplePassword**, and note it has a status of **Enabled** -5. Click the current version, note the the **Secret Identifier**. This is the url value that you can now use with applications. It provides a centrally managed and securely stored password. +5. Click the current version, and note the **Secret Identifier**. This is the URL value that you can now use with applications. It provides a centrally managed and securely stored password. 6. Click the button **Show Secret Value**, to display the password you specified earlier. -Congratulations! You have created an Azure Key vault and then created a password secret in that key vault, providing a securely stored, centrally managed password for use with applications. +Congratulations! You have created an Azure Key Vault and then created a password secret in that key vault, providing a securely stored, centrally managed password for use with applications. +> **Congratulations** on completing the task! Now, it's time to validate it. Here are the steps: +> - Click the (...) icon located at the upper right corner of the lab guide section and navigate to the Lab Validation Page. +> - Hit the Validate button for the corresponding task.If you receive a success message, you can proceed to the next task.  +> - If not, carefully read the error message and retry the step, following the instructions in the lab guide. +> - If you need any assistance, please contact us at labs-support@spektrasystems.com. We are available 24/7 to help you out. + + Select the **Resources** tab, then in actions select deallocate to deallocate the VM, it will be Cost effective diff --git a/Instructions/CloudLabs.AI/13-Secure network traffic.md b/Instructions/CloudLabs.AI/13-Secure network traffic.md index b6858808..1b71bf2e 100644 --- a/Instructions/CloudLabs.AI/13-Secure network traffic.md +++ b/Instructions/CloudLabs.AI/13-Secure network traffic.md @@ -6,19 +6,20 @@ In this walk-through, we will configure a network security group. In this task, we will create a Windows Server 2019 Datacenter virtual machine. -1. Sign in to the [Azure portal](https://portal.azure.com). +1. Click on the Azure Portal icon on the VM desktop. -2. From the **All services** blade, search for and select **Virtual machines**, and then click **+ Add**. +2. From the **Search resources, services, and docs** blade, search for and select **Virtual machines**, and then click **+ Create** then select Azure Virtual machines. 3. On the **Basics** tab, fill in the following information (leave the defaults for everything else): | Settings | Values | | -- | -- | | Subscription | **Choose your subscription**| - | Resource group | **myRGSecure-[deployId]** (use existing) | + | Resource group | **myRGSecure-** (use existing) | | Virtual machine name | **SimpleWinVM** | | Location | **(US) East US**| - | Image | **Windows Server 2019 Datacenter**| + | Availability option | **No infrastructure redundancy required** | + | Image | **Windows Server 2019 Datacenter Gen 2**| | Size | **Standard D2s v3**| | Administrator account username | **azureuser** | | Administrator account password | **Pa$$w0rd1234**| @@ -32,7 +33,7 @@ In this task, we will create a Windows Server 2019 Datacenter virtual machine. | NIC network security group | **None**| | | | -5. Switch to the **Management** tab, and in its **Monitoring** section, select the following setting: +5. Switch to the **Monitoring** tab, select the following setting: | Settings | Values | | -- | -- | @@ -55,14 +56,14 @@ In this task, we will create a Windows Server 2019 Datacenter virtual machine. In this task, we will create a network security group and associate it with the network interface. -1. From the **All services** blade, search for and select **Network security groups** and then click **+ Add** +1. From the **Search resources, services, and docs** blade, search for and select **Network security groups** and then click **+ create** -2. On the **Basics** tab of the **Create network security group** blade, specify the following settings. +2. On the **Basics** tab of the **Create network security group** blade, replace DeploymentId which is in environment details, specify the following settings. | Setting | Value | | -- | -- | | Subscription | **Choose your subscription** | - | Resource group | **myRGSecure** | + | Resource group | **myRGSecure** | | Name | **myNSGSecure** | | Region | **(US) East US** | | | | @@ -71,23 +72,23 @@ In this task, we will create a network security group and associate it with the 4. After the NSG is created, click **Go to resource**. -5. Under **Settings** click **Network interfaces** and then **+ Associate**. +5. Under **Settings** click **Network interfaces** and then **Associate**. -6. Select the network interace you identified in the previous task. +6. Select the **network interface** you identified in the previous task, and then Click **Ok**. # Task 3: Configure an inbound security port rule to allow RDP -In this task, we will allow RDP traffc to the virtual machine by configuring an inbound security port rule. +In this task, we will allow RDP traffic to the virtual machine by configuring an inbound security port rule. 1. In the Azure portal, navigate to the blade of the **SimpleWinVM** virtual machine. -2. On the **Overview** pane, click **Connect**. +2. On the **Overview** pane, click **Connect > RDP > Download the RDP file > Run that file**. -3. Attempt to connect to the virutal machine using RDP. By default the network security group does not allow RDP. Close the error window. +3. Attempt to connect to the virtual machine using RDP. By default the network security group does not allow RDP. Close the error window. ![Screenshot of the error message that the virtual machine connection has failed.](../images/1201.png) -4. On the virtual machine blade, scroll down to the **Settings** section, click on **Networking**, and notice the inbound rules for the **myNSGSecure (attached to network interface: simplewinvmxxxx)** network security group deny all inbound traffic except traffic within the virtual network and load balancer probes. +4. On the virtual machine blade, scroll down to the **Settings** section, click on **Networking**, and notice the inbound rules for the **myNSGSecure (attached to network interface: simplewinvm)** network security group deny all inbound traffic except traffic within the virtual network and load balancer probes. 5. On the **Inbound port rules** tab, click **Add inbound port rule** . Click **Add** when you are done. @@ -109,11 +110,11 @@ In this task, we will allow RDP traffc to the virtual machine by configuring an In this task, we will create a NSG outbound port rule that will deny Internet access and then test to ensure the rule is working. -1. Continue in your virtual machine RDP session. +1. Continue in your virtual machine RDP session. If pop-up comes then select **yes**. -2. After the machine starts, open an **Internet Explorer** browser. +2. After the machine starts, open an **Internet Explorer** browser, then click on **Ok**. -3. Verify that you can access **https://www.bing.com** and then close Internet Explorer. You will need to work through the IE enhanced security pop-ups. +3. Verify that you can access **https://www.bing.com** , click **OK** if pop-up comes, and then close Internet Explorer. You will need to work through the IE enhanced security pop-ups. **Note**: We will now configure a rule to deny outbound internet access. @@ -123,7 +124,7 @@ In this task, we will create a NSG outbound port rule that will deny Internet ac 6. Notice there is a rule, **AllowInternetOutbound**. This a default rule and cannot be removed. -7. Click **Add outbound port rule** to the right of the **myNSGSecure (attached to network interface: simplewinvmxxxx)** network security group and configure a new outbound security rule with a higher priority that will deny internet traffic. Click **Add** when you are finished. +7. Click **Add outbound port rule** to the right of the **myNSGSecure (attached to network interface: simplewinvm)** network security group and configure a new outbound security rule with a higher priority that will deny internet traffic. Click **Add** when you are finished. | Setting | Value | | -- | -- | @@ -142,3 +143,10 @@ In this task, we will create a NSG outbound port rule that will deny Internet ac 9. Browse to **https://www.microsoft.com**. The page should not display. You may need to work through additional IE enhanced security pop-ups. + > **Congratulations** on completing the task! Now, it's time to validate it. Here are the steps: + > - Click the (...) icon located at the upper right corner of the lab guide section and navigate to the Lab Validation Page. + > - Hit the Validate button for the corresponding task.If you receive a success message, you can proceed to the next task. + > - If not, carefully read the error message and retry the step, following the instructions in the lab guide. + > - If you need any assistance, please contact us at labs-support@spektrasystems.com. We are available 24/7 to help you out. + + 10. Select the **Resources** tab, then in actions select deallocate for deallocated the VM, it will be Cost effective. diff --git a/Instructions/CloudLabs.AI/14-Manage access with RBAC.md b/Instructions/CloudLabs.AI/14-Manage access with RBAC.md index e43224d4..44fc91ce 100644 --- a/Instructions/CloudLabs.AI/14-Manage access with RBAC.md +++ b/Instructions/CloudLabs.AI/14-Manage access with RBAC.md @@ -6,59 +6,57 @@ In this walkthrough, we will assign roles and view activity logs. In this task, we will assign the Virtual machine contributor role. -1. Click on the Azure Portal icon on the VM desktop and login with the Azure credentials from the Lab Environment output page. +1. Click on the Azure Portal icon on the VM desktop. -2. From the **All services** blade, search for and select **Resource groups** +2. From the **Search resources, services, and docs** blade, search for and select **Resource groups** 3. Then view the existing resource group. | Setting | Value | | -- | -- | - | Resource group | **myRGRBAC-[DeploymentId]** | - | | | - - **Note**: Deployment ID can be obtained from the Lab Environment output page. + | Resource group | **myRGRBAC-** | + 4. Click on the existing resource group 5. You will be directed to the overview page of the resource group 6. Click on the **Access control (IAM)** blade, and then switch to the **Roles** tab. Scroll through the large number of roles definitions that are available. Use the Informational icons to get an idea of each role's permissions. Notice there is also information on the number of users and groups that are assigned to each role. - ![Screenshot of IAM roles blade. Owner, contributor, and reader roles are shown.](../images/1501.png) + ![image](../images/AZ-900-access.png) -7. Switch to the **Role assignments** tab of the **myRGRBAC-[DeploymentId] - Access control (IAM)** blade, click **+ Add** and then click **Add role assignment**. Assign the Virtual Machine Contributor role to your user account, then click **Save**. + 7. Switch to the **Role assignments** tab of the **myRGRBAC- Access control (IAM)** blade, click **+ Add** and then click **Add role assignment**. In Assignment type keep things as default, then switch to Roles tab, Search for the Virtual Machine Contributor role and select. Switch to the "Members" tab and Assign access to: the user, group, or service principal. Then click + Select members and type your azure account name (Username: ) to the popup search function and hit 'select.' Then hit 'Review + Assign'. - | Setting | Value | - | -- | -- | - | Role | **Virtual machine contributor** | - | Assign access to | **user, group, or service principal** | - | Select | your user account | - | | | + ![image](../images/AZ-900-module-14-addrole.png) - **Note:** The Virtual machine contributor role lets you manage virtual machines, but not access their operating system or manage the virtual network and storage account they are connected to. User name can be obtained from the Lab Environment output page + **Note:** The Virtual machine contributor role lets you manage virtual machines, but not access their operating system or manage the virtual network and storage account they are connected to. User name can be obtained from the Lab Environment output page - ![Screenshot of the Add role assignment page filled out with the necessary information.](../images/1502.png) 8. **Refresh** the Role assignments page and ensure you are now listed as a Virtual machine contributor. - **Note**: This assignment does not actually grant you any additional provileges, since your account has already the Owner role, which includes all privilges associated with the Contributor role. + **Note**: This assignment does not grant you any additional privileges, since your account has already the Owner role, which includes all privileges associated with the Contributor role. # Task 2: Monitor role assignments and remove a role In this task, we will view the activity log to verify the role assignment, and then remove the role. -1. On the myRGRBAC-[DeploymentId] resource group blade, click **Activity log**. +1. On the myRGRBAC- resource group blade, click **Activity log**. 2. Click **Add filter**, select **Operation**, and then **Create role assignment**. ![Screenshot of the Activity log page with configured filter.](../images/1503.png) -3. Verify the Activity log shows your role assignment. +3. Verify the Activity log shows your role assignment. (With your User Id). **Note**: Can you figure out how to remove your role assignment? -Congratulations! You have assigned roles and viewed activity logs. + > **Congratulations** on completing the task! Now, it's time to validate it. Here are the steps: + > - Click the (...) icon located at the upper right corner of the lab guide section and navigate to the Lab Validation Page. + > - Hit the Validate button for the corresponding task.If you receive a success message, you can proceed to the next task. + > - If not, carefully read the error message and retry the step, following the instructions in the lab guide. + > - If you need any assistance, please contact us at labs-support@spektrasystems.com. We are available 24/7 to help you out. + + 4. Select the **Resources** tab, then in actions select deallocate for deallocated the VM, it will be Cost effective. diff --git a/Instructions/CloudLabs.AI/15-Manage resource locks.md b/Instructions/CloudLabs.AI/15-Manage resource locks.md index 73c6b3ff..69a5e482 100644 --- a/Instructions/CloudLabs.AI/15-Manage resource locks.md +++ b/Instructions/CloudLabs.AI/15-Manage resource locks.md @@ -1,30 +1,26 @@ # 15 - Manage resource locks -In this walkthrough, we will verify the existing resource group, add a lock to resource group and test deletion, test deleting a resource in the resource group, and remove the resource lock. +In this walkthrough, we will verify the existing resource group, add a lock to the resource group and test deletion, test deleting a resource in the resource group, and remove the resource lock. # Task 1: Verify the existing resource group In this task, we will verify the existing resource group for this exercise. -1. Click on the Azure Portal icon on the VM desktop and login with the Azure credentials from the Lab Environment output page. +1. Click on the **Azure Portal** icon on the VM desktop and log in with the **Username** and **Password** provided in the Lab Environment Tab. 2. From the **All services** blade, search for and select **Resource groups**, then view the existing resource group. - - # Task 2: Add a Lock to the resource group and test deletion In this task, we will add a resource lock to the resource group and test deleting the resource group. -1. In the Azure portal, navigate to the existing resource group **myRGLocks-[DeploymentId]**. - - **Note**: Deployment ID can be obtained from the Lab Environment output page. +1. In the Azure portal, navigate to the existing resource group **myRGLocks-**. 2. You can apply a lock to a subscription, resource group, or individual resource to prevent accidental deletion or modification of critical resources. 3. In the **Settings** section, click **Locks**, and then click **+ Add**. - ![Screenshot of the myRGLocks-[deployId] resource group with the Locks pane displaying.](../images/1601.png) + ![Screenshot of the myRGLocks-[deployId] resource group with the Locks pane displaying.](../images/AZ900-1501.png) 4. Configure the new lock. When you are done click **OK**. @@ -34,7 +30,7 @@ In this task, we will add a resource lock to the resource group and test deletin | Lock Type | **Delete** | | | | -5. Click **Overview** and click **Delete resource group**. Type the name of the resource group and click **OK**. You receive an error message stating the resource group is locked and can't be deleted. +5. Click **Overview** and click **Delete resource group**. Type the name of the resource group and click **Delete**. You receive an error message stating the resource group is locked and can't be deleted. ![Screenshot of the delete locks failed.](../images/1602.png) @@ -42,20 +38,19 @@ In this task, we will add a resource lock to the resource group and test deletin In this task, we will test if the resource lock protects a storage account in the resource group. -1. From the **All services** blade, search for and select **Storage accounts**, and then click **+ Add**. +1. From the **All services** blade, search for and select **Storage accounts**, and then click **+ Create**. -2. On the **Basics** tab of the **Create storage account** blade, fill in the following information (replace **xxxx** in the name of the storage account with the Deployment ID). Leave the defaults for everything else. +2. On the **Basics** tab of the **Create storage account** blade, fill in the following information. Leave the defaults for everything else. | Setting | Value | | --- | --- | | Subscription | **Select your subscription** | - | Resource group | **myRGLocks-[DeploymentId]** | - | Storage account name | **storageaccountxxxx** | + | Resource group | **myRGLocks-** | + | Storage account name | **storageaccount** | | Location | **(US) East US** | | Performance | **Standard** | - | Account kind | **StorageV2 (general purpose v2)** | | Replication | **Locally redundant storage (LRS)** | - | Access tier (default) | **Hot** | + 3. Click **Review + Create** to review your storage account settings and allow Azure to validate the configuration. @@ -73,13 +68,22 @@ In this task, we will test if the resource lock protects a storage account in th In this task, we will remove the resource lock and test. -1. Return to the **myRGLocks-[DeploymentId]** resource group blade and, in the **Settings** section, click **Locks**. +1. Return to the **myRGLocks-** resource group blade and, in the **Settings** section, click **Locks**. -2. Click **Delete** link to the right of the **RGLock** entry. +2. Click the **Delete** link to the right of the **RGLock** entry. - ![Screenshot of the Lock with the Delete link highlighted.](../images/1604.png) + ![Screenshot of the Lock with the Delete link highlighted.](../images/AZ-900-1502.png) 3. Return to the storage account blade and confirm you can now delete the resource. -Congratulations! You created a resource group, added a lock to resource group and tested deletion, tested deleting a resource in the resource group, and removed the resource lock. +Congratulations! You created a resource group, added a lock to the resource group and tested deletion, tested deleting a resource in the resource group and removed the resource lock. + + **Note** : **Wait for 10 minutes before heading to the Validation Step** + + > **Congratulations** on completing the task! Now, it's time to validate it. Here are the steps: +> - Click the (...) icon located at the upper right corner of the lab guide section and navigate to the Lab Validation Page. +> - Hit the Validate button for the corresponding task.If you receive a success message, you can proceed to the next task.  +> - If not, carefully read the error message and retry the step, following the instructions in the lab guide. +> - If you need any assistance, please contact us at labs-support@spektrasystems.com. We are available 24/7 to help you out. +Select the **Resources** tab, then in actions select deallocate to deallocate the VM, it will be Cost effective diff --git a/Instructions/CloudLabs.AI/16-Implement resource tagging.md b/Instructions/CloudLabs.AI/16-Implement resource tagging.md index 2120f993..b60eaf07 100644 --- a/Instructions/CloudLabs.AI/16-Implement resource tagging.md +++ b/Instructions/CloudLabs.AI/16-Implement resource tagging.md @@ -6,89 +6,88 @@ In this walkthrough, we will create a policy assignment that requires tagging, c In this task, we will configure the **Require a tag on resources** policy and assign it to our subscription. -1. Click on the Azure Portal icon on the VM desktop and login with the Azure credentials from the Lab Environment output page. +1. Click on the Azure Portal icon on the VM desktop. -2. From the **All services** blade, search for and select **Policy**. +2. From the **Search resources, services, and docs** blade, search for and select **Policy**. -3. Scroll down to the **Authoring** section, click **Assignments**, and then click **Assign Policy** from the top of the page. +3. In **Authoring** section, click **Assignments**, and then click **Assign Policy** from the top of the page. 4. Notice the **Scope** for our policy will be subscription wide. -5. Select the **Policy definition** ellipsis button (end of the textbox on the right). **Search** for policy definitions including the value **tag**, in the result set, click on the **Require a tag on resources** definition, then click **Select**. +5. Select the **Policy definition** ellipsis button (end of the textbox on the right). In **Available defination**, Search/Select **Require a tag and its value on resources** definition, then click **Add**. - ![Screenshot of Available Definitions pane with Require a tag on resources selected.](../images/1701.png) + ![Add tags.](../images/AZ-900-availabledefination.png) -6. On the **Assign policy** blade, in the **Parameters** tab, type in **Company** for the Tag name & **Contoso** for the Tag value. Click **Review + create**, and then **Create**. +6. On the **Assign policy** blade, Switch to **Parameters** tab, type in **Company** for the Tag name and **Contoso** for the Tag Value. Click **Review + create**, and then **Create**. - **Note:** This is a simple example to demonstrate tagging. Please note that the assignment takes around 30 minutes to take effect. - - ![Screenshot of Assign policy pane with the Tag name filled out.](../images/1702.png) + ![Add tags.](../images/AZ-900lab16.1.png) -7. The **Require a tag on resources** policy assignment is now in place. When a resource is created, it must include a tag with the Company key. + **Note:** This is a simple example to demonstrate tagging. Please note that the assignment takes around 30 minutes to take effect. + - ![Screenshot of Policy - Assignments pane with the allowed locations assignment highlighted.](../images/1703.png) +7. The **Require a tag and its value on resources** policy assignment is now in place. When a resource is created, it must include a tag with the Company : Contoso key. # Task 2: Create a storage account to test the required tagging In this task, we will create storage accounts to test the required tagging. -1. In the Azure Portal, from the **All services** blade, search for and select **Storage accounts**, and then click **+ Add**. +1. In the Azure Portal, from the **Search resources, services, and docs** blade, search for and select **Storage accounts**, and then click **+ Create**. -2. On the **Basics** tab of the **Create storage account** blade, fill in the following information (replace **xxxx** in the name of the storage account with the deployment ID). Leave the defaults for everything else. +2. On the **Basics** tab of the **Create storage account** blade, fill in the following information. Leave the defaults for everything else. | Setting | Value | | --- | --- | | Subscription | **Use your subscription** | | Resource group | **myRGTags** (select existing) | - | Storage account name | **storageaccountxxxx** | + | Storage account name | **storageaccount** | | Location | **(US) East US** | | | | - **Note:** Deployment ID can be obtained from the Lab Environment output page. -3. Click **Review + create** then click **create**. +3. Click **Review**. **Note:** We are testing to see what happens when the tag is not supplied. -4. You will receive a Validation failed message. Click the **Click here to view details** message. On the **Errors** blade, on the **Summary** tab note the error message stating that resource was disallowed by Policy. - - **Note:** If you view the Raw Error tab you will see the specific tag name that is required. +4. You will receive a Validation failed message. On the **Tags** tab note the error message stating that the resource was disallowed by Policy. - ![Screenshot of disallowed due to policy error.](../images/1704.png) + ![Screenshot of disallowed due to policy error.](../images/AZ-900-module-16-storageacc.png) - **Note - you need to wait 30 minutes for tagging to be complete.** - -5. Close the **Error** pane and again try to create storage account by following above **Step 1** and **Step 2**. Also Provide the tagging information. +5. Provide the tagging information:- | Setting | Value | | --- | --- | - | Tag name | **Company** (may not be in the drop-down list) | - | Tag value | **Contoso** | + | Name | **Company** (may not be in the drop-down list) | + | Value| **Contoso** (may not be in the drop-down list) | | | | -6. Click **Review + create** and verify that the validation was successful. Click **Create** to deploy the storage account. +6. Click **Review** and verify that the validation was successful. Click **Create** to deploy the storage account. # Task 3: View all resources with a specific tag -1. In the Azure Portal, from the **All services** blade, search for and select **Tags**. +1. In the Azure Portal, from the **Search resources, services, and docs** blade, search for and select **Tags**. 2. Note all tags and their values. Click the **Company : Contoso** key/value pair. This will display a blade showing the newly created storage account, as long as you included the tag during its deployment. ![Screenshot of the Tags with company and contoso selected.](../images/1705.png) -3. In the Portal, display the **All resources** blade. - 4. Click **Add filter** and add the **Company** tag key as the filter category. With the filter applied, only your storage account will be listed. - ![Screenshot of the All Resources filter with Company selected.](../images/1706.png) + ![Screenshot of the All Resources filter with Company selected.](../images/AZ-900-module-16-tags.png) + + + > **Congratulations** on completing the task! Now, it's time to validate it. Here are the steps:- + > - Click the (...) icon located at the upper right corner of the lab guide section and navigate to the Lab Validation Page. + > - Hit the Validate button for the corresponding task.If you receive a success message, you can proceed to the next task. + > - If not, carefully read the error message and retry the step, following the instructions in the lab guide. + > - If you need any assistance, please contact us at labs-support@spektrasystems.com. We are available 24/7 to help you out. # Task 4: Delete the policy assignment -In this task, we will remove the **Require a tag on resources** policy so it does not affect our future work. +In this task, we will remove the **Require a tag and its value on resources** policy so it does not affect our future work. -1. In the portal, from the **All services** blade, search for and select **Policy**. +1. In the portal, from the **Search resources, services, and docs** blade, search for and select **Policy**. -2. Click the **Require a tag on resources** policy entry. +2. Click the **Require a tag and its value on resources** policy entry. 3. Click **Delete Assignment** in the top menu. @@ -98,5 +97,5 @@ In this task, we will remove the **Require a tag on resources** policy so it doe In this walkthrough, we created a policy assignment that required tagging, created a storage account and tested the tagging, viewed resources with a specified tag, and removed the tagging policy. - +6. The testing is completed and validation also completed, then select the **Resources** tab, then in actions select deallocate for deallocated the VM, it will be Cost effective. diff --git a/Instructions/CloudLabs.AI/17-Create an Azure Policy.md b/Instructions/CloudLabs.AI/17-Create an Azure Policy.md index 6a638ecc..50baea85 100644 --- a/Instructions/CloudLabs.AI/17-Create an Azure Policy.md +++ b/Instructions/CloudLabs.AI/17-Create an Azure Policy.md @@ -1,14 +1,14 @@ # 17 - Create an Azure Policy -In this walkthrough, we will create an Azure Policy to restrict deployment of Azure resources to a specific location. +In this walkthrough, we will create an Azure Policy to restrict the deployment of Azure resources to a specific location. # Task 1: Create a Policy assignment In this task, we will configure the allowed location policy and assign it to our subscription. -1. Click on the Azure Portal icon on the VM desktop and login with the Azure credentials from the Lab Environment output page. +1. If not before login to Azure portal, Click on the **Azure Portal** icon on the VM desktop and log in with the **Username** and **Password** . -2. From the **All services** blade, search for and select **Policy**, under the **Authoring** section click **Definitions**. Take a moment to review the list of built-in policy definitions. For example, in the **Category** drop-down select only **Compute**. Notice the **Allowed virtual machine SKUs** definition enables you to specify a set of virtual machine SKUs that your organization can deploy. +2. From the **Search resources, Services, and docs(G+/)** blade, search for and select **Policy**, under the **Authoring** section click **Definitions**. Take a moment to review the list of built-in policy definitions. For example, in the **Category** drop-down select only **Compute**. Notice the **Allowed virtual machine size SKUs** definition enables you to specify a set of virtual machine SKUs that your organization can deploy. 3. Return to the **Policy** page, under the **Authoring** section click **Assignments**. An assignment is a policy that has been assigned to take place within a specific scope. For example, a definition could be assigned to the subscription scope. @@ -16,23 +16,23 @@ In this task, we will configure the allowed location policy and assign it to our 5. On the **Assign Policy** page, select the Scope selector by clicking the ellipsis. - ![Screenshot of the scope selector ellipses.](../images/1401.png) + ![Screenshot of the scope selector ellipses.](../images/scope.png) 6. Ensure your subscription is selected. Your subscription name might be different. Notice you can optionally scope the policy to a resource group. Leave the defaults and click **Select**. - **Note**: A scope determines what resources or grouping of resources the policy assignment applies to. In our case we could assign this policy to a specific resource group, however we chose to assign the policy at subscription level. Be aware that resources can be excluded based on the scope configuration. Exclusions are optional. + **Note**: A scope determines what resources or grouping of resources the policy assignment applies to. In our case we could assign this policy to a specific resource group, however, we chose to assign the policy at the subscription level. Be aware that resources can be excluded based on the scope configuration. Exclusions are optional. - ![Screenshot of the Scope pane with field values filled in and the Select button highlighted. ](../images/1402.png) + ![Screenshot of the Scope pane with field values filled in and the Select button highlighted. ](../images/scope2.png) -7. Select the **Policy definition** ellipsis button. In the **Search** box type **location** and click on the **Allowed locations** definition, then click **Select**. +7. Select the **Policy definition** ellipsis button. In the **Search** box type **location** and click on the **Allowed locations** definition, then click **Add**. **Note**: This **Allowed Locations** policy definition will specify a location into which all resources must be deployed. If a different location is chosen, deployment will not be allowed. For more information view the [Azure Policy Samples](https://docs.microsoft.com/en-us/azure/governance/policy/samples/index) page. - ![Screenshot of Available Definitions pane with various fields highlighted and the Audit VMs that do not use managed disks option selected.](../images/1403.png) + ![Screenshot of Available Definitions pane with various fields highlighted and the Audit VMs that do not use managed disks option selected.](../images/location.png) -8. In the **Assign policy** pane, switch to the **Parameters** tab, click on the arrow at the end of the **Allowed locations** box and from the subsequent list choose **Japan West**. Leave all other values as they are and click **Review + create**, and then **Create**. +8. In the **Assign policy** pane, switch to the **Parameters** tab, click on the arrow at the end of the **Allowed locations** box, and from the subsequent list choose **Japan West**. Leave all other values as they are and click **Review + create**, and then **Create**. - ![Screenshot of Assign policy pane with various fields filled in along with the location Japan West populated and the assign button highlighted.](../images/1404.png) + ![Screenshot of Assign policy pane with various fields filled in along with the location Japan West populated and the assign button highlighted.](../images/allowedloc.png) 9. The **Allowed locations** policy assignment is now listed on the **Policy - Assignments** pane and it is now in place, enforcing the policy at the scope level we specified (subscription level). @@ -40,23 +40,28 @@ In this task, we will configure the allowed location policy and assign it to our In this task, we will test the Allowed location policy. -1. In the Azure Portal, from the **All services** blade, search for and select **Storage accounts**, and then click **+ Add**. +1. In the Azure Portal, from the **Search resources, Services, and docs(G+/)** blade, search for and select **Storage accounts**, and then click **+ Create**. -2. Configure the storage account (replace **xxxx** in the name of the storage account with the deployment ID). Leave the defaults for everything else. +2. Configure the storage account. Leave the defaults for everything else. | Setting | Value | | --- | --- | | Subscription | **Use your subscription** | | Resource group | **myRGPolicy** (use existing) | - | Storage account name | **storageaccountxxxx** | + | Storage account name | **storageaccount** | | Location | **(US) East US** | | | | - **Note**: Deployment ID can be obtained from the Lab Environment output page. - -3. Click **Review + create** and then click **Create**. - -4. You will receive the deployment failed error stating that resource was disallowed by policy, including the **Allowed locations** policy name. + Click on **Review** and once validation gets success, click on **Create**. + + You will receive the error message under the Region setting stating that Policy enforcement and Value does not meet requirements on resource, including the **Allowed locations** policy name. + + + > **Congratulations** on completing the task! Now, it's time to validate it. Here are the steps: + > - Click the (...) icon located at the upper right corner of the lab guide section and navigate to the Lab Validation Page. + > - Hit the Validate button for the corresponding task.If you receive a success message, you can proceed to the next task. + > - If not, carefully read the error message and retry the step, following the instructions in the lab guide. + > - If you need any assistance, please contact us at labs-support@spektrasystems.com. We are available 24/7 to help you out. # Task 3: Delete the policy assignment @@ -64,24 +69,24 @@ In this task, we will remove the Allowed location policy assignment and test. We will delete the policy assignment to ensure we are not blocked on any future work we wish to do. -1. From the **All services** blade, search for and select **Policy**, and then click your **Allowed locations** policy. +1. From the **Search resources, Services, and docs(G+/)** blade, search for and select **Policy** and then click your **Allowed locations** policy. **Note**: On the **Policy** blade, you can view the compliance state of the various policies you have assigned. - **Note**: The Allowed location policy may show non-compliant resources. If so, these are resources created prior to the policy assignment. + **Note**: The Allowed location policy may show non-compliant resources. If so, these are resources created before the policy assignment. 2. Click **Delete Assignment** in the top menu. - ![Screenshot of the Delete Assignment menu item.](../images/1407.png) + ![Screenshot of the Delete Assignment menu item.](../images/delete.png) 3. Confirm you wish to delete the policy assignment in the **Delete assignment** dialogue by clicking **Yes** 4. Try to create another storage account to ensure the policy is no longer in effect. **Note**: Common scenarios where the **Allowed locations** policy can be useful include: - - *Cost Tracking*: You could have different subscriptions for different regional locations. The policy will ensure that all resources are deployed in the intended region to help cost tracking. - - *Data Residency and Security compliance*: You could also have data residency requirements, and create subscriptions per customer or specific workloads, and define that all resources must be deployed in a particular datacenter to ensure data and security compliance requirements. + - *Cost Tracking*: You could have different subscriptions for different regional locations. The policy will ensure that all resources are deployed in the intended region to help with cost tracking. + - *Data Residency and Security compliance*: You could also have data residency requirements, create subscriptions per customer or specific workloads, and define that all resources must be deployed in a particular data center to ensure data and security compliance requirements. -Congratulations! You have created an Azure Policy to restrict deployment of Azure resources to a particular datacenter. +Congratulations! You have created an Azure Policy to restrict the deployment of Azure resources to a particular data center. diff --git a/Instructions/CloudLabs.AI/18-Explore the Trust Center.md b/Instructions/CloudLabs.AI/18-Explore the Trust Center.md index 54619ca6..75a238bb 100644 --- a/Instructions/CloudLabs.AI/18-Explore the Trust Center.md +++ b/Instructions/CloudLabs.AI/18-Explore the Trust Center.md @@ -1,41 +1,25 @@ -# 18 - Explore the Trust Center +# 18 - Explore Microsoft Compliance Offerings -In this walkthrough, we will access the Trust Center, Service Trust Portal (STP), and Compliance Manager. +In this walkthrough, we will access the Compliance Offerings and Service Trust Portal (STP). -# Task 1: Access the Trust Center +# Task 1: Access Microsoft Compliance Offerings -1. In a browser, access the [Microsoft Trust Center compliance offerings](https://docs.microsoft.com/en-us/microsoft-365/compliance/offering-home) page. +1. In a own browser, access the [Compliance Offerings](https://docs.microsoft.com/en-us/compliance/regulatory/offering-home) page. -2. Notice the offerings are grouped into **Global**, **US Government**, **Industry**, and **Regional**. +2. On the Compliance page, notice the offerings are grouped into **Global**, **US Government**, **Industry**, and **Regional**. -3. In the **Global** group, click **ISO 27001**. +3. In the **Global** group, click **ISO 27001**. Scroll through the information provided. Scrolling down on the page will take you to a section **Microsoft Purview Compliance Manager**. - **Note:** The ISO 27001 Information Security Management Standards page is typical of the type of complaince information we provide. - -4. Notice there is an overview of the standard; in-scope cloud services; audits, reports and certificates; assessments and reports; FAQs; resources; and white papers. - -5. Browse through any content of interest to you. - - **Note:** Is there a compliance offering your organization is most interested in? + **Note:** The ISO 27001 Information Security Management Standards page is typical of the type of compliance information we provide. # Task 2: Access the Service Trust Portal (STP) -1. In a browser, access the [Service Trust Portal (STP)](https://servicetrust.microsoft.com) - -2. Notice the **Audit** section. In this section are independent audit reports for different Microsoft's Cloud services. - - **Note:** At this time of this writing, **ISO 27001** related content is accessible via a clickable label. Click the label to open the page displaying ISO 27001 related content. If that is not available, choose another item. - -3. It may take a couple of minutes for all the audits to load. You will need to login to your Microsoft account to view specific reports. - -4. If you have time, review any other information that is of interest to you. - -# Task 3: Access the Compliance Manager - -1. The Compliance Manager makes it easy to perform risk assessments of Microsoft's cloud services. Use Compliance Manager to manage your organization's compliance activities from implementation to reporting. If you want to try the Compliance Manager you will need to login. +1. In a own browser, access the [Service Trust Portal](https://servicetrust.microsoft.com/) page. -2. Instead, visit the [Compliance Guides](https://servicetrust.microsoft.com/Documents/TrustDocuments) page. +2. Notice the **Reports, Whitepapers and Artifacts** section. In this section their are independent audit reports for different Microsoft Cloud services. + +3. Log in to your Microsoft account to view specific reports. -3. If you have time, review any other information that is of interest to you. +4. Click on download and if asking for a Service level agreement, click on agree. -Congratulations! In this walkthrough, you accessed the Trust Center, Service Trust Portal (STP), and Compliance Manager. +Congratulations! In this walkthrough, you accessed the Trust Center and Service Trust Portal (STP). diff --git a/Instructions/CloudLabs.AI/19-Use the Azure Pricing Calculator.md b/Instructions/CloudLabs.AI/19-Use the Azure Pricing Calculator.md index 32ae1a85..b20d28b2 100644 --- a/Instructions/CloudLabs.AI/19-Use the Azure Pricing Calculator.md +++ b/Instructions/CloudLabs.AI/19-Use the Azure Pricing Calculator.md @@ -12,9 +12,9 @@ In this task, we will estimate cost of a sample infrastructure by using the Azur 2. To add details of your VM configuration, click **Virtual Machines** on the **Products** tab. Scroll down to view the virtual machine details. -3. Replace **Your Estimate** and **Virtual Machines** text with more descriptive names for your Azure Pricing Calculator estimate and your VM configuration. This walkthrough example uses **My Pricing Calculator Estimate** for the estimate, and **Windows VM** for the VM configuration. +3. Replace **Your Estimate** and **Virtual Machines** text with more descriptive names for your Azure Pricing Calculator estimate and your VM configuration. This walkthrough example uses **My Pricing Calculator Estimate** for the estimate. - ![Screenshot of the vm configuration area within the Azure pricing calculator estimate webpage. The highlighted estimate name and vm configuration name indicate how to add an estimate name and a vm configuration name to an Azure pricing calculator estimate.](../images/1901.png) + ![Screenshot of the vm configuration area within the Azure pricing calculator estimate webpage. The highlighted estimate name and vm configuration name indicate how to add an estimate name and a vm configuration name to an Azure pricing calculator estimate.](../images/AZ-900-vm.png) 4. Modify the default VM configuration. @@ -32,15 +32,15 @@ In this task, we will estimate cost of a sample infrastructure by using the Azur **Note**: The VM instance specifications and pricing may differ from those in this example. Follow this walkthrough by choosing an instance that matches the example as closely as possible. To view details about the different VM product options, choose **Product details** from the **More info** menu on the right. -5. Set the **Billing Option** to **Pay as you go**. +5. Set the **Savings Options** to **Pay as you go**. - ![Screenshot of the vm billing options area within the Azure pricing calculator estimate webpage. The highlighted pay as you go billing option indicates how to specify a billing option for a vm within an Azure pricing calculator estimate.](../images/1903.png) + ![Screenshot of the vm billing options area within the Azure pricing calculator estimate webpage. The highlighted pay as you go billing option indicates how to specify a billing option for a vm within an Azure pricing calculator estimate.](../images/AZ-900lab19.1.png) 6. In Azure, a month is defined as 730 hours. If your VM needs to be available 100 percent of the time each month, you set the hours-per-month value to `730`. This walkthrough example requires one VM to be available 50 percent of the time each month. Leave the number of VMs set at `1`, and change the hours-per-month value to `365`. - ![Screenshot of the vm billing options area within the Azure pricing calculator estimate webpage. The highlighted number of vm instances and hours per month options indicate how to specify the number of instances and hours per month for a vm within an Azure pricing calculator estimate.](../images/1904.png) + ![Screenshot of the vm billing options area within the Azure pricing calculator estimate webpage. The highlighted number of vm instances and hours per month options indicate how to specify the number of instances and hours per month for a vm within an Azure pricing calculator estimate.](../images/AZ-900lab19.2.png) 7. In the **Managed OS Disks** pane, modify the default VM storage configuration. @@ -56,11 +56,11 @@ In this task, we will estimate cost of a sample infrastructure by using the Azur 9. Add a name for your VM bandwidth configuration. This walkthrough example uses the name **Bandwidth: Windows VM**. Modify the default bandwidth configuration by adding the following details. - | Region | Zone 1 Outbound Data Transfer Amount | + | Region | Outbound Data Transfer Amount | | ------ | -------------------------------------- | | North Europe | 50 GB | - ![Screenshot of the network bandwidth configuration area within the Azure pricing calculator estimate webpage. The highlighted examples of user inputted bandwidth property values indicate how to specify a bandwidth configuration for a vm within an Azure pricing calculator estimate.](../images/1907.png) + ![Screenshot of the network bandwidth configuration area within the Azure pricing calculator estimate webpage. The highlighted examples of user inputted bandwidth property values indicate how to specify a bandwidth configuration for a vm within an Azure pricing calculator estimate.](../images/AZ-900-bandwidthvm.png) 10. To add an Application Gateway, return to the top of the Azure Pricing Calculator webpage. In the **Networking** product menu, click the **Application Gateway** tile. In the **Application Gateway** message dialog, click **View**. @@ -88,7 +88,7 @@ In this task, we will estimate cost of a sample infrastructure by using the Azur | 50 GB | | | | - ![Screenshot of the application gateway configuration area within the Azure pricing calculator estimate webpage.](../images/1909.png) + ![Screenshot of the application gateway configuration area within the Azure pricing calculator estimate webpage.](../images/AZ-900-appgateway.png) # Task 2: Review the pricing estimate @@ -101,8 +101,8 @@ In this task, we will review the results of the Azure Pricing Calculator. 2. Change the currency to Euro, then select **Export** to download a copy of the estimate for offline viewing in Microsoft Excel (`.xlsx`) format. - ![Screenshot of the total estimated monthly costs within the Azure pricing calculator estimate webpage. The highlighted euro currency option indicates how to modify the currency used in an Azure pricing calculator estimate. The highlighted export option illustrates how to download a copy of an estimate for offline viewing.](../images/1910.png) + ![Screenshot of the total estimated monthly costs within the Azure pricing calculator estimate webpage. The highlighted euro currency option indicates how to modify the currency used in an Azure pricing calculator estimate. The highlighted export option illustrates how to download a copy of an estimate for offline viewing.](../images/AZ-900-totalcost.png) - ![Screenshot of an example Azure pricing calculator estimate in Microsoft excel.](../images/1911.png) + ![Screenshot of an example Azure pricing calculator estimate in Microsoft excel.](../images/AZ-900-cost.png) Congratulations! You downloaded an estimate from the Azure Pricing Calculator. diff --git a/Instructions/CloudLabs.AI/20-Use the Azure TCO Calculator.md b/Instructions/CloudLabs.AI/20-Use the Azure TCO Calculator.md index 09d77ed5..1aa4dc1b 100644 --- a/Instructions/CloudLabs.AI/20-Use the Azure TCO Calculator.md +++ b/Instructions/CloudLabs.AI/20-Use the Azure TCO Calculator.md @@ -90,6 +90,6 @@ In this task, we will review cost saving recommendations and download a report. 3. To save or print a PDF copy of the report, click **Download**. - ![Screenshot of the report pane of the tco calculator in Azure. The highlighted and completed input fields indicates how set the tco calculator timeframe to three years and the region to north europe. A graph shows the cost of on-premises infrastructure and workloads off-set against the reduced cost of using Azure.](../images/2001.png) + ![Screenshot of the report pane of the tco calculator in Azure. The highlighted and completed input fields indicates how set the tco calculator timeframe to three years and the region to north europe. A graph shows the cost of on-premises infrastructure and workloads off-set against the reduced cost of using Azure.](../images/AZ-900-20-1.png) Congratulations! You have used the TCO Calculator to generate a cost comparison report for an on-premises environment. diff --git a/Instructions/CloudLabs.AI/21-Calculate Composite SLAs.md b/Instructions/CloudLabs.AI/21-Calculate Composite SLAs.md index 024d7866..6f5c4e7d 100644 --- a/Instructions/CloudLabs.AI/21-Calculate Composite SLAs.md +++ b/Instructions/CloudLabs.AI/21-Calculate Composite SLAs.md @@ -13,11 +13,19 @@ Our example application consists of these Azure services. We will not go in to d 1. In a browser, go to the [SLA summary for Azure services](https://azure.microsoft.com/en-us/support/legal/sla/summary/) page. -2. Locate the **App Service** SLA uptime value, **99.95%**. Click **View full details**, and then expand **SLA details**. Notice the **Monthly uptime percentages** and **Service Credits**. +2. Don't make any changes, leave the settings as default, then select the latest version of the SLA. -3. Return to the SLA webpage and locate the **Azure Active Directory B2C** service and determine the SLA uptime value, **99.9%**. + ![screenshot of the SLA UI.](../images/AZ-900-year.png) -4. Locate the **Application Gateway** SLA uptime value, **99.95%**. +3. It will re-direct you to the word file, download the file, and do press **CTRL + F** in your keyboard. + + ![screenshot of the downloading the word file.](../images/AZ-900-download.png) + +4. Type/Search for **App Service** SLA uptime value, **99.95%**. Click **View full details**, and then expand **SLA details**. Notice the **Monthly uptime percentages** and **Service Credits**. + +3. Then again Type/Search for **Azure Active Directory B2C** service and determine the SLA uptime value, **99.9%**. + +4. Type/Search for **Application Gateway** SLA uptime value, **99.95%**. 5. The Azure SQL database uses Premium tiers but is not configured for Zone Redundant Deployments. Locate the **Azure SQL Database** SLA uptime value, **99.99%**. diff --git a/Instructions/CloudLabs.AI/22-Open a Support Request.md b/Instructions/CloudLabs.AI/22-Open a Support Request.md index 0b878bd9..c28c4f40 100644 --- a/Instructions/CloudLabs.AI/22-Open a Support Request.md +++ b/Instructions/CloudLabs.AI/22-Open a Support Request.md @@ -4,23 +4,24 @@ In this walkthrough, we will view available support plan options and then practi # Task 1: View available support plan options and a technical support request -1. Sign in to the [**Azure portal**](https://portal.azure.com) with the Azure credentials from Lab Environment output page. +1. Sign in to the [**Azure portal**](https://portal.azure.com) with the Username and Password provided in the Lab **Environment Details** Tab. 2. From the **All services** blade, search for and select **Help + support**, then select **Support plans**. -3. Take a few minutes to review the different support plans. Notice what is included in the **Basic** plan. +3. Take a few minutes to review the different support plans. Notice what is included in the **Basic** plan. (Need to refresh the page.) -4. Click **+ New support request**. The ticket is created based on the values you specify. +4. Click **+ Create a support request**. The ticket is created based on the values you specify. | Setting | Value| |----|--------| | Issue Type| **Technical** | | Subscription | **Choose your subscription** | - | Service | **All services**, **Virtual Machine running Linux** | + | Service | **All services** | + | Service type | **Virtual Machine running Linux** | | Resource | **General Question** | | Summary | **Disk access is very slow for large files** | | Problem type | **VM performance** | - | Problem subtype | **Disk throughput or IOPS is lower than expected** | + | Problem subtype | **Disk throughput or IOPS are lower than expected** | | | | 5. Click **Next: Solutions >>** and read through the recommended solutions. @@ -46,10 +47,12 @@ In this walkthrough, we will view available support plan options and then practi 3. Click **Next: Details**. When submitting a real support request you would provide as much information as possible to allow for a speedy resolution of the issue. - **Note:** We will stop at this point. Do you understand how to submit a support request? + **Note:** We will STOP at this point. Do you understand how to submit a support request? 4. Click **All support requests**. This is where your support requests are shown. An email is also sent to your email address containing details of the support request. Congratulations! You have viewed the available support plan options and practiced creating and monitoring a new support request. **Note**: Click for more information about [**creating an Azure support ticket**](https://azure.microsoft.com/en-us/support/create-ticket). + +Select the **Resources** tab, then in actions select deallocate to deallocate the VM, it will be Cost effective diff --git a/Instructions/CloudLabs.AI/LabIntro.md b/Instructions/CloudLabs.AI/LabIntro.md new file mode 100644 index 00000000..a42b96b7 --- /dev/null +++ b/Instructions/CloudLabs.AI/LabIntro.md @@ -0,0 +1,42 @@ +# Getting Started + +1. Once the environment is provisioned, a virtual machine and lab guide will get loaded into your browser. Use this virtual machine throughout the workshop to perform the lab. + +1. To get the lab environment details, you can select the **Environment Details** tab. + + ![](../images/AZ-900-gettingstarted.png) + +1. You can also open the Lab Guide on a separate full window by selecting the **Split Window** button on the bottom right corner. + + ![](../images/image-200.jpg) + +1. Also, you can **start, stop and restart** the virtual machines from the **Resources** tab. + + ![](../images/AZ-900-module-08-resources.png) + +1. Click on **Next** from the bottom right and follow the instructions to perform the lab. + + ![](../images/AZ-900-module-08-numbering.png) + +### Log in to Azure Portal and verify the pre-deployed resources. + +1. In the virtual machine (VM) on the left, click on the Azure Portal as shown below. + + ![](../images/AZ-900-module08-jumpvm.png) + +1. On the **Sign in to Microsoft Azure** window, you will see the login screen, enter the following username and click on **Next**. + * Username: + + ![](../images/portal1.png) + +1. Now enter the password and click on Sign in. + * Password: + + ![](../images/portal2.png) + +1. First-time users are often prompted to Stay Signed In, if you see any such pop-up, click on No. + + ![](../images/portal3.png) + +1. If a **Welcome to Microsoft Azure** popup window appears, click Maybe Later to skip the tour. + diff --git a/Instructions/CloudLabs.AI/masterdoc-combined.json b/Instructions/CloudLabs.AI/masterdoc-combined.json new file mode 100644 index 00000000..c0bddb42 --- /dev/null +++ b/Instructions/CloudLabs.AI/masterdoc-combined.json @@ -0,0 +1,101 @@ +[ + { + "Name": "AZ-900T0x-MicrosoftAzureFundamentals", + "Language": "English", + "BaseURL": "https://github.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", + "Order": 1 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/01-Create%20a%20virtual%20machine.md", + "Order": 2 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/02-Create%20a%20Web%20App.md", + "Order": 3 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/03-Deploy%20Azure%20Container%20Instances.md", + "Order": 4 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/04-Create%20a%20virtual%20network.md", + "Order": 5 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/05-Create%20Blob%20storage.md", + "Order": 6 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/06-Create%20a%20SQL%20database.md", + "Order": 7 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/07-Implement%20the%20Azure%20IoT%20Hub.md", + "Order": 8 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/08-Implement%20Azure%20Functions.md", + "Order": 9 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/09-Create%20a%20VM%20with%20a%20Template.md", + "Order": 10 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/10-Create%20a%20VM%20with%20PowerShell.md", + "Order": 11 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/11-Create%20a%20VM%20with%20the%20CLI.md", + "Order": 12 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/12-Implement%20Azure%20Key%20Vault.md", + "Order": 13 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/13-Secure%20network%20traffic.md", + "Order": 14 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/14-Manage%20access%20with%20RBAC.md", + "Order": 15 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/15-Manage%20resource%20locks.md", + "Order": 16 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/16-Implement%20resource%20tagging.md", + "Order": 17 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/17-Create%20an%20Azure%20Policy.md", + "Order": 18 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/18-Explore%20the%20Trust%20Center.md", + "Order": 19 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/19-Use%20the%20Azure%20Pricing%20Calculator.md", + "Order": 20 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/20-Use%20the%20Azure%20TCO%20Calculator.md", + "Order": 21 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/21-Calculate%20Composite%20SLAs.md", + "Order": 22 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/22-Open%20a%20Support%20Request.md", + "Order": 23 + } + ] + } + ] diff --git a/Instructions/CloudLabs.AI/module-01.json b/Instructions/CloudLabs.AI/module-01.json index 04258b6a..2adc95ae 100644 --- a/Instructions/CloudLabs.AI/module-01.json +++ b/Instructions/CloudLabs.AI/module-01.json @@ -3,8 +3,23 @@ "Language": "English", "Files": [ { - "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/01-Create%20a%20virtual%20machine.md", + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", "Order": 1 + }, + + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/01-Create%20a%20virtual%20machine.md", + "Order": 2 + } + ] +}, +{ + "Name": "Create a virtual machine in the portal", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/stage/Instructions/Walkthroughs/01-Create%20a%20virtual%20machine.md", + "Order": 2 } ] -} ] \ No newline at end of file +}] diff --git a/Instructions/CloudLabs.AI/module-02.json b/Instructions/CloudLabs.AI/module-02.json index 2015b15d..d439f1e7 100644 --- a/Instructions/CloudLabs.AI/module-02.json +++ b/Instructions/CloudLabs.AI/module-02.json @@ -1,10 +1,26 @@ -[ { +[ + { "Name": "Create a Web App", "Language": "English", "Files": [ { - "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/02-Create%20a%20Web%20App.md", + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", "Order": 1 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/02-Create%20a%20Web%20App.md", + "Order": 2 + } + ] +}, + { + "Name": "Create a Web App", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/stage/Instructions/Walkthroughs/02-Create%20a%20Web%20App.md", + "Order": 2 } ] -} ] \ No newline at end of file +} +] diff --git a/Instructions/CloudLabs.AI/module-03.json b/Instructions/CloudLabs.AI/module-03.json index 0ab8a745..441817df 100644 --- a/Instructions/CloudLabs.AI/module-03.json +++ b/Instructions/CloudLabs.AI/module-03.json @@ -3,8 +3,23 @@ "Language": "English", "Files": [ { - "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/03-Deploy%20Azure%20Container%20Instances.md", + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", "Order": 1 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/03-Deploy%20Azure%20Container%20Instances.md", + "Order": 2 + } + ] +}, +{ + "Name": "Deploy Azure Container Instances", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/stage/Instructions/Walkthroughs/03-Deploy%20Azure%20Container%20Instances.md", + "Order": 2 } ] -} ] \ No newline at end of file +} +] diff --git a/Instructions/CloudLabs.AI/module-04.json b/Instructions/CloudLabs.AI/module-04.json index 03486251..1fa1dce3 100644 --- a/Instructions/CloudLabs.AI/module-04.json +++ b/Instructions/CloudLabs.AI/module-04.json @@ -3,8 +3,22 @@ "Language": "English", "Files": [ { - "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/04-Create%20a%20virtual%20network.md", + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", "Order": 1 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/04-Create%20a%20virtual%20network.md", + "Order": 2 + } + ] +}, +{ + "Name": "Create a virtual network", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/stage/Instructions/Walkthroughs/04-Create%20a%20virtual%20network.md", + "Order": 2 } ] -} ] \ No newline at end of file +}] diff --git a/Instructions/CloudLabs.AI/module-05.json b/Instructions/CloudLabs.AI/module-05.json index 1c53d8b9..b9014972 100644 --- a/Instructions/CloudLabs.AI/module-05.json +++ b/Instructions/CloudLabs.AI/module-05.json @@ -2,9 +2,24 @@ "Name": "Create blob storage", "Language": "English", "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", + "Order": 1 + }, { "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/05-Create%20Blob%20storage.md", - "Order": 1 + "Order": 2 + } + ] +}, +{ + "Name": "Create blob storage", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/stage/Instructions/Walkthroughs/05-Create%20Blob%20storage.md", + "Order": 2 } ] -} ] \ No newline at end of file +} +] diff --git a/Instructions/CloudLabs.AI/module-06.json b/Instructions/CloudLabs.AI/module-06.json index a94f169b..052d926e 100644 --- a/Instructions/CloudLabs.AI/module-06.json +++ b/Instructions/CloudLabs.AI/module-06.json @@ -3,8 +3,22 @@ "Language": "English", "Files": [ { - "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/06-Create%20a%20SQL%20database.md", + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", "Order": 1 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/06-Create%20a%20SQL%20database.md", + "Order": 2 + } + ] +}, + { + "Name": "Create a SQL database", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/stage/Instructions/Walkthroughs/06-Create%20a%20SQL%20database.md", + "Order": 2 } ] -} ] \ No newline at end of file +} ] diff --git a/Instructions/CloudLabs.AI/module-07.json b/Instructions/CloudLabs.AI/module-07.json index 1a99694d..23f2f0bb 100644 --- a/Instructions/CloudLabs.AI/module-07.json +++ b/Instructions/CloudLabs.AI/module-07.json @@ -3,8 +3,22 @@ "Language": "English", "Files": [ { - "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/07-Implement%20the%20Azure%20IoT%20Hub.md", + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", "Order": 1 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/07-Implement%20the%20Azure%20IoT%20Hub.md", + "Order": 2 + } + ] +}, + { + "Name": "Implement an Azure IoT Hub", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/stage/Instructions/Walkthroughs/07-Implement%20the%20Azure%20IoT%20Hub.md", + "Order": 2 } ] -} ] \ No newline at end of file +} ] diff --git a/Instructions/CloudLabs.AI/module-08.json b/Instructions/CloudLabs.AI/module-08.json index 124e8ff4..82974e86 100644 --- a/Instructions/CloudLabs.AI/module-08.json +++ b/Instructions/CloudLabs.AI/module-08.json @@ -3,8 +3,22 @@ "Language": "English", "Files": [ { - "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/08-Implement%20Azure%20Functions.md", + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", "Order": 1 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/08-Implement%20Azure%20Functions.md", + "Order": 2 + } + ] +}, +{ + "Name": "Implement Azure Functions", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/stage/Instructions/Walkthroughs/08-Implement%20Azure%20Functions.md", + "Order": 2 } ] -} ] \ No newline at end of file +}] diff --git a/Instructions/CloudLabs.AI/module-09.json b/Instructions/CloudLabs.AI/module-09.json index 64bb9ac9..d3a941ef 100644 --- a/Instructions/CloudLabs.AI/module-09.json +++ b/Instructions/CloudLabs.AI/module-09.json @@ -3,8 +3,22 @@ "Language": "English", "Files": [ { - "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/09-Create%20a%20VM%20with%20a%20Template.md", + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", "Order": 1 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/09-Create%20a%20VM%20with%20a%20Template.md", + "Order": 2 + } + ] +}, +{ + "Name": "Create a VM with a Template", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/stage/Instructions/Walkthroughs/09-Create%20a%20VM%20with%20a%20Template.md", + "Order": 2 } ] -} ] \ No newline at end of file +}] diff --git a/Instructions/CloudLabs.AI/module-10.json b/Instructions/CloudLabs.AI/module-10.json index c641d7f2..71838cf2 100644 --- a/Instructions/CloudLabs.AI/module-10.json +++ b/Instructions/CloudLabs.AI/module-10.json @@ -3,8 +3,23 @@ "Language": "English", "Files": [ { - "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/10-Create%20a%20VM%20with%20PowerShell.md", + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", "Order": 1 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/10-Create%20a%20VM%20with%20PowerShell.md", + "Order": 2 + } + ] +}, +{ + "Name": "Create a VM with PowerShell", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/stage/Instructions/Walkthroughs/10-Create%20a%20VM%20with%20PowerShell.md", + "Order": 2 } ] -} ] \ No newline at end of file +} +] diff --git a/Instructions/CloudLabs.AI/module-11.json b/Instructions/CloudLabs.AI/module-11.json index 51593329..9d064916 100644 --- a/Instructions/CloudLabs.AI/module-11.json +++ b/Instructions/CloudLabs.AI/module-11.json @@ -3,8 +3,22 @@ "Language": "English", "Files": [ { - "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/11-Create%20a%20VM%20with%20the%20CLI.md", + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", "Order": 1 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/11-Create%20a%20VM%20with%20the%20CLI.md", + "Order": 2 + } + ] +}, +{ + "Name": "Create a VM with the CLI", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/stage/Instructions/Walkthroughs/11-Create%20a%20VM%20with%20the%20CLI.md", + "Order": 2 } ] -} ] \ No newline at end of file +}] diff --git a/Instructions/CloudLabs.AI/module-12.json b/Instructions/CloudLabs.AI/module-12.json index 89e686d4..6fcc0328 100644 --- a/Instructions/CloudLabs.AI/module-12.json +++ b/Instructions/CloudLabs.AI/module-12.json @@ -3,8 +3,22 @@ "Language": "English", "Files": [ { - "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/12-Implement%20Azure%20Key%20Vault.md", + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", "Order": 1 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/12-Implement%20Azure%20Key%20Vault.md", + "Order": 2 } ] -} ] \ No newline at end of file +}, +{ + "Name": "Implement Azure Key Vault", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/stage/Instructions/Walkthroughs/12-Implement%20Azure%20Key%20Vault.md", + "Order": 2 + } + ] + }] diff --git a/Instructions/CloudLabs.AI/module-13.json b/Instructions/CloudLabs.AI/module-13.json index 0bba2b2a..d1a8739f 100644 --- a/Instructions/CloudLabs.AI/module-13.json +++ b/Instructions/CloudLabs.AI/module-13.json @@ -3,8 +3,22 @@ "Language": "English", "Files": [ { - "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/13-Secure%20network%20traffic.md", + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", "Order": 1 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/13-Secure%20network%20traffic.md", + "Order": 2 } ] -} ] \ No newline at end of file +}, +{ + "Name": "Secure network traffic", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/stage/Instructions/Walkthroughs/13-Secure%20network%20traffic.md", + "Order": 2 + } + ] + }] diff --git a/Instructions/CloudLabs.AI/module-14.json b/Instructions/CloudLabs.AI/module-14.json index 1af9c91e..c7eee323 100644 --- a/Instructions/CloudLabs.AI/module-14.json +++ b/Instructions/CloudLabs.AI/module-14.json @@ -3,8 +3,22 @@ "Language": "English", "Files": [ { - "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/14-Manage%20access%20with%20RBAC.md", + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", "Order": 1 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/14-Manage%20access%20with%20RBAC.md", + "Order": 2 } ] -} ] \ No newline at end of file +}, +{ + "Name": "Manage access with RBAC", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/stage/Instructions/Walkthroughs/14-Manage%20access%20with%20RBAC.md", + "Order": 2 + } + ] + }] diff --git a/Instructions/CloudLabs.AI/module-15.json b/Instructions/CloudLabs.AI/module-15.json index 9513afbc..f4f61feb 100644 --- a/Instructions/CloudLabs.AI/module-15.json +++ b/Instructions/CloudLabs.AI/module-15.json @@ -3,8 +3,22 @@ "Language": "English", "Files": [ { - "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/15-Manage%20resource%20locks.md", + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", "Order": 1 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/15-Manage%20resource%20locks.md", + "Order": 2 + } + ] +}, +{ + "Name": "Manage resource locks", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/stage/Instructions/Walkthroughs/15-Manage%20resource%20locks.md", + "Order": 2 } ] -} ] \ No newline at end of file +}] diff --git a/Instructions/CloudLabs.AI/module-16.json b/Instructions/CloudLabs.AI/module-16.json index 5e15929c..8bfc2c5d 100644 --- a/Instructions/CloudLabs.AI/module-16.json +++ b/Instructions/CloudLabs.AI/module-16.json @@ -3,8 +3,22 @@ "Language": "English", "Files": [ { - "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/16-Implement%20resource%20tagging.md", + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", "Order": 1 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/16-Implement%20resource%20tagging.md", + "Order": 2 + } + ] +}, +{ + "Name": "Implement resource tagging", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/stage/Instructions/Walkthroughs/16-Implement%20resource%20tagging.md", + "Order": 2 } ] -} ] \ No newline at end of file +} ] diff --git a/Instructions/CloudLabs.AI/module-17.json b/Instructions/CloudLabs.AI/module-17.json index e50891c7..8abeef88 100644 --- a/Instructions/CloudLabs.AI/module-17.json +++ b/Instructions/CloudLabs.AI/module-17.json @@ -3,8 +3,22 @@ "Language": "English", "Files": [ { - "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/17-Create%20an%20Azure%20Policy.md", + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", "Order": 1 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/17-Create%20an%20Azure%20Policy.md", + "Order": 2 + } + ] +}, +{ + "Name": "Create an Azure Policy", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/stage/Instructions/Walkthroughs/17-Create%20an%20Azure%20Policy.md", + "Order": 2 } ] -} ] \ No newline at end of file +} ] diff --git a/Instructions/CloudLabs.AI/module-18.json b/Instructions/CloudLabs.AI/module-18.json index 7aac01e6..ca63ba0e 100644 --- a/Instructions/CloudLabs.AI/module-18.json +++ b/Instructions/CloudLabs.AI/module-18.json @@ -3,8 +3,22 @@ "Language": "English", "Files": [ { - "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/18-Explore%20the%20Trust%20Center.md", + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", "Order": 1 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/18-Explore%20the%20Trust%20Center.md", + "Order": 2 + } + ] +}, +{ + "Name": "Explore the Trust Center", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/18-Explore%20the%20Trust%20Center.md", + "Order": 2 } ] -} ] \ No newline at end of file +}] diff --git a/Instructions/CloudLabs.AI/module-19.json b/Instructions/CloudLabs.AI/module-19.json index f5ce396f..c39497eb 100644 --- a/Instructions/CloudLabs.AI/module-19.json +++ b/Instructions/CloudLabs.AI/module-19.json @@ -3,8 +3,22 @@ "Language": "English", "Files": [ { - "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/19-Use%20the%20Azure%20Pricing%20Calculator.md", + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", "Order": 1 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/19-Use%20the%20Azure%20Pricing%20Calculator.md", + "Order": 2 + } + ] +}, +{ + "Name": "Use the Pricing Calculator", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/stage/Instructions/Walkthroughs/19-Use%20the%20Azure%20Pricing%20Calculator.md", + "Order": 2 } ] -} ] \ No newline at end of file +}] diff --git a/Instructions/CloudLabs.AI/module-20.json b/Instructions/CloudLabs.AI/module-20.json index cd109402..99bbc6fc 100644 --- a/Instructions/CloudLabs.AI/module-20.json +++ b/Instructions/CloudLabs.AI/module-20.json @@ -3,8 +3,22 @@ "Language": "English", "Files": [ { - "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/20-Use%20the%20Azure%20TCO%20Calculator.md", + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", "Order": 1 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/20-Use%20the%20Azure%20TCO%20Calculator.md", + "Order": 2 + } + ] +}, +{ + "Name": "Use the Azure TCO Calculator", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/stage/Instructions/Walkthroughs/20-Use%20the%20Azure%20TCO%20Calculator.md", + "Order": 2 } ] -} ] \ No newline at end of file +}] diff --git a/Instructions/CloudLabs.AI/module-21.json b/Instructions/CloudLabs.AI/module-21.json index 73408dc6..c59bc452 100644 --- a/Instructions/CloudLabs.AI/module-21.json +++ b/Instructions/CloudLabs.AI/module-21.json @@ -3,8 +3,22 @@ "Language": "English", "Files": [ { - "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/21-Calculate%20Composite%20SLAs.md", + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", "Order": 1 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/21-Calculate%20Composite%20SLAs.md", + "Order": 2 + } + ] +}, +{ + "Name": "Calculate Composite SLAs", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/stage/Instructions/Walkthroughs/21-Calculate%20Composite%20SLAs.md", + "Order": 2 } ] -} ] \ No newline at end of file +} ] diff --git a/Instructions/CloudLabs.AI/module-22.json b/Instructions/CloudLabs.AI/module-22.json index 24367316..438d741a 100644 --- a/Instructions/CloudLabs.AI/module-22.json +++ b/Instructions/CloudLabs.AI/module-22.json @@ -3,8 +3,22 @@ "Language": "English", "Files": [ { - "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/22-Open%20a%20Support%20Request.md", + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/LabIntro.md", "Order": 1 + }, + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0x-MicrosoftAzureFundamentals/prod/Instructions/CloudLabs.AI/22-Open%20a%20Support%20Request.md", + "Order": 2 + } + ] +}, +{ + "Name": "Open a Support Request", + "Language": "Spanish", + "Files": [ + { + "RawFilePath": "https://raw.githubusercontent.com/CloudLabs-MOC/AZ-900T0xES-MicrosoftAzureFundamentals/stage/Instructions/Walkthroughs/22-Open%20a%20Support%20Request.md", + "Order": 2 } ] -} ] \ No newline at end of file +}] diff --git a/Instructions/Lab-Scenario-Preview/Module01.md b/Instructions/Lab-Scenario-Preview/Module01.md new file mode 100644 index 00000000..20402d27 --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module01.md @@ -0,0 +1,21 @@ +# Lab Scenario Preview: AZ-900: Azure Fundamentals: Describe Azure architecture and services + +## Lab 01: Create a virtual machine in the portal + +### Lab overview + +In this walkthrough, we will create a virtual machine in the Azure portal, connect to the virtual machine, install the web server role and test. + +## Objectives + +After completing this lab, you will be able to: + +- Create a virtual machine in the Azure portal. +- Connect to the virtual machine. +- Host a Basic Website on your New Cloud VM. + +## Architecture Diagram + +![](../images/az900lab01.PNG) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/a3d6c3a8-a5c5-43dc-9da6-b011cfb128ac) if you want to go through detailed guide prior to launching lab environment. \ No newline at end of file diff --git a/Instructions/Lab-Scenario-Preview/Module02.md b/Instructions/Lab-Scenario-Preview/Module02.md new file mode 100644 index 00000000..e0f7f5dc --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module02.md @@ -0,0 +1,20 @@ +# Lab Scenario Preview: AZ-900: Azure Fundamentals: Describe Azure architecture and services + +## Lab 02: Create a Web App + +### Lab overview + +In this walkthrough, we will create a new web app that runs a Docker container. The container displays a Welcome message. + +## Objectives + +After completing this lab, you will be able to: + +- Create a Web App +- Test the Web App + +## Architecture Diagram + +![](../images/az900lab02.PNG) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/9a6cc5c1-13bc-4a18-a9c4-593aa34a5909) if you want to go through detailed guide prior to launching lab environment. \ No newline at end of file diff --git a/Instructions/Lab-Scenario-Preview/Module03.md b/Instructions/Lab-Scenario-Preview/Module03.md new file mode 100644 index 00000000..ead89ae2 --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module03.md @@ -0,0 +1,20 @@ +# Lab Scenario Preview: AZ-900: Azure Fundamentals: Describe Azure architecture and services + +## Lab 03 - Deploy Azure Container Instances + +### Lab overview + +In this walkthrough, we create, configure, and deploy a Docker container by using Azure Container Instances (ACI) in the Azure Portal. The container is a Welcome to ACI web application that displays a static HTML page. + +## Objectives + +After completing this lab, you will be able to: + +- Create a container instance +- Verify deployment of the container instance + +## Architecture Diagram + +![](../images/az900lab03.PNG) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/51f9e6fe-82af-4cb4-883f-31a84473927d) if you want to go through detailed guide prior to launching lab environment. \ No newline at end of file diff --git a/Instructions/Lab-Scenario-Preview/Module04.md b/Instructions/Lab-Scenario-Preview/Module04.md new file mode 100644 index 00000000..d052bf16 --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module04.md @@ -0,0 +1,21 @@ +# Lab Scenario Preview: AZ-900: Azure Fundamentals: Describe Azure architecture and services + +## Lab 04 - Create a virtual network + +### Lab overview + +In this walkthrough, we will create a virtual network, deploy two virtual machines onto that virtual network and then configure them to allow one virtual machine to ping the other within that virtual network. + +## Objectives + +After completing this lab, you will be able to: + +- Create a virtual network +- Create two virtual machines +- Test the connection + +## Architecture Diagram + +![](../images/az900lab04.PNG) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/a3e01def-c63c-47d6-85e9-0f06d6204bce) if you want to go through detailed guide prior to launching lab environment. \ No newline at end of file diff --git a/Instructions/Lab-Scenario-Preview/Module05.md b/Instructions/Lab-Scenario-Preview/Module05.md new file mode 100644 index 00000000..8d67138a --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module05.md @@ -0,0 +1,21 @@ +# Lab Scenario Preview: AZ-900: Azure Fundamentals: Describe Azure architecture and services + +## Lab 05 - Create blob storage + +### Lab overview + +In this walkthrough, we will create a storage account, then work with blob storage files. + +## Objectives + +After completing this lab, you will be able to: + +- Create a storage account +- Work with blob storage +- Monitor the storage account + +## Architecture Diagram + +![](../images/az900lab05.PNG) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/f3dcfe01-9410-4c1f-9201-a859a374be70) if you want to go through detailed guide prior to launching lab environment. \ No newline at end of file diff --git a/Instructions/Lab-Scenario-Preview/Module06.md b/Instructions/Lab-Scenario-Preview/Module06.md new file mode 100644 index 00000000..b687d2bc --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module06.md @@ -0,0 +1,20 @@ +# Lab Scenario Preview: + +## Lab 06 - Create a SQL database + +### Lab overview + +In this walkthrough, we will create a SQL database in Azure and then query the data in that database. + +## Objectives + +After completing this lab, you will be able to: + +- Create the database +- Test the database. + +## Architecture Diagram + +![](../images/az900lab06.PNG) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/e598292d-73be-4782-8fcf-f02f3f5411d9) if you want to go through detailed guide prior to launching lab environment. \ No newline at end of file diff --git a/Instructions/Lab-Scenario-Preview/Module07.md b/Instructions/Lab-Scenario-Preview/Module07.md new file mode 100644 index 00000000..d7d0371d --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module07.md @@ -0,0 +1,21 @@ +# Lab Scenario Preview: + +## Lab 07 - Implement an Azure IoT Hub + +### Lab overview + +In this walkthrough, we will configure a new Azure IoT Hub in Azure Portal, and then authenticate a connection to an IoT device using the online Raspberry Pi device simulator. Sensor data and messages are passed from the Raspberry Pi simulator to your Azure IoT Hub, and you view metrics for the messaging activity in Azure Portal. + +## Objectives + +After completing this lab, you will be able to: + +- Create an IoT hub +- Add an IoT device +- Test the device using the Raspberry Pi Simulator + +## Architecture Diagram + +![](../images/az900lab07.PNG) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/4a95ef7c-8e34-4cb4-b5bf-4d834cb4fa86) if you want to go through detailed guide prior to launching lab environment. \ No newline at end of file diff --git a/Instructions/Lab-Scenario-Preview/Module08.md b/Instructions/Lab-Scenario-Preview/Module08.md new file mode 100644 index 00000000..57eaccb0 --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module08.md @@ -0,0 +1,20 @@ +# Lab Scenario Preview: AZ-900: Azure Fundamentals: Describe Azure architecture and services + +## Lab 08 - Implement Azure Functions + +### Lab overview + +In this walkthrough, we will create a Function App to display a Hello message when there is an HTTP request. + +## Objectives + +After completing this lab, you will be able to: + +- Create a Function app +- Create a HTTP triggered function and test + +## Architecture Diagram + +![](../images/az900lab08.PNG) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/3ca4d4db-1571-4081-a175-116b06ac8b11) if you want to go through detailed guide prior to launching lab environment. diff --git a/Instructions/Lab-Scenario-Preview/Module09.md b/Instructions/Lab-Scenario-Preview/Module09.md new file mode 100644 index 00000000..c64828a1 --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module09.md @@ -0,0 +1,20 @@ +# Lab Scenario Preview: AZ-900: Azure Fundamentals: Describe Azure architecture and services + +## Lab 09 - Create a VM with a Template + +### Lab overview + +In this walkthrough, we will deploy a virtual machine with a QuickStart template and examine monitoring capabilities. + +## Objectives + +After completing this lab, you will be able to: + +- Explore the gallery and locate a template +- Verify and monitor your virtual machine deployment + +## Architecture Diagram + +![](../images/az900lab09.PNG) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/744594bc-b2fa-478c-afd9-014e65382243) if you want to go through detailed guide prior to launching lab environment. \ No newline at end of file diff --git a/Instructions/Lab-Scenario-Preview/Module10.md b/Instructions/Lab-Scenario-Preview/Module10.md new file mode 100644 index 00000000..03f097ce --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module10.md @@ -0,0 +1,22 @@ +# Lab Scenario Preview: AZ-900: Azure Fundamentals: Describe Azure architecture and services + +## Lab 10 - Create a VM with PowerShell + +### Lab overview + +In this walkthrough, we will configure the Cloud Shell, use Azure PowerShell module to create a resource group and virtual machine, and review Azure Advisor recommendations. + +## Objectives + +After completing this lab, you will be able to: + +- Configure the Cloud Shell +- Create a virtual machine +- Execute commands in the Cloud Shell +- Review Azure Advisor Recommendations + +## Architecture Diagram + +![](../images/az900lab10.JPG) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/3642cff0-345a-4080-94ac-6fd0d2fcae61) if you want to go through detailed guide prior to launching lab environment. \ No newline at end of file diff --git a/Instructions/Lab-Scenario-Preview/Module11.md b/Instructions/Lab-Scenario-Preview/Module11.md new file mode 100644 index 00000000..54d1cfe6 --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module11.md @@ -0,0 +1,22 @@ +# Lab Scenario Preview: AZ-900: Azure Fundamentals: Describe Azure architecture and services + +## Lab 11 - Create a VM with the CLI + +### Lab overview + +In this walkthrough, we will configure the Cloud Shell, use Azure CLI to create a virtual machine, and review Azure Advisor recommendations. + +## Objectives + +After completing this lab, you will be able to: + +- Configure the Cloud Shell +- Use CLI to create a virtual machine +- Execute commands in the Cloud Shell +- Review Azure Advisor Recommendations + +## Architecture Diagram + +![](../images/az900lab11.png) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/b234120e-8ad5-4f10-b4fd-75f20e5518d7) if you want to go through detailed guide prior to launching lab environment. \ No newline at end of file diff --git a/Instructions/Lab-Scenario-Preview/Module12.md b/Instructions/Lab-Scenario-Preview/Module12.md new file mode 100644 index 00000000..6e3a5a5e --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module12.md @@ -0,0 +1,21 @@ +# Lab Scenario Preview: + +## Lab 12 - Implement Azure Key Vault + +### Lab overview + +In this walkthrough, we will create an Azure Key vault and then create a password secret within that key vault, providing a securely stored, centrally managed password for use with applications. + +## Objectives + +After completing this lab, you will be able to: + +- Create an Azure Key Vault +- Add a secret to the Key Vault + +## Architecture Diagram + +![](../images/az900lab12.png) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/a6bd7e2e-a172-40c4-9f09-cc4b5443e4c7 +) if you want to go through detailed guide prior to launching lab environment. \ No newline at end of file diff --git a/Instructions/Lab-Scenario-Preview/Module13.md b/Instructions/Lab-Scenario-Preview/Module13.md new file mode 100644 index 00000000..a94fdf06 --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module13.md @@ -0,0 +1,23 @@ +# Lab Scenario Preview: AZ-900: Azure Fundamentals: Describe Azure architecture and services + +## Lab 13 - Secure network traffic + +### Lab overview + +In this walkthrough, we will configure a network security group. + +## Objectives + +After completing this lab, you will be able to: + +- Create a virtual machine +- Create a network security group +- Configure an inbound security port rule to allow RDP +- Configure an outbound security port rule to deny Internet access + +## Architecture Diagram + +![](../images/az900lab13.png) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/c2ca98ba-74bc-4aee-8286-af700e4035d1 +) if you want to go through detailed guide prior to launching lab environment. \ No newline at end of file diff --git a/Instructions/Lab-Scenario-Preview/Module14.md b/Instructions/Lab-Scenario-Preview/Module14.md new file mode 100644 index 00000000..7cea67a2 --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module14.md @@ -0,0 +1,21 @@ +# Lab Scenario Preview: AZ-900: Azure Fundamentals: Describe Azure architecture and services + +## Lab 14 - Manage access with RBAC + +### Lab overview + +In this walkthrough, we will assign roles and view activity logs. + +## Objectives + +After completing this lab, you will be able to: + +- View and assign roles +- Monitor role assignments and remove a role + +## Architecture Diagram + +![](../images/az900lab14.png) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/978e89f4-5054-425e-8d86-0c3bce983c03 +) if you want to go through detailed guide prior to launching lab environment. \ No newline at end of file diff --git a/Instructions/Lab-Scenario-Preview/Module15.md b/Instructions/Lab-Scenario-Preview/Module15.md new file mode 100644 index 00000000..a7445629 --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module15.md @@ -0,0 +1,22 @@ +# Lab Scenario Preview: AZ-900: Azure Fundamentals: Describe Azure management and governance + +## Lab 15 - Manage resource locks + +### Lab overview + +In this walkthrough, we will verify the existing resource group, add a lock to the resource group and test deletion, test deleting a resource in the resource group, and remove the resource lock. + +## Objectives + +After completing this lab, you will be able to: + +- Verify the existing resource group +- Add a Lock to the resource group and test deletion +- Test deleting a member of the resource group +- Remove the resource lock + +## Architecture Diagram + +![](../images/az900lab15.png) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/953d3fb4-04f9-4ed9-8526-1634b2ba326e) if you want to go through detailed guide prior to launching lab environment. \ No newline at end of file diff --git a/Instructions/Lab-Scenario-Preview/Module16.md b/Instructions/Lab-Scenario-Preview/Module16.md new file mode 100644 index 00000000..fb42f2d0 --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module16.md @@ -0,0 +1,22 @@ +# Lab Scenario Preview: AZ-900: Azure Fundamentals: Describe Azure management and governance + +## Lab 16 - Implement resource tagging + +### Lab overview + +In this walkthrough, we will create a policy assignment that requires tagging, created a storage account and test the tagging, view resources with a specified tag, and remove the tagging policy. + +## Objectives + +After completing this lab, you will be able to: + +- Create a Policy assignment +- Create a storage account to test the required tagging +- View all resources with a specific tag +- Delete the policy assignment + +## Architecture Diagram + +![](../images/az900lab16.png) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/9d17fd2c-d876-435f-b8b2-c9cefc1b0e56) if you want to go through detailed guide prior to launching lab environment. \ No newline at end of file diff --git a/Instructions/Lab-Scenario-Preview/Module17.md b/Instructions/Lab-Scenario-Preview/Module17.md new file mode 100644 index 00000000..9590590a --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module17.md @@ -0,0 +1,21 @@ +# Lab Scenario Preview: AZ-900: Azure Fundamentals: Describe Azure management and governance + +## Lab 17 - Create an Azure Policy + +### Lab overview + +In this walkthrough, we will create an Azure Policy to restrict the deployment of Azure resources to a specific location. + +## Objectives + +After completing this lab, you will be able to: + +- Create a Policy assignment +- Test Allowed location policy +- Delete the policy assignment + +## Architecture Diagram + +![](../images/az900lab17.png) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/2324ce51-fff7-46e5-b61f-f0e7b3e9d759) if you want to go through detailed guide prior to launching lab environment. \ No newline at end of file diff --git a/Instructions/Lab-Scenario-Preview/Module18.md b/Instructions/Lab-Scenario-Preview/Module18.md new file mode 100644 index 00000000..d1eecc75 --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module18.md @@ -0,0 +1,20 @@ +# Lab Scenario Preview:AZ-900: Azure Fundamentals: Describe Azure management and governance + +## Lab 18 - Explore Microsoft Compliance Offerings + +### Lab overview + +In this walkthrough, we will access the Compliance Offerings and Service Trust Portal (STP). + +## Objectives + +After completing this lab, you will be able to: + +- Access Microsoft Compliance Offerings +- Access the Service Trust Portal (STP) + +## Architecture Diagram + +![](../images/az900lab18.png) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/6be1a473-0e92-49ed-9418-e2d81f1b7af7) if you want to go through detailed guide prior to launching lab environment. \ No newline at end of file diff --git a/Instructions/Lab-Scenario-Preview/Module19.md b/Instructions/Lab-Scenario-Preview/Module19.md new file mode 100644 index 00000000..b67a7087 --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module19.md @@ -0,0 +1,20 @@ +# Lab Scenario Preview: AZ-900: Azure Fundamentals: Describe Azure management and governance + +## Lab 19 - Use the Pricing Calculator + +### Lab overview + +In this walkthrough, we will use the Azure Pricing Calculator to generate a cost estimate for an Azure virtual machine and related network resources. + +## Objectives + +After completing this lab, you will be able to: + +- Configure the pricing calculator +- Review the pricing estimate + +## Architecture Diagram + +![](../images/az900lab19.png) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/6be1a473-0e92-49ed-9418-e2d81f1b7af7) if you want to go through detailed guide prior to launching lab environment. \ No newline at end of file diff --git a/Instructions/Lab-Scenario-Preview/Module20.md b/Instructions/Lab-Scenario-Preview/Module20.md new file mode 100644 index 00000000..8b70c795 --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module20.md @@ -0,0 +1,20 @@ +# Lab Scenario Preview: AZ-900: Azure Fundamentals: Describe Azure management and governance + +## Lab 20 - Use the Azure TCO Calculator + +### Lab overview + +In this walkthrough, you will use the Total Cost of Ownership (TCO) Calculator to generate cost comparison report for an on-premises environment. + +## Objectives + +After completing this lab, you will be able to: + +- Configure the TCO calculator +- Review the results and save a copy + +## Architecture Diagram + +![](../images/az900lab20.png) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/5f996d34-b25d-448a-aed9-8e95efec146e) if you want to go through detailed guide prior to launching lab environment. \ No newline at end of file diff --git a/Instructions/Lab-Scenario-Preview/Module21.md b/Instructions/Lab-Scenario-Preview/Module21.md new file mode 100644 index 00000000..455badda --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module21.md @@ -0,0 +1,27 @@ +# Lab Scenario Preview: AZ-900: Azure Fundamentals: Describe Azure management and governance + +## Lab 21 - Calculate Composite SLAs + +### Lab overview + +In this walkthrough, we will determine availability SLA of Azure services and then calculate application composite SLA-based expected availability. + +Our example application consists of these Azure services. We will not go in to deep architectural configuration and considerations, the intention here is to give an high level example. + ++ **App service**: To host the application. ++ **Azure AD B2C**: To authenticate user logins and manage profiles. ++ **Application Gateway**: To manage application access, and scaling. ++ **Azure SQL Database**: To store application data. + +## Objectives + +After completing this lab, you will be able to: + +- Determine the SLA uptime percentage values for our application +- Calculate the Application Composite SLA percentage uptime + +## Architecture Diagram + +![](../images/az900lab21.png) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/67ff4df0-f9a5-4d2b-99c9-e48ff83d8595) if you want to go through detailed guide prior to launching lab environment. \ No newline at end of file diff --git a/Instructions/Lab-Scenario-Preview/Module22.md b/Instructions/Lab-Scenario-Preview/Module22.md new file mode 100644 index 00000000..61a2221a --- /dev/null +++ b/Instructions/Lab-Scenario-Preview/Module22.md @@ -0,0 +1,20 @@ +# Lab Scenario Preview: + +## Lab 22 - Open a Support Request + +### Lab overview + +In this walkthrough, we will view available support plan options and then practice creating and monitoring a new support request. + +## Objectives + +After completing this lab, you will be able to: + +- View available support plan options and a technical support request +- Create a billing support request + +## Architecture Diagram + +![](../images/az900lab22.png) + +Now that you know what the lab is going to be all about, you can launch next item **Hands-on Lab** which includes lab environment and lab guide. You can also preview the full lab guide [here](https://experience.cloudlabs.ai/#/labguidepreview/bd96959a-459c-48e1-903a-545ada6f4cf2) if you want to go through detailed guide prior to launching lab environment. \ No newline at end of file diff --git a/Instructions/Walkthroughs/02-Create a Web App.md b/Instructions/Walkthroughs/02-Create a Web App.md index 6b1d9749..33e16b03 100644 --- a/Instructions/Walkthroughs/02-Create a Web App.md +++ b/Instructions/Walkthroughs/02-Create a Web App.md @@ -62,7 +62,7 @@ In this task, we will test the web app. ![Screenshot of the Welcome to Azure Container Instance page.](../images/0802.png) -5. Switch back to the **Overview** blade of your web app and note that it includes several charts. If you repeat step 4 a few times, you should be able to see correspoding telemetry being displayed in the charts. This includes number of requests and average response time. +5. Switch back to the **Overview** blade of your web app and note that it includes several charts tracking Data In/Out and Requests. If you repeat step 4 a few times, you should be able to see correspoding telemetry being displayed in the charts. This includes number of requests and average response time. **Note**: To avoid additional costs, you can remove this resource group. Search for resource groups, click your resource group, and then click **Delete resource group**. Verify the name of the resource group and then click **Delete**. Monitor the **Notifications** to see how the delete is proceeding. diff --git a/Instructions/Walkthroughs/04-Create a virtual network.md b/Instructions/Walkthroughs/04-Create a virtual network.md index 192860c3..35c03ec1 100644 --- a/Instructions/Walkthroughs/04-Create a virtual network.md +++ b/Instructions/Walkthroughs/04-Create a virtual network.md @@ -51,6 +51,7 @@ In this task, we will create two virtual machines in the virtual network. | Virtual machine name | **vm1**| | Region | **(US) East US** | | Image | **Windows Server 2019 Datacenter** | + | Size | **Standard D2s v3**| | Username| **azureuser** | | Password| **Pa$$w0rd1234** | | Public inbound ports| Select **Allow selected ports** | diff --git a/Instructions/Walkthroughs/05-Create Blob storage.md b/Instructions/Walkthroughs/05-Create Blob storage.md index 44270c84..4fcf853c 100644 --- a/Instructions/Walkthroughs/05-Create Blob storage.md +++ b/Instructions/Walkthroughs/05-Create Blob storage.md @@ -24,7 +24,6 @@ In this task, we will create a new storage account. | Storage account name | **storageaccountxxxx** | | Location | **(US) East US** | | Performance | **Standard** | - | Account kind | **StorageV2 (general purpose v2)** | | Replication | **Locally redundant storage (LRS)** | | | | diff --git a/Instructions/Walkthroughs/11-Create a VM with the CLI.md b/Instructions/Walkthroughs/11-Create a VM with the CLI.md index 1184730f..809612be 100644 --- a/Instructions/Walkthroughs/11-Create a VM with the CLI.md +++ b/Instructions/Walkthroughs/11-Create a VM with the CLI.md @@ -23,27 +23,20 @@ In this task, we will configure Cloud Shell. 5. When prompted, click **Create storage**, and wait for the Azure Cloud Shell to initialize. -# Task 2: Create a resource group and a virtual machine - +# Task 2: Use CLI to create a virtual machine In this task, we will use Azure CLI to create a resource group and a virtual machine. 1. Ensure **Bash** is selected in the upper-left drop-down menu of the Cloud Shell pane (and if not, select it). ![Screenshot of Azure Portal Azure Cloud Shell with the Bash dropdown highlighted.](../images/1002a.png) -2. In the Bash session, within the Cloud Shell pane, create a new resource group. - - ```cli - az group create --name myRGCLI --location EastUS - ``` - -3. Verify the resource group was created. +2. Verify the resource group was created. ```cli az group list --output table ``` -4. Create a new virtual machine. Make sure that each line except for the last one is followed by the backslash (`\`) character. If you type the whole command on the same line, do not use any backslash characters. +3. Create a new virtual machine. Make sure that each line except for the last one is followed by the backslash (`\`) character. If you type the whole command on the same line, do not use any backslash characters. ```cli az vm create \ @@ -59,14 +52,14 @@ In this task, we will use Azure CLI to create a resource group and a virtual mac **Note**: The command will take 2 to 3 minutes to complete. The command will create a virtual machine and various resources associated with it such as storage, networking and security resources. Do not continue to the next step until the virtual machine deployment is complete. -5. When the command finishes running, in the browser window, close the Cloud Shell pane. +4. When the command finishes running, in the browser window, close the Cloud Shell pane. -6. In the Azure portal, search for **Virtual machines** and verify that **myVMCLI** is running. +5. In the Azure portal, search for **Virtual machines** and verify that **myVMCLI** is running. ![Screenshot of the virtual machines page with myVMPS in a running state.](../images/1101.png) -# Task 3: Execute commmands in the Cloud Shell +# Task 3: Execute commands in the Cloud Shell In this task, we will practice executing CLI commands from the Cloud Shell. diff --git a/Instructions/Walkthroughs/12-Implement Azure Key Vault.md b/Instructions/Walkthroughs/12-Implement Azure Key Vault.md index 98dbe1b5..aaa0cb1f 100644 --- a/Instructions/Walkthroughs/12-Implement Azure Key Vault.md +++ b/Instructions/Walkthroughs/12-Implement Azure Key Vault.md @@ -28,7 +28,7 @@ In this walkthrough, we will create an Azure Key vault and then create a passwor 5. Once the new key vault is provisioned, click **Go to resource**. Or you can locate your new key vault by searching for it. -6. Click on the key vault **Overview** tab and take note of the **DNS name**. Applications that use your vault through the REST API will need this URI. +6. Click on the key vault **Overview** tab and take note of the **Vault URI**. Applications that use your vault through the REST API will need this URI. 7. Take a moment to browse through some of the other key vault options. Under **Settings** review **Keys**, **Secrets**, **Certificates**, **Access Policies**, **Firewalls and virtual networks**. diff --git a/Instructions/images/01-01.png b/Instructions/images/01-01.png new file mode 100644 index 00000000..278b4408 Binary files /dev/null and b/Instructions/images/01-01.png differ diff --git a/Instructions/images/01-07.png b/Instructions/images/01-07.png new file mode 100644 index 00000000..8c8195d6 Binary files /dev/null and b/Instructions/images/01-07.png differ diff --git a/Instructions/images/0102.png b/Instructions/images/0102.png index a7a8746b..d3a243d4 100644 Binary files a/Instructions/images/0102.png and b/Instructions/images/0102.png differ diff --git a/Instructions/images/0103.png b/Instructions/images/0103.png index ac7440f5..b219b337 100644 Binary files a/Instructions/images/0103.png and b/Instructions/images/0103.png differ diff --git a/Instructions/images/0104.png b/Instructions/images/0104.png index 23147196..43fcdedc 100644 Binary files a/Instructions/images/0104.png and b/Instructions/images/0104.png differ diff --git a/Instructions/images/0105.png b/Instructions/images/0105.png index ffa6f96b..a168a752 100644 Binary files a/Instructions/images/0105.png and b/Instructions/images/0105.png differ diff --git a/Instructions/images/0106.png b/Instructions/images/0106.png index 7acd4734..9d73d173 100644 Binary files a/Instructions/images/0106.png and b/Instructions/images/0106.png differ diff --git a/Instructions/images/0108.png b/Instructions/images/0108.png index 2d8099ed..ee485172 100644 Binary files a/Instructions/images/0108.png and b/Instructions/images/0108.png differ diff --git a/Instructions/images/02-02.png b/Instructions/images/02-02.png new file mode 100644 index 00000000..23323603 Binary files /dev/null and b/Instructions/images/02-02.png differ diff --git a/Instructions/images/0301a.png b/Instructions/images/0301a.png index d506b568..5a0f3669 100644 Binary files a/Instructions/images/0301a.png and b/Instructions/images/0301a.png differ diff --git a/Instructions/images/0301b.png b/Instructions/images/0301b.png index 0b3bf63d..763259df 100644 Binary files a/Instructions/images/0301b.png and b/Instructions/images/0301b.png differ diff --git a/Instructions/images/0501.png b/Instructions/images/0501.png index afd8c014..5598f188 100644 Binary files a/Instructions/images/0501.png and b/Instructions/images/0501.png differ diff --git a/Instructions/images/0501b.png b/Instructions/images/0501b.png index b86ea90d..0516ec04 100644 Binary files a/Instructions/images/0501b.png and b/Instructions/images/0501b.png differ diff --git a/Instructions/images/0501c.png b/Instructions/images/0501c.png index 429a002e..8f5b5ff9 100644 Binary files a/Instructions/images/0501c.png and b/Instructions/images/0501c.png differ diff --git a/Instructions/images/0502.png b/Instructions/images/0502.png index 9a6ccd3e..290e7d62 100644 Binary files a/Instructions/images/0502.png and b/Instructions/images/0502.png differ diff --git a/Instructions/images/0503.png b/Instructions/images/0503.png index 1e56862a..7b3f2cf7 100644 Binary files a/Instructions/images/0503.png and b/Instructions/images/0503.png differ diff --git a/Instructions/images/0504.png b/Instructions/images/0504.png index eb583e68..f69860f1 100644 Binary files a/Instructions/images/0504.png and b/Instructions/images/0504.png differ diff --git a/Instructions/images/0507.png b/Instructions/images/0507.png index e56e852d..e1b7ce84 100644 Binary files a/Instructions/images/0507.png and b/Instructions/images/0507.png differ diff --git a/Instructions/images/0508.png b/Instructions/images/0508.png index ab14d682..a7e3aa47 100644 Binary files a/Instructions/images/0508.png and b/Instructions/images/0508.png differ diff --git a/Instructions/images/06011.png b/Instructions/images/06011.png new file mode 100644 index 00000000..e2574baf Binary files /dev/null and b/Instructions/images/06011.png differ diff --git a/Instructions/images/08-02.png b/Instructions/images/08-02.png new file mode 100644 index 00000000..23375eac Binary files /dev/null and b/Instructions/images/08-02.png differ diff --git a/Instructions/images/0901.png b/Instructions/images/0901.png index da718b71..7b686a57 100644 Binary files a/Instructions/images/0901.png and b/Instructions/images/0901.png differ diff --git a/Instructions/images/0902.png b/Instructions/images/0902.png index d26525ed..8399128f 100644 Binary files a/Instructions/images/0902.png and b/Instructions/images/0902.png differ diff --git a/Instructions/images/0903.png b/Instructions/images/0903.png index 1815061c..5c754385 100644 Binary files a/Instructions/images/0903.png and b/Instructions/images/0903.png differ diff --git a/Instructions/images/0904.png b/Instructions/images/0904.png index f6496435..9094a46f 100644 Binary files a/Instructions/images/0904.png and b/Instructions/images/0904.png differ diff --git a/Instructions/images/1201.png b/Instructions/images/1201.png index 9edb8e45..b6d012ad 100644 Binary files a/Instructions/images/1201.png and b/Instructions/images/1201.png differ diff --git a/Instructions/images/1503.png b/Instructions/images/1503.png index 0b3124ff..a940534f 100644 Binary files a/Instructions/images/1503.png and b/Instructions/images/1503.png differ diff --git a/Instructions/images/1705.png b/Instructions/images/1705.png index 1ef8ed00..3cd40d2f 100644 Binary files a/Instructions/images/1705.png and b/Instructions/images/1705.png differ diff --git a/Instructions/images/1902.png b/Instructions/images/1902.png index c9ca07cc..15654ef1 100644 Binary files a/Instructions/images/1902.png and b/Instructions/images/1902.png differ diff --git a/Instructions/images/1905.png b/Instructions/images/1905.png index c1eb8a21..4c55083a 100644 Binary files a/Instructions/images/1905.png and b/Instructions/images/1905.png differ diff --git a/Instructions/images/1906.png b/Instructions/images/1906.png index f9e53461..7c8cad7e 100644 Binary files a/Instructions/images/1906.png and b/Instructions/images/1906.png differ diff --git a/Instructions/images/1908.png b/Instructions/images/1908.png index 62b32182..f8145b8d 100644 Binary files a/Instructions/images/1908.png and b/Instructions/images/1908.png differ diff --git a/Instructions/images/9011.jpg b/Instructions/images/9011.jpg new file mode 100644 index 00000000..175e72bf Binary files /dev/null and b/Instructions/images/9011.jpg differ diff --git a/Instructions/images/90123.jpg b/Instructions/images/90123.jpg new file mode 100644 index 00000000..175e72bf Binary files /dev/null and b/Instructions/images/90123.jpg differ diff --git a/Instructions/images/AZ-900-02.png b/Instructions/images/AZ-900-02.png new file mode 100644 index 00000000..6c8db275 Binary files /dev/null and b/Instructions/images/AZ-900-02.png differ diff --git a/Instructions/images/AZ-900-0300.png b/Instructions/images/AZ-900-0300.png new file mode 100644 index 00000000..f5bd3609 Binary files /dev/null and b/Instructions/images/AZ-900-0300.png differ diff --git a/Instructions/images/AZ-900-10-02.png b/Instructions/images/AZ-900-10-02.png new file mode 100644 index 00000000..27eff89f Binary files /dev/null and b/Instructions/images/AZ-900-10-02.png differ diff --git a/Instructions/images/AZ-900-10-03.png b/Instructions/images/AZ-900-10-03.png new file mode 100644 index 00000000..7eca7779 Binary files /dev/null and b/Instructions/images/AZ-900-10-03.png differ diff --git a/Instructions/images/AZ-900-10-04.png b/Instructions/images/AZ-900-10-04.png new file mode 100644 index 00000000..778f83a4 Binary files /dev/null and b/Instructions/images/AZ-900-10-04.png differ diff --git a/Instructions/images/AZ-900-1001.png b/Instructions/images/AZ-900-1001.png new file mode 100644 index 00000000..36036c39 Binary files /dev/null and b/Instructions/images/AZ-900-1001.png differ diff --git a/Instructions/images/AZ-900-1101.png b/Instructions/images/AZ-900-1101.png new file mode 100644 index 00000000..3f52e108 Binary files /dev/null and b/Instructions/images/AZ-900-1101.png differ diff --git a/Instructions/images/AZ-900-1502.png b/Instructions/images/AZ-900-1502.png new file mode 100644 index 00000000..7e580eef Binary files /dev/null and b/Instructions/images/AZ-900-1502.png differ diff --git a/Instructions/images/AZ-900-20-1.png b/Instructions/images/AZ-900-20-1.png new file mode 100644 index 00000000..b6491309 Binary files /dev/null and b/Instructions/images/AZ-900-20-1.png differ diff --git a/Instructions/images/AZ-900-access.png b/Instructions/images/AZ-900-access.png new file mode 100644 index 00000000..a018dac8 Binary files /dev/null and b/Instructions/images/AZ-900-access.png differ diff --git a/Instructions/images/AZ-900-appgateway.png b/Instructions/images/AZ-900-appgateway.png new file mode 100644 index 00000000..2bc3514c Binary files /dev/null and b/Instructions/images/AZ-900-appgateway.png differ diff --git a/Instructions/images/AZ-900-availabledefination.png b/Instructions/images/AZ-900-availabledefination.png new file mode 100644 index 00000000..4408ca9a Binary files /dev/null and b/Instructions/images/AZ-900-availabledefination.png differ diff --git a/Instructions/images/AZ-900-bandwidthvm.png b/Instructions/images/AZ-900-bandwidthvm.png new file mode 100644 index 00000000..e131a883 Binary files /dev/null and b/Instructions/images/AZ-900-bandwidthvm.png differ diff --git a/Instructions/images/AZ-900-cost.png b/Instructions/images/AZ-900-cost.png new file mode 100644 index 00000000..7e66589b Binary files /dev/null and b/Instructions/images/AZ-900-cost.png differ diff --git a/Instructions/images/AZ-900-download.png b/Instructions/images/AZ-900-download.png new file mode 100644 index 00000000..ac26702b Binary files /dev/null and b/Instructions/images/AZ-900-download.png differ diff --git a/Instructions/images/AZ-900-functionapp.png b/Instructions/images/AZ-900-functionapp.png new file mode 100644 index 00000000..7dced310 Binary files /dev/null and b/Instructions/images/AZ-900-functionapp.png differ diff --git a/Instructions/images/AZ-900-gettingstarted.png b/Instructions/images/AZ-900-gettingstarted.png new file mode 100644 index 00000000..7a5c50e0 Binary files /dev/null and b/Instructions/images/AZ-900-gettingstarted.png differ diff --git a/Instructions/images/AZ-900-module-02-app-service.png b/Instructions/images/AZ-900-module-02-app-service.png new file mode 100644 index 00000000..c902aeb3 Binary files /dev/null and b/Instructions/images/AZ-900-module-02-app-service.png differ diff --git a/Instructions/images/AZ-900-module-08-gettingstarted.png b/Instructions/images/AZ-900-module-08-gettingstarted.png new file mode 100644 index 00000000..8c8ec958 Binary files /dev/null and b/Instructions/images/AZ-900-module-08-gettingstarted.png differ diff --git a/Instructions/images/AZ-900-module-08-numbering.png b/Instructions/images/AZ-900-module-08-numbering.png new file mode 100644 index 00000000..fdcc7772 Binary files /dev/null and b/Instructions/images/AZ-900-module-08-numbering.png differ diff --git a/Instructions/images/AZ-900-module-08-resources.png b/Instructions/images/AZ-900-module-08-resources.png new file mode 100644 index 00000000..551e289a Binary files /dev/null and b/Instructions/images/AZ-900-module-08-resources.png differ diff --git a/Instructions/images/AZ-900-module-14-addrole.png b/Instructions/images/AZ-900-module-14-addrole.png new file mode 100644 index 00000000..a9e73894 Binary files /dev/null and b/Instructions/images/AZ-900-module-14-addrole.png differ diff --git a/Instructions/images/AZ-900-module-16-storageacc.png b/Instructions/images/AZ-900-module-16-storageacc.png new file mode 100644 index 00000000..3006c12b Binary files /dev/null and b/Instructions/images/AZ-900-module-16-storageacc.png differ diff --git a/Instructions/images/AZ-900-module-16-tags.png b/Instructions/images/AZ-900-module-16-tags.png new file mode 100644 index 00000000..16920dda Binary files /dev/null and b/Instructions/images/AZ-900-module-16-tags.png differ diff --git a/Instructions/images/AZ-900-module08-jumpvm.png b/Instructions/images/AZ-900-module08-jumpvm.png new file mode 100644 index 00000000..55f7e1d3 Binary files /dev/null and b/Instructions/images/AZ-900-module08-jumpvm.png differ diff --git a/Instructions/images/AZ-900-vm.png b/Instructions/images/AZ-900-vm.png new file mode 100644 index 00000000..5f5a63ca Binary files /dev/null and b/Instructions/images/AZ-900-vm.png differ diff --git a/Instructions/images/AZ-900-year.png b/Instructions/images/AZ-900-year.png new file mode 100644 index 00000000..4288d54d Binary files /dev/null and b/Instructions/images/AZ-900-year.png differ diff --git a/Instructions/images/AZ-9000501.png b/Instructions/images/AZ-9000501.png new file mode 100644 index 00000000..a32a693f Binary files /dev/null and b/Instructions/images/AZ-9000501.png differ diff --git a/Instructions/images/AZ-9000502.png b/Instructions/images/AZ-9000502.png new file mode 100644 index 00000000..28bd0923 Binary files /dev/null and b/Instructions/images/AZ-9000502.png differ diff --git a/Instructions/images/AZ-9000503.png b/Instructions/images/AZ-9000503.png new file mode 100644 index 00000000..f1be2c7b Binary files /dev/null and b/Instructions/images/AZ-9000503.png differ diff --git a/Instructions/images/AZ-9000702.png b/Instructions/images/AZ-9000702.png new file mode 100644 index 00000000..06f5449b Binary files /dev/null and b/Instructions/images/AZ-9000702.png differ diff --git a/Instructions/images/AZ-9000703.png b/Instructions/images/AZ-9000703.png new file mode 100644 index 00000000..478bc59b Binary files /dev/null and b/Instructions/images/AZ-9000703.png differ diff --git a/Instructions/images/AZ-9000704.png b/Instructions/images/AZ-9000704.png new file mode 100644 index 00000000..d05576d0 Binary files /dev/null and b/Instructions/images/AZ-9000704.png differ diff --git a/Instructions/images/AZ-9000705.png b/Instructions/images/AZ-9000705.png new file mode 100644 index 00000000..71ccf689 Binary files /dev/null and b/Instructions/images/AZ-9000705.png differ diff --git a/Instructions/images/AZ-900lab16.1.png b/Instructions/images/AZ-900lab16.1.png new file mode 100644 index 00000000..b273e205 Binary files /dev/null and b/Instructions/images/AZ-900lab16.1.png differ diff --git a/Instructions/images/AZ-900lab19.1.png b/Instructions/images/AZ-900lab19.1.png new file mode 100644 index 00000000..1753df1e Binary files /dev/null and b/Instructions/images/AZ-900lab19.1.png differ diff --git a/Instructions/images/AZ-900lab19.2.png b/Instructions/images/AZ-900lab19.2.png new file mode 100644 index 00000000..3c1a6333 Binary files /dev/null and b/Instructions/images/AZ-900lab19.2.png differ diff --git a/Instructions/images/AZ-900lab8.1.png b/Instructions/images/AZ-900lab8.1.png new file mode 100644 index 00000000..2517f5f6 Binary files /dev/null and b/Instructions/images/AZ-900lab8.1.png differ diff --git a/Instructions/images/AZ-900lab8.2.png b/Instructions/images/AZ-900lab8.2.png new file mode 100644 index 00000000..d365ee8d Binary files /dev/null and b/Instructions/images/AZ-900lab8.2.png differ diff --git a/Instructions/images/AZ900-01.png b/Instructions/images/AZ900-01.png new file mode 100644 index 00000000..acd07399 Binary files /dev/null and b/Instructions/images/AZ900-01.png differ diff --git a/Instructions/images/AZ900-1501.png b/Instructions/images/AZ900-1501.png new file mode 100644 index 00000000..4d213f93 Binary files /dev/null and b/Instructions/images/AZ900-1501.png differ diff --git a/Instructions/images/AZ9000701.png b/Instructions/images/AZ9000701.png new file mode 100644 index 00000000..180685bf Binary files /dev/null and b/Instructions/images/AZ9000701.png differ diff --git a/Instructions/images/AZ900Lab4.png b/Instructions/images/AZ900Lab4.png new file mode 100644 index 00000000..f43c6081 Binary files /dev/null and b/Instructions/images/AZ900Lab4.png differ diff --git a/Instructions/images/AZ900d03.png b/Instructions/images/AZ900d03.png new file mode 100644 index 00000000..9fb09063 Binary files /dev/null and b/Instructions/images/AZ900d03.png differ diff --git a/Instructions/images/Az-900-11-03.png b/Instructions/images/Az-900-11-03.png new file mode 100644 index 00000000..73386b8d Binary files /dev/null and b/Instructions/images/Az-900-11-03.png differ diff --git a/Instructions/images/Az-900-11-04.png b/Instructions/images/Az-900-11-04.png new file mode 100644 index 00000000..e903effc Binary files /dev/null and b/Instructions/images/Az-900-11-04.png differ diff --git a/Instructions/images/Az-900-1102.png b/Instructions/images/Az-900-1102.png new file mode 100644 index 00000000..fabf93a4 Binary files /dev/null and b/Instructions/images/Az-900-1102.png differ diff --git a/Instructions/images/Az-900-1105.png b/Instructions/images/Az-900-1105.png new file mode 100644 index 00000000..460c16cf Binary files /dev/null and b/Instructions/images/Az-900-1105.png differ diff --git a/Instructions/images/Az-900lab16.0.png b/Instructions/images/Az-900lab16.0.png new file mode 100644 index 00000000..940574b1 Binary files /dev/null and b/Instructions/images/Az-900lab16.0.png differ diff --git a/Instructions/images/IOT.png b/Instructions/images/IOT.png new file mode 100644 index 00000000..5823af66 Binary files /dev/null and b/Instructions/images/IOT.png differ diff --git a/Instructions/images/allowedloc.png b/Instructions/images/allowedloc.png new file mode 100644 index 00000000..55033da1 Binary files /dev/null and b/Instructions/images/allowedloc.png differ diff --git a/Instructions/images/allowedlocation.png b/Instructions/images/allowedlocation.png new file mode 100644 index 00000000..1148f984 Binary files /dev/null and b/Instructions/images/allowedlocation.png differ diff --git a/Instructions/images/az-204_03-01.png b/Instructions/images/az-204_03-01.png new file mode 100644 index 00000000..0050cbda Binary files /dev/null and b/Instructions/images/az-204_03-01.png differ diff --git a/Instructions/images/az-204_03-02.png b/Instructions/images/az-204_03-02.png new file mode 100644 index 00000000..347477fb Binary files /dev/null and b/Instructions/images/az-204_03-02.png differ diff --git a/Instructions/images/az-204_03-03.png b/Instructions/images/az-204_03-03.png new file mode 100644 index 00000000..fd5c6ea0 Binary files /dev/null and b/Instructions/images/az-204_03-03.png differ diff --git a/Instructions/images/az-204_03-04.png b/Instructions/images/az-204_03-04.png new file mode 100644 index 00000000..a3b65185 Binary files /dev/null and b/Instructions/images/az-204_03-04.png differ diff --git a/Instructions/images/az-204_03-05.png b/Instructions/images/az-204_03-05.png new file mode 100644 index 00000000..a7fa5b38 Binary files /dev/null and b/Instructions/images/az-204_03-05.png differ diff --git a/Instructions/images/az-204_03-06.png b/Instructions/images/az-204_03-06.png new file mode 100644 index 00000000..c9a6190f Binary files /dev/null and b/Instructions/images/az-204_03-06.png differ diff --git a/Instructions/images/az-204_03-07.png b/Instructions/images/az-204_03-07.png new file mode 100644 index 00000000..4edf23d3 Binary files /dev/null and b/Instructions/images/az-204_03-07.png differ diff --git a/Instructions/images/az-900mod-6img-2.png b/Instructions/images/az-900mod-6img-2.png new file mode 100644 index 00000000..2ccd692f Binary files /dev/null and b/Instructions/images/az-900mod-6img-2.png differ diff --git a/Instructions/images/az900-t3_last.png b/Instructions/images/az900-t3_last.png new file mode 100644 index 00000000..afb72810 Binary files /dev/null and b/Instructions/images/az900-t3_last.png differ diff --git a/Instructions/images/az900-t3_s1.png b/Instructions/images/az900-t3_s1.png new file mode 100644 index 00000000..e50d39e9 Binary files /dev/null and b/Instructions/images/az900-t3_s1.png differ diff --git a/Instructions/images/az900-t3_s10.png b/Instructions/images/az900-t3_s10.png new file mode 100644 index 00000000..118cb26b Binary files /dev/null and b/Instructions/images/az900-t3_s10.png differ diff --git a/Instructions/images/az900-t3_s12.png b/Instructions/images/az900-t3_s12.png new file mode 100644 index 00000000..aca4f366 Binary files /dev/null and b/Instructions/images/az900-t3_s12.png differ diff --git a/Instructions/images/az900-t3_s5.png b/Instructions/images/az900-t3_s5.png new file mode 100644 index 00000000..3123287f Binary files /dev/null and b/Instructions/images/az900-t3_s5.png differ diff --git a/Instructions/images/az900-t3_s7.png b/Instructions/images/az900-t3_s7.png new file mode 100644 index 00000000..a36bb851 Binary files /dev/null and b/Instructions/images/az900-t3_s7.png differ diff --git a/Instructions/images/az900-t3_s9.png b/Instructions/images/az900-t3_s9.png new file mode 100644 index 00000000..93f5eb37 Binary files /dev/null and b/Instructions/images/az900-t3_s9.png differ diff --git a/Instructions/images/az900-t3_vm_pip.png b/Instructions/images/az900-t3_vm_pip.png new file mode 100644 index 00000000..e7e788c1 Binary files /dev/null and b/Instructions/images/az900-t3_vm_pip.png differ diff --git a/Instructions/images/az900lab01.PNG b/Instructions/images/az900lab01.PNG new file mode 100644 index 00000000..3d95c1e9 Binary files /dev/null and b/Instructions/images/az900lab01.PNG differ diff --git a/Instructions/images/az900lab02.PNG b/Instructions/images/az900lab02.PNG new file mode 100644 index 00000000..2e284c52 Binary files /dev/null and b/Instructions/images/az900lab02.PNG differ diff --git a/Instructions/images/az900lab03.PNG b/Instructions/images/az900lab03.PNG new file mode 100644 index 00000000..03435081 Binary files /dev/null and b/Instructions/images/az900lab03.PNG differ diff --git a/Instructions/images/az900lab04.PNG b/Instructions/images/az900lab04.PNG new file mode 100644 index 00000000..9e46bb59 Binary files /dev/null and b/Instructions/images/az900lab04.PNG differ diff --git a/Instructions/images/az900lab05.PNG b/Instructions/images/az900lab05.PNG new file mode 100644 index 00000000..fc85058f Binary files /dev/null and b/Instructions/images/az900lab05.PNG differ diff --git a/Instructions/images/az900lab06.PNG b/Instructions/images/az900lab06.PNG new file mode 100644 index 00000000..8dc5d8d0 Binary files /dev/null and b/Instructions/images/az900lab06.PNG differ diff --git a/Instructions/images/az900lab07.PNG b/Instructions/images/az900lab07.PNG new file mode 100644 index 00000000..603beb8e Binary files /dev/null and b/Instructions/images/az900lab07.PNG differ diff --git a/Instructions/images/az900lab08.PNG b/Instructions/images/az900lab08.PNG new file mode 100644 index 00000000..ddb46723 Binary files /dev/null and b/Instructions/images/az900lab08.PNG differ diff --git a/Instructions/images/az900lab09.PNG b/Instructions/images/az900lab09.PNG new file mode 100644 index 00000000..c143366c Binary files /dev/null and b/Instructions/images/az900lab09.PNG differ diff --git a/Instructions/images/az900lab10.JPG b/Instructions/images/az900lab10.JPG new file mode 100644 index 00000000..562c7b1c Binary files /dev/null and b/Instructions/images/az900lab10.JPG differ diff --git a/Instructions/images/az900lab11.png b/Instructions/images/az900lab11.png new file mode 100644 index 00000000..a22350fd Binary files /dev/null and b/Instructions/images/az900lab11.png differ diff --git a/Instructions/images/az900lab12.png b/Instructions/images/az900lab12.png new file mode 100644 index 00000000..021baadb Binary files /dev/null and b/Instructions/images/az900lab12.png differ diff --git a/Instructions/images/az900lab13.png b/Instructions/images/az900lab13.png new file mode 100644 index 00000000..d17da1f3 Binary files /dev/null and b/Instructions/images/az900lab13.png differ diff --git a/Instructions/images/az900lab14.png b/Instructions/images/az900lab14.png new file mode 100644 index 00000000..bf9f1221 Binary files /dev/null and b/Instructions/images/az900lab14.png differ diff --git a/Instructions/images/az900lab15.png b/Instructions/images/az900lab15.png new file mode 100644 index 00000000..cfd9e5dc Binary files /dev/null and b/Instructions/images/az900lab15.png differ diff --git a/Instructions/images/az900lab16.png b/Instructions/images/az900lab16.png new file mode 100644 index 00000000..8e03333d Binary files /dev/null and b/Instructions/images/az900lab16.png differ diff --git a/Instructions/images/az900lab17.png b/Instructions/images/az900lab17.png new file mode 100644 index 00000000..0dcb8ef7 Binary files /dev/null and b/Instructions/images/az900lab17.png differ diff --git a/Instructions/images/az900lab18.png b/Instructions/images/az900lab18.png new file mode 100644 index 00000000..7bde4f8c Binary files /dev/null and b/Instructions/images/az900lab18.png differ diff --git a/Instructions/images/az900lab19.png b/Instructions/images/az900lab19.png new file mode 100644 index 00000000..599731f4 Binary files /dev/null and b/Instructions/images/az900lab19.png differ diff --git a/Instructions/images/az900lab20.png b/Instructions/images/az900lab20.png new file mode 100644 index 00000000..752f3e31 Binary files /dev/null and b/Instructions/images/az900lab20.png differ diff --git a/Instructions/images/az900lab21.png b/Instructions/images/az900lab21.png new file mode 100644 index 00000000..11dce1a4 Binary files /dev/null and b/Instructions/images/az900lab21.png differ diff --git a/Instructions/images/az900lab22.png b/Instructions/images/az900lab22.png new file mode 100644 index 00000000..2b73e3e1 Binary files /dev/null and b/Instructions/images/az900lab22.png differ diff --git a/Instructions/images/azure.png b/Instructions/images/azure.png new file mode 100644 index 00000000..78c465b4 Binary files /dev/null and b/Instructions/images/azure.png differ diff --git a/Instructions/images/delete.png b/Instructions/images/delete.png new file mode 100644 index 00000000..6f2de123 Binary files /dev/null and b/Instructions/images/delete.png differ diff --git a/Instructions/images/image-100 - Copy.png b/Instructions/images/image-100 - Copy.png new file mode 100644 index 00000000..8a6454d0 Binary files /dev/null and b/Instructions/images/image-100 - Copy.png differ diff --git a/Instructions/images/image-100.png b/Instructions/images/image-100.png new file mode 100644 index 00000000..8a6454d0 Binary files /dev/null and b/Instructions/images/image-100.png differ diff --git a/Instructions/images/image-200 - Copy.jpg b/Instructions/images/image-200 - Copy.jpg new file mode 100644 index 00000000..e842a6af Binary files /dev/null and b/Instructions/images/image-200 - Copy.jpg differ diff --git a/Instructions/images/image-200.jpg b/Instructions/images/image-200.jpg new file mode 100644 index 00000000..e842a6af Binary files /dev/null and b/Instructions/images/image-200.jpg differ diff --git a/Instructions/images/image-901.jpg b/Instructions/images/image-901.jpg new file mode 100644 index 00000000..5975e805 Binary files /dev/null and b/Instructions/images/image-901.jpg differ diff --git a/Instructions/images/image002.jpg b/Instructions/images/image002.jpg new file mode 100644 index 00000000..08cd6cf9 Binary files /dev/null and b/Instructions/images/image002.jpg differ diff --git a/Instructions/images/location.png b/Instructions/images/location.png new file mode 100644 index 00000000..a382a132 Binary files /dev/null and b/Instructions/images/location.png differ diff --git a/Instructions/images/portal1.png b/Instructions/images/portal1.png new file mode 100644 index 00000000..7d0696d0 Binary files /dev/null and b/Instructions/images/portal1.png differ diff --git a/Instructions/images/portal2.png b/Instructions/images/portal2.png new file mode 100644 index 00000000..3ce6d9ad Binary files /dev/null and b/Instructions/images/portal2.png differ diff --git a/Instructions/images/portal3.png b/Instructions/images/portal3.png new file mode 100644 index 00000000..e3597137 Binary files /dev/null and b/Instructions/images/portal3.png differ diff --git a/Instructions/images/scope.png b/Instructions/images/scope.png new file mode 100644 index 00000000..e0dae148 Binary files /dev/null and b/Instructions/images/scope.png differ diff --git a/Instructions/images/scope2.png b/Instructions/images/scope2.png new file mode 100644 index 00000000..22b93edf Binary files /dev/null and b/Instructions/images/scope2.png differ diff --git a/Instructions/images/welcomegamail2.png b/Instructions/images/welcomegamail2.png new file mode 100644 index 00000000..c8a490b1 Binary files /dev/null and b/Instructions/images/welcomegamail2.png differ diff --git a/Instructions/images/welcomegmail.png b/Instructions/images/welcomegmail.png new file mode 100644 index 00000000..4609e642 Binary files /dev/null and b/Instructions/images/welcomegmail.png differ