<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Gurlal Sidhu</title>
    <description>The latest articles on DEV Community by Gurlal Sidhu (@gsidhu13).</description>
    <link>https://dev.to/gsidhu13</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F642416%2Fed654948-d162-4079-92e4-d95a9fb40a74.jpg</url>
      <title>DEV Community: Gurlal Sidhu</title>
      <link>https://dev.to/gsidhu13</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gsidhu13"/>
    <language>en</language>
    <item>
      <title>Why You Need a Package Manager on macOS</title>
      <dc:creator>Gurlal Sidhu</dc:creator>
      <pubDate>Sun, 19 May 2024 07:20:48 +0000</pubDate>
      <link>https://dev.to/gsidhu13/why-you-need-a-package-manager-on-macos-4kdh</link>
      <guid>https://dev.to/gsidhu13/why-you-need-a-package-manager-on-macos-4kdh</guid>
      <description>&lt;p&gt;Package managers are invaluable tools, they make the process of installing and managing software applications super easy. In this article, we delve into Homebrew, a package manager designed for macOS and Linux systems. We'll explore its advantages, setup process, and package management capabilities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Homebrew?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As mentioned above, Homebrew is a package manager designed for macOS and Linux systems. This allows the installation and updating of software packages directly from the terminal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Use Homebrew?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here are some reasons to consider Homebrew:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Effortless Installation and Management&lt;/em&gt;: Homebrew streamlines the installation and management of packages, making tasks easier for users.&lt;br&gt;
&lt;em&gt;Unified Package Updates&lt;/em&gt;: Homebrew allows updating all installed packages with a single command, saving time and effort.&lt;br&gt;
&lt;em&gt;Integration with Scripts&lt;/em&gt;: Helps to automate package management tasks&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Installing Homebrew&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To install Homebrew, run the following command in your terminal:&lt;/p&gt;

&lt;p&gt;​&lt;code&gt;/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"​&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;After the installation is completed, just add environment variables as suggested at the end of installation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Finding and Installing New Packages&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Search for available packages in Homebrew's repository using the &lt;code&gt;brew search &amp;lt;package_name&amp;gt;&lt;/code&gt;command. For example, to find Ansible, type &lt;code&gt;brew search ansible&lt;/code&gt;. &lt;br&gt;
Once you've found the desired package, install it with brew install , such as brew install ansible. &lt;br&gt;
To remove an installed package, use brew uninstall , e.g., brew uninstall ansible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Managing Installed Packages&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Listing Installed Packages:&lt;/em&gt; View a list of installed Homebrew packages with &lt;code&gt;brew list&lt;/code&gt;.&lt;br&gt;
&lt;em&gt;Identifying Outdated Packages:&lt;/em&gt; Find outdated packages with &lt;code&gt;brew outdated&lt;/code&gt;.&lt;br&gt;
&lt;em&gt;Updating Packages:&lt;/em&gt; Keep your packages up to date with &lt;code&gt;brew update&lt;/code&gt;.&lt;br&gt;
&lt;em&gt;Removing Old Versions:&lt;/em&gt; Clean up old versions of packages with &lt;code&gt;brew cleanup&lt;/code&gt;.&lt;br&gt;
&lt;em&gt;Addressing Issues:&lt;/em&gt; Detect and resolve any issues or warnings related to packages using &lt;code&gt;brew doctor&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Installing macOS Native Applications&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Homebrew's Cask extension allows the installation of macOS native applications.&lt;br&gt;
When searching for packages, you'll find listings under formulae (non-GUI) and cask (GUI macOS applications). &lt;br&gt;
To install a macOS application, use the &lt;code&gt;brew install&lt;/code&gt; command, which downloads, installs, and moves the software to the Applications folder. For example, to install Firefox, use &lt;code&gt;brew install firefox --cask&lt;/code&gt;. &lt;br&gt;
Additional information on a package can be obtained with &lt;code&gt;brew info &amp;lt;package_name&amp;gt; --cask&lt;/code&gt;, and you can visit the official website of an application using &lt;code&gt;brew home &amp;lt;package_name&amp;gt;&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Adding Repositories&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you can't find a specific package, you may need to add its repository. Use &lt;code&gt;brew tap &amp;lt;repo_name&amp;gt;&lt;/code&gt;to add a repository. For instance, to install Terraform, add the HashiCorp repository with &lt;code&gt;brew tap hashicorp/tap&lt;/code&gt;. Once added, you can install terraform with &lt;code&gt;brew install terraform&lt;/code&gt; If you had tried to install it before brew would have failed to find and install the package. &lt;br&gt;
To remove a repository, use &lt;code&gt;brew untap &amp;lt;repo_name&amp;gt;.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Uninstalling Homebrew&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you decide to remove Homebrew from your machine, run the following command:&lt;br&gt;
&lt;code&gt;/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Want to Learn More?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For further insights into Homebrew, visit their official website at &lt;a href="//brew.sh"&gt;brew.sh.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>terminal</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>devops</category>
    </item>
    <item>
      <title>Why Can't You SSH from an External Network?</title>
      <dc:creator>Gurlal Sidhu</dc:creator>
      <pubDate>Sat, 04 May 2024 14:02:23 +0000</pubDate>
      <link>https://dev.to/gsidhu13/why-cant-you-ssh-from-an-external-network-lbk</link>
      <guid>https://dev.to/gsidhu13/why-cant-you-ssh-from-an-external-network-lbk</guid>
      <description>&lt;p&gt;As long as keys are all right, SSH connectivity issues often have to do with networking and firewall configurations. To ensure SSH connections can be properly established from an external network, you need to configure port forwarding and firewall rules.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Steps to Enable Port Forwarding and Allow SSH on Firewall&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Retrieve Local IP Address&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To find the local IP address of the server, run the following command:&lt;br&gt;
