NOTE: This post is originally published at dev.to Intro This is how I created a simple activity logger with AWS API Gateway direct integrations with DynamoDB to record some nuisance activities of one of the neighbors. There are few activities he does which annoy us, such as door slam, punch to the wall, and walking with klomps which make a heavy sound. He is not corporating, so before going for further actions, I wanted to keep track of when he does those activities.
NOTE: This post is originally published at dev.to This post contains a weekend project I worked on to create an alarm when my AWS EC2 servers are down. Tools and technologies used: AWS Lambda, EventBridge, Greengrass, Raspberry Pi, Active Buzzer and LED light (as the alarm), GPIO, etc. Architecture: How it works: When an EC2 is stopped or terminated, EventBridge will capture the event. EventBrige will trigger the Lambda function (PublishToIotCloud) which publish a message to IOT cloud with the topic ‘alarm’.
NOTE: This post is originally published at dev.to This post walks through the steps required to set up AWS Greengrass on your Raspbarry pi. Install OS for Raspberry Pi on SD card Goto https://www.raspberrypi.org/downloads, download and install the Raspberry Pi Imager software to your local machine which will guide the installation. Once installed, open the Raspberry Pi Imager software and select the relevant OS (Raspberry Pi OS 32bit is recommended), SD Card and it will create the OS image in the SD card provided.
NOTE: This post is originally published at dev.to Intro Recently, there was a hackathon at my work place, Wonderkind, and with one of my colleagues, I created a intelligent door bell with AWS Serverless services + a raspberry pi. Whenever someone clicks on the button of the ‘door bell’, it will capture a image and check through a Amazon Rekognition faces collection to see if the faces on the image are already indexed.
Recently, I have created a simple API to retrieve AWS services by it’s regions. And I decide to make it a Serverless Application and now it is generally available to be used by anyone. AWS SAR : Github: https://github.com/pubudusj/serverless-aws-services How it works Once you deploy the application using SAM locally or using SAR, there is a API gateway url in the output section. You can directly access the url, which will output JSON response which is in similar structure as below:
In Simple Notification Service (SNS) filtering messages based on the attributes in the message is one of the great features offered by SNS. Message filtering within SNS has many advantages. One key benefit is that you don’t have to set up a separate filtering process or service which will be resource intensive. You can save significant compute resources (hence money) with filtering within SNS, which otherwise should do using ec2 or Lambda.
Without a doubt, security is one of the key aspect to focus in AWS. It is not only authentication is critical, but authorization is a must to consider specially in the production systems where lot of parties (users, resources, services) should be given only the specific permissions in the AWS environment. AWS IAM policies provides great amount of facilities in order to set up granular level of permissions. Tag based permissions are one of the cool feature supported by IAM.
Recently, one of my friend/client came up with the scenario below. Scenario: There is a lambda function, which calls to a external API and fetch some data. This external API only accepts incoming requests only from pre-configured whitelisted IPs. As per today, AWS doesnt’ support elastic IPs for Lambda. However, there is a simple work around. Solution: Simple solution is, to create the lambda function within a VPC and make the 3rd party API to be accessible via a NAT gateway.
IAM Policy version is a useful feature in IAM when try to identify the correct access rights for a particular policy and switch between the changes applied to the policies. Please Note: Policy versions are not available for inline policies. When you update a particular customer manage policy, AWS will not over-write the existing policy. But new version is created and set as the default version. Image: Policy versions listing for a single IAM Policy
Lambda by nature is highly scalable. However there ares some limitations you need to consider when there are lot of Lambda functions run simultaneously. Please note: This will not applicable for all the scenarios, but for a system with a high throughput. Account Level Concurrent Execution Limit As at now, Lambda has a soft limit of 1000 concurrent executions per region. Which means, at any given moment, sum of lambda executions running belongs to all of your lambda functions in a single region must be less than 1000.