Module Objectives
By the end of this module, participants will be able to:
- Introduction
- Set up a secure AWS development environment
- Configure CLI & SDK access securely
Introduction: AWS Global Infrastructure
Key Concepts
AWS Regions
A Region is a geographical area with multiple, isolated Availability Zones
Examples: us-east-1, eu-west-1, ap-south-1
Developers choose Regions based on:
- Latency
- Compliance & data residency
- Service availability
Availability Zones (AZs)
An AZ is one or more physically separate data centres within a Region
AZs are:
- Connected via high-speed, low-latency links
- Isolated to prevent failure propagation
Best practice:
Deploy applications across multiple AZs for high availability
Edge Locations
Used by services such as:
- Amazon CloudFront
- AWS WAF
- AWS Shield
Purpose:
- Reduce latency by serving content closer to users
- Improve performance for global applications
Regional vs Global Services (Developer View)
Global services:
- IAM
- Route 53
- CloudFront
Regional services:
EC2, Lambda, RDS, DynamoDB
1. AWS Development Environment – Overview
A controlled AWS setup that allows developers to:
- Write, build, test, and deploy applications
- Access AWS services securely
- Use automation tools (CLI, SDK, IaC)
Typical Components
- AWS Account (or sandbox)
- IAM Users / Roles
- AWS Management Console
- AWS CLI
- SDKs (Java, Python, Node.js, etc.)
- CloudShell / Cloud9 (optional)
- Source control (GitHub / CodeCommit)
2. AWS Account & Environment Setup
- Why not to use root account for development. Root account has unrestricted access – IAM policies do NOT apply to root.
Common models:
- Single Account (training / sandbox)
- Multi-Account (prod, non-prod, dev) – mention AWS Organizations
- Root Account – Best Practices
- Enable MFA
- Do not use root for daily tasks
- Secure root credentials
7. Development Access Options
AWS Management Console
- Browser-based
- For learning, debugging, configuration
AWS CLI
- Used for automation and scripting
- Uses IAM credentials or roles
AWS SDKs
- Used in application code
- Automatically picks credentials from environment
Credential resolution order (important concept):
- Environment variables
- Shared credentials file
- IAM role (EC2/Lambda)
- Default profile
8. AWS CloudShell
- Browser-based shell
- Pre-configured AWS CLI
- Uses IAM permissions automatically
Benefits
- No local setup
- Secure
- Ideal for training labs
Lab: Configure AWS CLI Securely
Objective
Set up AWS CLI using IAM user credentials.
Steps
Install AWS CLI
Run:aws configure
Provide:
Access Key
Secret Key
Region
Verify:
aws sts get-caller-identity
Security Note
Explain .aws/credentials file and risks.
Hands on Lab Prerequisites:
pip3 install boto3
aws configure
Lab: Create script to list bucket(vi or any editor)
import boto3
def list_buckets():
s3 = boto3.client('s3')
response = s3.list_buckets()
print("S3 Buckets:")
for bucket in response['Buckets']:
print(f"- {bucket['Name']}")
if __name__ == "__main__":
list_buckets()
Next
Top comments (0)