There are use cases where the need to get the AWS Account ID of the Lambda Function during runtime is required. I thought it was easy as getting the AWS Region but it was not. Luckily there is a way to get it, use the step-by-step instructions below.
To get the AWS Account ID where the Lambda Function is running use the code below.
I have an existing key pair that was generated via AWS Console. Since I do not want to create another set of Key Pair for the other regions, I would like to use the same Key Pair. Is it possible to copy the Key Pair to another Region? How can I do this?
Hi Dany, the short answer to your question is yes, it is possible to copy your existing AWS generated Key Pair to another region and even copy this to another AWS account.
Generating the Key Pairs via AWS Console is easy, it gives you the Private Key and you can launch EC2 instances and associate it with your instance by adjusting the settings during EC2 Instance Launch. Then you can SSH to your EC2 Instance via the Private Key.
The issue here is the Public Key. AWS does not provide the Public Key during creation or any time after that.
Do not worry, we can still get the Public Key. It is not easy as clicking on the console then selecting copy to other region, but it is still doable.
See the steps below.
Step-by-step guide on copying a Key Pair to another region.
For this tutorial, I have created an AWS Key Pair in N. Virginia Region (us-east-1) – radishlogic_key.
The goal is to copy the Key Pair to Oregon Region (us-west-2).
Here are screenshots of my Key Pair.
1. Retrieving the Private Key in N. Virginia Region (us-east-1)
Launch a temporary Linux EC2 Instance in where the Key Pair is located (us-east-1). Any Linux Image will do.
If you are studying Kubernetes and having a hard time running Minikube on an EC2 Instance, you are not alone. I had a hard time doing it when it was my first time.
Below are the steps (and some comments) that I took to help me run Minikube on my EC2 Instance.
Installation of Minikube on EC2 Ubuntu
1. Run a public EC2 Server with the following setup
Ubuntu Server 18.04 LTS (HVM), SSD Volume Type
t3.micro (2 vCPU, 1GB Memory)
8 GB (gp2)
– Key: Name
– Value: Minikube
Name: Minikube Security Group
– SSH, 0.0.0.0/0 Later we will be editing this.
Create your own keypair. You will need this to SSH to your EC2 Instance
Update: I changed the Instance Type from t2.micro (1 vCPU) to t3.micro (2 vCPU). An update to Minikube required a minimum of 2 vCPUs. The error when running with t2.micro was Requested cpu count 1 is less than the minimum allowed of 2.
t3.micro is no longer in the Free Tier, make sure to stop or terminate the instance after you are done testing to avoid a huge AWS bill.
Thank you to everyone in the comments section who pointed this change.
2. SSH into your created EC2 Instance using your keypair.
Most likely you already have an SSL Certificate in AWS Certificate Manager (ACM). Then when you go to configure it in CloudFront you cannot select the radio button that says Custom SSL Certificate (example.com) or your SSL Certificate does not show in the options.
The reason for this is that your SSL Certificate should be in the N. Virginia Region (us-east-1).
If you look closely on the words below the selection it says You can use a certificate stored in AWS Certificate Manager (ACM) in the US East (N. Virginia) Region, or you use a certificate stored in IAM.
When I create Windows Instances in AWS EC2, I usually forget to add a drive or two. With this step-by-step tutorial, I will walk you through how to create a new Volume for EC2 Instances, then make Windows use the new Volume without a reboot.
Creating and Attaching the Volume in AWS EC2 Console
Adding the new Volume to Windows System
I launched a EC2 Windows 2016 Server with only 1 Block Device (/dev/sda1), which is also my Root Device.
Note the Availability Zone where your instance is located, you will need this later. Mine is in us-east-1a.
Looking inside Windows it only has 1 volume.
Creating and Attaching the Volume in AWS EC2 Console
Now we need to attach a new Volume for our Windows Server.
Go to AWS EC2 Console, on the left sidebar click on <strong>Volumes</strong>.
If you plan to make the communication of your site visitors to be secure by using HTTPS then you need to use Public SSL/TLS Certificate. You can do this by requesting for a Public Certificate via AWS Certificate Manager (ACM).
Below are the advantages of using Public SSL/TLS Certificate provided by AWS Certificate Manager.
No charges = Free.
Auto renew – No need to worry on expiring SSL/TLS Certificate. ACM Automatically does this for you.
Easy integration with Amazon Web Services (AWS) products such as CloudFront, Elastic Load Balancer, API Gateway and many more.
Check the step-by-step guide on how you can request a Public SSL/TLS Certificate for HTTPS access of your website/domain.
Note: AWS Certificate Manager is a regional service, therefore make sure to be in the correct AWS Region. If you are new to AWS just select N. Virginia (us-east-1) as it is one of the cheapest regions.
On the AWS Certificate Manager page, click on <strong>Get started</strong>.
On the next screen, make sure to select the Request a public certificate, then click on Request a certificate.
Under Add domain names. Enter the following.
*.[Your Domain] Example: *.chargedneutron.com
The * represents a wildcard. This will allow you to use the SSL Certificate to any subdomains that you want like www.domain.com, images.domain.com, sites.domain.com, mobile.domain.com
[Your Domain] Example: chargedneutron.com
Apex Domain or Naked Domain Name. Your domain name without subdomains. Use this if you do not want to use www in front of your website.
Then click on Next.
Select DNS Validation, then click on <strong>Review</strong>.