Continuing on with simple examples to help beginners learn the basics of Python and Boto3.
This is a very simple tutorial showing how to get a list of instances in your Amazon AWS environment.
import boto3 ec2client = boto3.client('ec2') response = ec2client.describe_instances() for reservation in response["Reservations"]: for instance in reservation["Instances"]: # This sample print will output entire Dictionary object print(instance) # This will print will output the value of the Dictionary key 'InstanceId' print(instance["InstanceId"])
You can also create a resource object from the instance item as well.
. . for instance in reservation["Instances"] ec2 = boto3.resource('ec2') specificinstance = ec2.Instance(instance["InstanceId"])
Please see this question https://stackoverflow.com/questions/52018545/trying-to-understand-how-describe-instances-work if you can post some thing
Really like the examples on your site.
I need to understand the difference and know how to work with ec2client = boto3.client(‘ec2’) versus ec2 = boto3.resource(‘ec2’), but my biggest difficulty is to referring and extracting the data from ec2client or ec2 objects.
I find other examples online, but I haven’t found where they explain how to walk through and extract all the values you need. I usually see isolated examples.
Do your Python Boto3 Guides Volume 1 & 2 show what I’m looking to do and is Kindle is the only option?
I don’t own a Kindle.
The client is akin to the aws cli api calls. You are asking the AWS API for something or to do something. e.g. describe instances.
The resource is more like a python object. You create a resource representing 1 specific instance and then can query or use methods on that object.
My Volume 1 guide has the info on learning about the client vs. resource and shows how to pick apart the responses you get back from AWS. Good Luck
How can I get these details automatically ? Is there any Lambda function to get the below details ?
Instance ID
Private IP
Tags information
Instance Type
Root Volume size
Data Volume Encryption status
OS
EBS Optimized status
Thanks, this code was a big help.
thanks worked for me with some new features
Thanks for code, is perfect for me.
Hi All,
I am new to AWS and i am looking for python script with lamda function which need to pull all the ec2 instances with the security group with inbound and outbound (0.0.0.0.) for all the ec2 instances in the account
Appreciate if any one suggest me on this .. Thanks in Advance
Laxman
Sounds like you would need to pull all sec groups and identify the secgroup IDs that contain that rule. Then its just a matter of describing instances and filtering on those with that sec group id.
Thanks for sharing!