&lt;code&gt;ip addr&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Now log in to your router. Please note that the steps below might vary depending on your router's vendor. I have a TP-Link router, so that's where I referenced from.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Retrieve MAC Address of the machine&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to &lt;em&gt;DHCP&lt;/em&gt; and select the &lt;em&gt;DHCP client list&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Find the server's IP address and its corresponding MAC address. Make a note of this MAC address.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Add Server IP to Address Reservation&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the &lt;em&gt;DHCP&lt;/em&gt; section, select &lt;em&gt;Address Reservation&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;em&gt;Add New&lt;/em&gt;, enter the MAC address and the server's IP address, then click &lt;em&gt;Save&lt;/em&gt;. Doing this step, so server's local IP address stays the same.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Configure Port Forwarding&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to &lt;em&gt;Forwarding&lt;/em&gt;, select &lt;em&gt;Virtual Server&lt;/em&gt;, and click &lt;em&gt;Add New&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Set &lt;em&gt;Service Port&lt;/em&gt; to &lt;em&gt;22&lt;/em&gt;, IP address to the server's IP, and Internal Port to &lt;em&gt;22&lt;/em&gt;. Click &lt;em&gt;Save&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5. Allow SSH Through the Firewall&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Even if SSH is installed and running on the server, it might not be allowed by the firewall. To permit SSH traffic through the firewall, use the following command:&lt;br&gt;
&lt;code&gt;sudo ufw allow ssh&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Allow SSH Traffic on External Firewall&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In a work environment, there'll likely be both a router and a firewall. Depending on the firewall vendor, the instructions may differ. However, add a rule to allow traffic from the host machine to the server on port 22 to ensure the firewall doesn't block SSH traffic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Connect to the Server from an External Network&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To establish an SSH connection, use this command:&lt;br&gt;
&lt;code&gt;ssh -i keylocation/keyname user@publicIP&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Don't know your public IP? Just google what's my IP.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>networking</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Why Isn't SSH Working on Your New Ubuntu Machine?</title>
      <dc:creator>Gurlal Sidhu</dc:creator>
      <pubDate>Sun, 28 Apr 2024 13:23:30 +0000</pubDate>
      <link>https://dev.to/gsidhu13/why-isnt-ssh-working-on-your-new-ubuntu-machine-151h</link>
      <guid>https://dev.to/gsidhu13/why-isnt-ssh-working-on-your-new-ubuntu-machine-151h</guid>
      <description>&lt;p&gt;The simple answer is that newer versions of Ubuntu or some Linux distributions may not have OpenSSH installed by default. So, it's up to us to check, set it up, and create a SSH key to connect.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Connect to machine via terminal and setup SSH using the steps below:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Check if SSH is installed on the machine&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Run the command below to verify SSH version:&lt;br&gt;
