AWS Posts

Running AWS Lambda Functions in a VPC and Accessing RDS

Running AWS Lambda in VPC and Accessing RDS

AWS Lambda allows us running code without maintaining servers and paying only for the resources allocated during the code run. In most cases, we do not need to run our Lambda function in a VPC and it is recommended not to run in a VPC in these situations as a best practice. Some of examples to these are sending emails using Amazon SES or accessing a DynamoDB table.

However, to access an RDS database in your Lambda function you have to run your function in the same VPC or in a VPC that has a peering connection to the VPC of your RDS instance. In this blog post I would like to discuss about running AWS Lambda functions in a VPC and accessing a RDS MySQL database. Read more at Running AWS Lambda Functions in a VPC and Accessing RDS post.

Restricting Amazon S3 Bucket Access on CloudFront Distributions

When you decide to distribute your content stored in your Amazon S3 bucket with Amazon CloudFront, you most probably would like to avoid your users bypassing CloudFront and accessing them directly from Amazon S3.

In this blog post, I will demonstrate how you can utilize Origin Access Identities to restrict access to your S3 bucket on your Amazon CloudFront distributions. Read more at Restricting Amazon S3 Bucket Access on CloudFront Distributions post.

Storing and Monitoring Rails Logs on Amazon CloudWatch

If you deploy any type of application on AWS, such as a Ruby on Rails web app; then your application will generate large amounts of logs. Hence, you will need to store and monitor these logs somewhere to understand what is going on when an unexpected event occurs. A central log server may be a choice; however, Amazon CloudWatch offers an alternative way without maintaining your log servers and with lots of capabilities.

In today’s blog post, I will describe how you can start storing your application logs on Amazon CloudWatch by using a Ruby on Rails web application as an example. The same principles here would apply to other types of application logs as well. Read more at Storing and Monitoring Rails Logs on Amazon CloudWatch post.

Accessing AWS Resources Using Python Scripts

Accessing AWS via Python and Boto 3

While managing your resources on AWS, you may need accessing services programmatically. You may need to get information about an instance or modify some attribute. In some cases, you may need a cron job that runs every hours or once a day. For example, it can be a job getting the name of the current master node in an ElastiCache Redis cluster.

Writing Python scripts is an easy way to access and use your AWS resources. Besides, you can use Python for coding your AWS Lambda functions. In this blog post, I will give a simple example to listing VPC components using a Python script. Read more at Accessing AWS Resources Using Python Scripts post.