Friday, November 01, 2019
mounting AWS (Amazon Web Services) EFS on Linux Ubuntu 18.04
Amazon Elastic File System (Amazon EFS) is a scalable file storage for EC2 and services that run on EC2 (for example Kubernetes clusters). The device is accessible on Linux via the NFS protocol and can be used my multiple instances and pods at the same time.
For more information on EFS visit AWS documentation.
Step one: Gather information
In our case ti is pretty straightforward. Ubuntu instance in the same VPC as the EFS and a DNS name of the file system we want to access. The format uses following convention:
http://file-system-id.efs.aws-region.amazonaws.com
And the exact URL is available on AWS console AWS home under filesystem's DNS name or via cli
Step two: Install the NFS Client for Linux
$ sudo apt-get update
$ sudo apt install nfs-kernel-server
Step three: Mount the file system on EC2 instance.
Create (if you don't have already) a mount point for the EFS
$ sudo mkdir -p /mnt/efs-mount-point
Mount the EFS share on the instance
$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-DNS:/ /mnt/efs-mount-point
Now we have a mounted Amazon EFS file system on Ubuntu EC2 instance.
Keep in mind that command mounted doesn't persist across reboots. if you want it to be permanently accessible you have to add it to the fstab.
Common error:
efs mount.nfs: Connection timed out
This error can occur because either the Amazon EC2, mount target security groups or file system access are not configured properly.
For more troubleshooting tips you can visit:
https://docs.aws.amazon.com/efs/latest/ug/troubleshooting-efs-mounting.html
Thursday, August 08, 2019
How to Install Terraform 0.12 on Ubuntu 18.04
To this day (8/8/2019) Terraform is not packaged in an official apt repository. There is an option to install it with Snap but be careful it will probably be an older version. When i checked it was v0.11.11
If you do want to install it with snap, run:
$ snap install terraform
To install the latest version follow this procedure.
You might want to update your system just in case:
$ sudo apt-get update
Now since you are getting a Terraform binary from official Hashicorp site, you will need both wget and unzip packages unless already installed:
$ sudo apt-get install wget unzip
Last step would be to download an unzip Terraform package (you can find latest here).
$ wget https://releases.hashicorp.com/terraform/0.12.6/terraform_0.12.6_linux_amd64.zip
$ sudo unzip ./terraform_0.12.6_linux_amd64.zip -d /usr/local/bin/
check that it is installed:
$ terraform -v
you are all done.
Provided by:Forthscale systems, cloud experts
Tuesday, February 26, 2019
Getting AWS EC2 instance id (instanceid) from within the ec2 instance
In general you can get a lot of instance metadata by accessing API on
http://169.254.169.254/latest/meta-data/
That includes instance id.
On generic Linux system, you can get the ID either using curl:
curl http://169.254.169.254/latest/meta-data/instance-id
or wget:
wget -q -O - http://169.254.169.254/latest/meta-data/instance-id
If you instance is based on Amazon Linux or have cloud-utils installed you can also run:
ec2-metadata -i
for instance id.
more documentation on metadata is a available here:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
Provided by:Forthscale systems, cloud experts
http://169.254.169.254/latest/meta-data/
That includes instance id.
On generic Linux system, you can get the ID either using curl:
curl http://169.254.169.254/latest/meta-data/instance-id
or wget:
wget -q -O - http://169.254.169.254/latest/meta-data/instance-id
If you instance is based on Amazon Linux or have cloud-utils installed you can also run:
ec2-metadata -i
for instance id.
more documentation on metadata is a available here:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
Provided by:Forthscale systems, cloud experts
Subscribe to:
Posts (Atom)
solving error: Your current user or role does not have access to Kubernetes objects on this EKS cluster.
Trying to access EKS cluster with kubectl you might get an error similar to: Your current user or role does not have access to Kubernetes ob...
-
General Information PGPool can run on same server along with PostgreSQL DB or on stand alone server(recommended). In this article we wil...
-
login to mysql as a root: mysql -uroot -p end execute: mysql> show processlist; will show you list of processes running in MySQL a...
-
Following information is intended for bash shell only. The system variable TMOUT can be set to specify the amount of time the user is ina...