&lt;code&gt;ssh -V&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;An Output like the one below suggests OpenSSH is installed:&lt;br&gt;
&lt;code&gt;OpenSSH_9.4p1, LibreSSL 3.3.6&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If OpenSSH is installed, skip to step 3.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Install OpenSSH&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If it is not installed, install it on a Debian-based distribution using the command below:&lt;br&gt;
&lt;code&gt;sudo apt openssh-server&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Ensure SSH service is running and enabled&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Even tho OpenSSH is installed, SSH service may not be running or enabled. First check its status with the command below:&lt;br&gt;
&lt;code&gt;systemctl status ssh&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If the service isn't not running, run the following command to start it:&lt;br&gt;
&lt;code&gt;systemctl start ssh&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Allow SSH through the firewall&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Even if SSH is installed and running, it might not be allowed by the firewall. To allow SSH through the firewall, use the following command:&lt;br&gt;
&lt;code&gt;sudo ufw allow ssh&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Generate an SSH key on the host machine&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With SSH installed, the service running, and the firewall configured, generate a key pair on the host machine that you'll use to SSH into the new machine. Generate the key using the following command:&lt;br&gt;
&lt;code&gt;ssh-keygen&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This command will create two keys: a private key and a public key. Keep the private key secure and do not share it with anyone. Upon running the command, you will be asked to name the key and choose a location to store it. You can also add a password for added security. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Copy the public key to the Ubuntu machine&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Move the public key to the Ubuntu machine using the following command:&lt;br&gt;
&lt;code&gt;ssh-copy-id -i &amp;lt;keyname&amp;gt;.pub username @ machinename&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Connect via SSH&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now that your new machine is set up with the SSH service running and the public key added, you can establish an SSH connection using the following command:&lt;br&gt;
&lt;code&gt;ssh -i keylocation/keyname user@machinename or IP&lt;/code&gt;&lt;/p&gt;

</description>
      <category>linux</category>
      <category>ubuntu</category>
    </item>
    <item>
      <title>EC2 On-Demand Backup &amp; Restore</title>
      <dc:creator>Gurlal Sidhu</dc:creator>
      <pubDate>Wed, 21 Sep 2022 00:34:38 +0000</pubDate>
      <link>https://dev.to/gsidhu13/ec2-on-demand-backup-restore-3097</link>
      <guid>https://dev.to/gsidhu13/ec2-on-demand-backup-restore-3097</guid>
      <description>&lt;p&gt;Video Version: YouTube &lt;a href="https://youtu.be/D3hAcW908Mg"&gt;link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this article we will explore two AWS solutions to backup &amp;amp; restore an instance:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;EC2 snapshots and AMIs&lt;/li&gt;
&lt;li&gt;AWS Backup (and its drawback)&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Why do I need to do an on-demand backup?
&lt;/h2&gt;

&lt;p&gt;It is always a good idea to take a backup of your instance before making any changes like windows updates, drivers updates or any other system update, so you have backup to fall back on if changes don't go as planned.&lt;/p&gt;

&lt;h2&gt;
  
  
  Solution1: Snapshots and AMIs
&lt;/h2&gt;

&lt;p&gt;This solution creates a snapshot of a root volume. During restore, you create a volume out of the snapshot. Once new volume is created, it get swapped with an existing root volume of the instance. Below are the steps how it works.&lt;/p&gt;

&lt;h3&gt;
  
  
  Backup
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Go to EC2 service --&amp;gt; In the left pane, select instances&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Select the desired instance --&amp;gt; Click Actions&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;From drop-down, click on Image and templates --&amp;gt; create Image&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Enter in Image name

&lt;code&gt;
my_instance_image
&lt;/code&gt;

--&amp;gt; Click Create image&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Make note of snapshot id that prompted at the top.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Restore
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Create a Volume
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Go to EC2 service --&amp;gt; In the left pane, select instances&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Select the desired instance --&amp;gt; Stop the instance&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;In the detail(bottom) pane, switch to Storage&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Make note of Root device details i.e. /dev/sda1 (different for windows)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;In the left pane, click snapshots under Elastic Block store --&amp;gt;  Select the snapshot created in the Backup process above&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Click Actions --&amp;gt; Click create volume&lt;/em&gt; &lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Verify default options i.e. AZ zone should be same as instance --&amp;gt; Add tag &lt;code&gt;Name:RestoreVol&lt;/code&gt;&lt;/em&gt; &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Click create volume&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Detach an existing volume
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;em&gt;In EC2 console --&amp;gt; In the left pane, select instances&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Select the desired instance --&amp;gt; Stop the instance&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;In the detail(bottom) pane, switch to Storage --&amp;gt; Click root volume (device name = Root device name) under Block devices&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Select volume --&amp;gt; Click Actions &amp;amp; from drop-down, click Detach volume --&amp;gt; click Detach&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Attach a new Volume
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;em&gt;In EC2 console --&amp;gt; In the left pane, select volumes&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Select

&lt;code&gt;
RestoreVol
&lt;/code&gt;

volume --&amp;gt; Click Actions&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;From dropdown, click Attach volume --&amp;gt;Select the instance&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Device name /dev/sda1 --&amp;gt; Click attach volume&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The Instance HAS BEEN RESTORED. Start the instance and access as you usually would. &lt;/p&gt;

&lt;h2&gt;
  
  
  Solution2 : AWS BACKUP
&lt;/h2&gt;

&lt;p&gt;AWS Backup is a convent way to take backups with a couple of clicks and restore the backup to a new machine.&lt;/p&gt;

&lt;h3&gt;
  
  
  Prerequisite: Backup Vault
&lt;/h3&gt;

&lt;p&gt;Before you could backup an instance using AWS Backup. Backup Vault needs to be in place. Backup Vault is a storage location where resources get backed up&lt;/p&gt;

&lt;h4&gt;
  
  
  Create Backup Vault
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Go to AWS Backup --&amp;gt; In the left pane, select Backup Vault&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Click Create backup vault  at the right --&amp;gt; Enter in Backup Vault name &lt;code&gt;
my_vault
&lt;/code&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Select default(aws/backup) Encryption Key --&amp;gt; Add tags if required&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Click Create backup vault&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once the vault is created, on-demand backup of your instance can be taken.&lt;/p&gt;

&lt;h3&gt;
  
  
  Backup your instance
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Go to AWS Backup --&amp;gt; In the left pane, select Backup Vault&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Select the vault you just created --&amp;gt; Under Recovery points, click on Create on-demand backup&lt;/em&gt; &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Select EC2 Resource type and your instance for instance ID&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Backup window, select Create backup now --&amp;gt; Retention period, select &lt;code&gt;Days&lt;/code&gt; and leave &lt;code&gt;1 day&lt;/code&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Backup Vault, select &lt;code&gt;my_vault&lt;/code&gt;--&amp;gt; IAM role, Keep Default role selected&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Click Create on-demand backup&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Restore
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;em&gt;In AWS Backup --&amp;gt; In the left pane, select Protected resources&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Select the instance --&amp;gt; Under Recovery points, select Recovery point ID&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Leave everything default or update the values as desired --&amp;gt; Restore backup&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Go to EC2 console, a new restored instance would have been created. &lt;/p&gt;

&lt;h3&gt;
  
  
  Drawback of this solution:
&lt;/h3&gt;

&lt;p&gt;New instance get created with new instance ID, IP address, interface ID etc. and old instance needs to terminated. In Enterprise environments, this could result in issues as old Instance IP or ID could have been serving other purposes.&lt;/p&gt;

&lt;p&gt;To avoid creation of a new instance. Use AWS backup to backup EBS volume of the instance and then detach/attach as suggested in snapshot and AMI backup and restore process.&lt;/p&gt;

&lt;p&gt;In addition to on-demand backup, scheduled backups can be enabled for your instances like daily, weekly or monthly and how long you would like to retain them. I'll cover more of those in future articles &lt;/p&gt;

&lt;h4&gt;
  
  
  Cleanup
&lt;/h4&gt;

&lt;p&gt;If you followed the steps suggested above, please remove all those resource to avoid getting billed for them. &lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
