Skip to content

AWS_Practical_Interview_1001 1500

AWS Practical Interview Questions (1001-1500)

Section titled “AWS Practical Interview Questions (1001-1500)”

Q1001: How do you configure EC2 Instance Connect?

Section titled “Q1001: How do you configure EC2 Instance Connect?”

Answer:

Terminal window
# Enable Instance Connect
aws ec2 describe-instance-connect-attributes --instance-id i-12345
# Connect using Instance Connect
aws ec2-instance-connect ssh --instance-id i-12345 --instance-user ec2-user

Answer:

Terminal window
# Create image pipeline
aws imagebuilder create-image-pipeline \
--name my-pipeline \
--image-recipe-arn arn:aws:imagebuilder:us-east-1:123:image-recipe/basic/1.0.0 \
--infrastructure-configuration-arn arn:aws:imagebuilder:us-east-1:123:infra/basic

Answer:

Terminal window
# Create fleet
aws ec2 create-fleet \
--launch-template-configs '[{"launchTemplateId":"lt-123","version":"$Latest"}]' \
--target-capacity-specification '{"TotalTargetCapacity":10,"DefaultCapacityType":"spot"}' \
--spot-options '{"AllocationStrategy":"lowest-price"}'

Q1004: How do you use EC2 Capacity Reservations?

Section titled “Q1004: How do you use EC2 Capacity Reservations?”

Answer:

Terminal window
# Create capacity reservation
aws ec2 create-capacity-reservation \
--instance-type t3.medium \
--instance-platform Linux/UNIX \
--availability-zone us-east-1a \
--instance-count 5
# Modify reservation
aws ec2 modify-capacity-reservation \
--capacity-reservation-id cr-123 \
--instance-count 10

Q1005: How do you configure EC2 Placement Groups?

Section titled “Q1005: How do you configure EC2 Placement Groups?”

Answer:

Terminal window
# Create cluster placement group
aws ec2 create-placement-group \
--group-name my-cluster \
--strategy cluster
# Create spread placement group
aws ec2 create-placement-group \
--group-name my-spread \
--strategy spread
# Create partition placement group
aws ec2 create-placement-group \
--group-name my-partition \
--strategy partition \
--partition-count 4

Q1006: How do you implement Lambda SnapStart?

Section titled “Q1006: How do you implement Lambda SnapStart?”

Answer:

Terminal window
# Enable SnapStart (via console or API)
aws lambda update-function-configuration \
--function-name my-function \
--snap-start '{"ApplyOn":"PublishedVersions"}'

Answer:

Terminal window
# Add extension layer
aws lambda update-function-configuration \
--function-name my-function \
--layers 'arn:aws:lambda:us-east-1:123456789012:layer:extensions:1'

Q1008: How do you implement Lambda Function URLs?

Section titled “Q1008: How do you implement Lambda Function URLs?”

Answer:

Terminal window
# Create function URL
aws lambda put-function-url-config \
--function-name my-function \
--auth-type AWS_IAM \
--cors-config '{"AllowOrigins":["*"],"AllowMethods":["GET","POST"]}'
# Invoke function URL
FUNCTION_URL=$(aws lambda get-function-url-config --function-name my-function --query 'FunctionUrl' --output text)
curl $FUNCTION_URL

Q1009: How do you use Lambda Event Source Mapping?

Section titled “Q1009: How do you use Lambda Event Source Mapping?”

Answer:

Terminal window
# Create event source mapping
aws lambda create-event-source-mapping \
--function-name my-function \
--event-source-arn arn:aws:kinesis:us-east-1:123456789012:stream/my-stream \
--batch-size 100 \
--starting-position LATEST

Q1010: How do you implement Lambda VPC ENI management?

Section titled “Q1010: How do you implement Lambda VPC ENI management?”

Answer:

# Lambda VPC ENI management is automatic
# For better control:
# 1. Increase Lambda memory (more ENIs)
# 2. Use VPC endpoints to reduce ENI need
# 3. Use ENI trunking for high concurrency

Q1011: How do you implement S3 Access Analyzer?

Section titled “Q1011: How do you implement S3 Access Analyzer?”

Answer:

Terminal window
# Enable Access Analyzer
aws s3control put-access-point-configuration \
--account-id 123456789012 \
--access-point-name my-access-point \
--configuration '{"AccessPointTranslation":{"S3 translate":{}}}'

Answer:

Terminal window
# Create Object Lambda Access Point
aws s3control create-access-point \
--name my-object-lambda \
--account-id 123456789012 \
--type ObjectLambda \
--configuration '{
"ObjectLambdaSupportedOperations": [{"Name":"GetObject"}],
"TransformationConfigurations": [{"Action":{"Name":"GetObject"},"ContentTransformation":{"S3ApplyFilter":{}}}]
}'

Q1013: How do you implement S3 Access Points?

Section titled “Q1013: How do you implement S3 Access Points?”

Answer:

Terminal window
# Create access point
aws s3control create-access-point \
--account-id 123456789012 \
--name my-app-access-point \
--bucket my-bucket \
--public-access-block-configuration '{
"BlockPublicAcls": true,
"IgnorePublicAcls": true
}'

Answer:

Terminal window
# Create storage lens
aws s3control put-storage-lens-configuration \
--account-id 123456789012 \
--storage-lens-configuration '{
"Id": "my-dashboard",
"Include": {"Buckets": ["*"]},
"AccountLevel": {"ActivityMetrics":{"Enabled":true}},"Region": "us-east-1"
}'

Q1015: How do you implement S3 Glacier Vault Lock?

Section titled “Q1015: How do you implement S3 Glacier Vault Lock?”

Answer:

Terminal window
# Initiate vault lock
aws glacier initiate-vault-lock \
--vault-name my-vault \
--policy '{"Policy":"{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Sid\\":\\"VaultLock\\",\\"Effect\\":\\"Deny\\",\\"Principal\\":\\"*\\",\\"Action\\":\\"glacier:DeleteArchive\\",\\"Resource\\":\\"*\\"}]}"}'
# Complete vault lock (after 24 hours)
aws glacier complete-vault-lock \
--vault-name my-vault \
--lock-archive-id lock-id

Q1016: How do you implement VPC Reachability Analyzer?

Section titled “Q1016: How do you implement VPC Reachability Analyzer?”

Answer:

Terminal window
# Create and analyze path
aws network-insights-analyzer start-path-analysis \
--source '{"ComponentId":"i-12345"}' \
--destination '{"ComponentId":"i-67890"}' \
--protocol tcp
# Get analysis result
aws network-insights-analyzer get-path-analysis \
--path-analysis-id analysis-id

Q1017: How do you use VPC Traffic Mirroring?

Section titled “Q1017: How do you use VPC Traffic Mirroring?”

Answer:

Terminal window
# Create traffic mirror target
aws ec2 create-traffic-mirror-target \
--description "Target" \
--network-interface-id eni-123
# Create traffic mirror filter
aws ec2 create-traffic-mirror-filter \
--description "Filter"
# Create mirror session
aws ec2 create-traffic-mirror-session \
--traffic-mirror-target-id tmt-123 \
--traffic-mirror-filter-id tmf-123 \
--network-interface-id eni-123 \
--session-number 1
Section titled “Q1018: How do you configure PrivateLink endpoint policies?”

Answer:

{
"Statement": [{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket/*",
"Condition": {
"aws:SourceVpc": {"Ref": "VPC"}
}
}]
}

Q1019: How do you implement VPC DNS Firewall?

Section titled “Q1019: How do you implement VPC DNS Firewall?”

Answer:

Terminal window
# Create DNS firewall rule group
aws route53resolver create-firewall-rule-group \
--name my-rule-group
# Create firewall rule
aws route53resolver create-firewall-rule \
--name block-malicious \
--firewall-rule-group-id rule-group-id \
--action BLOCK \
--block-response NODATA \
--query-type "A"

Q1020: How do you use Transit Gateway Connect?

Section titled “Q1020: How do you use Transit Gateway Connect?”

Answer:

Terminal window
# Create Transit Gateway attachment
aws ec2 create-transit-gateway-connect \
--transport-transit-gateway-attachment-id tgw-attach-123 \
--options '{"Protocol":"gre"}'

Q1021: How do you configure RDS Performance Insights?

Section titled “Q1021: How do you configure RDS Performance Insights?”

Answer:

Terminal window
# Enable Performance Insights
aws rds modify-db-instance \
--db-instance-identifier my-db \
--enable-performance-insights \
--performance-insights-kms-key-id key-id \
--performance-insights-retention-period 7
# Query Performance Insights
aws pi describe-dimension-keys \
--service-type RDS \
--db-instance-id my-db \
--start-time 2024-01-01 \
--end-time 2024-01-02 \
--metric db.cpu. utilized

Answer:

import boto3
rdsdata = boto3.client('rds-data')
response = rdsdata.execute_statement(
resourceArn='arn:aws:rds:us-east-1:123456789012:cluster:my-cluster',
secretArn='arn:aws:secretsmanager:us-east-1:123456789012:secret:db-secret',
database='mydb',
sql='SELECT * FROM users'
)

Q1023: How do you configure RDS IAM Authentication?

Section titled “Q1023: How do you configure RDS IAM Authentication?”

Answer:

Terminal window
# Enable IAM auth
aws rds modify-db-instance \
--db-instance-identifier my-db \
--iam-db-authentication-enabled
# Generate auth token
aws rds generate-db-auth-token \
--hostname my-db.cluster-123.rds.amazonaws.com \
--port 3306 \
--username admin

Q1024: How do you use RDS Optimized Writes?

Section titled “Q1024: How do you use RDS Optimized Writes?”

Answer:

Enable automatically for r6i, r6id, r5b instance types

Section titled “Enable automatically for r6i, r6id, r5b instance types”

Q1025: How do you configure RDS Enhanced Monitoring?

Section titled “Q1025: How do you configure RDS Enhanced Monitoring?”

Answer:

Terminal window
# Enable enhanced monitoring
aws rds modify-db-instance \
--db-instance-identifier my-db \
--monitoring-interval 60 \
--monitoring-role-arn arn:aws:iam::123456789012:role/rds-monitoring-role

Q1026: How do you implement DynamoDB Point-in-Time Recovery?

Section titled “Q1026: How do you implement DynamoDB Point-in-Time Recovery?”

Answer:

Terminal window
# Enable PITR
aws dynamodb update-continuous-backups \
--table-name my-table \
--point-in-time-recovery-specification '{
"PointInTimeRecoveryEnabled": true
}'
# Restore table
aws dynamodb restore-table-to-point-in-time \
--source-table-name my-table \
--target-table-name my-table-restored \
--use-latest-restoration-time

Q1027: How do you implement DynamoDB Time to Live?

Section titled “Q1027: How do you implement DynamoDB Time to Live?”

Answer:

Terminal window
# Enable TTL
aws dynamodb update-time-to-live \
--table-name my-table \
--time-to-live-specification '{
"Enabled": true,
"AttributeName": "expiresAt"
}'

Answer:

Terminal window
# Execute statement
aws dynamodb execute-statement \
--statement "SELECT * FROM my-table WHERE id = '123'"
# Batch execute
aws dynamodb batch-execute-statement \
--statements '[{"Statement":"INSERT INTO my-table VALUES {\\"id\\":\\"1\\",\\"name\\":\\"test\\"}"}]'

Q1029: How do you implement DynamoDB Key Conditions?

Section titled “Q1029: How do you implement DynamoDB Key Conditions?”

Answer:

# Query with key condition
response = table.query(
KeyConditionExpression=Key('pk').eq('user#123') & Key('sk').begins_with('order#')
)

Q1030: How do you use DynamoDB Local Secondary Indexes?

Section titled “Q1030: How do you use DynamoDB Local Secondary Indexes?”

Answer:

Terminal window
# Create table with LSI
aws dynamodb create-table \
--table-name my-table \
--attribute-definitions \
AttributeName=PK,AttributeType=S \
AttributeName=SK,AttributeType=S \
AttributeName=createdAt,AttributeType=S \
--key-schema \
AttributeName=PK,KeyType=HASH \
AttributeName=SK,KeyType=RANGE \
--local-secondary-indexes '[{
"IndexName": "createdAt-index",
"KeySchema": [{"AttributeName":"PK","KeyType":"HASH"},{"AttributeName":"createdAt","KeyType":"RANGE"}],
"Projection": {"ProjectionType":"ALL"}
}]'

Q1031: How do you implement ECS Service Connect?

Section titled “Q1031: How do you implement ECS Service Connect?”

Answer:

Terminal window
# Create service with Service Connect
aws ecs create-service \
--cluster my-cluster \
--service-name my-service \
--service-connect-configuration '{
"Enabled": true,
"Services": [{
"PortName": "web",
"ClientAliases": [{"Port": 80}]
}]
}'

Answer:

Terminal window
# Enable ECS Exec
aws ecs update-service \
--cluster my-cluster \
--service my-service \
--enable-execute-command
# Execute command
aws ecs execute-command \
--cluster my-cluster \
--container web \
--interactive \
--command "/bin/sh" \
--task task-id

Q1033: How do you implement ECS Task Placement Strategies?

Section titled “Q1033: How do you implement ECS Task Placement Strategies?”

Answer:

{
"placementStrategy": [
{
"type": "spread",
"field": "attribute:ecs.availability-zone"
},
{
"type": "binpack",
"field": "memory"
}
],
"placementConstraints": [
{
"type": "memberOf",
"expression": "attribute:ecs.instance-type == t3.medium"
}
]
}

Q1034: How do you use ECS Capacity Providers?

Section titled “Q1034: How do you use ECS Capacity Providers?”

Answer:

Terminal window
# Create capacity provider
aws ecs create-capacity-provider \
--name my-provider \
--auto-scaling-group-provider '{
"autoScalingGroupArn": "arn:aws:autoscaling:asg",
"managedScaling": {"Status": "ENABLED"},
"managedTerminationProtection": "ENABLED"
}'

Q1035: How do you configure ECS Task Definitions with Secrets?

Section titled “Q1035: How do you configure ECS Task Definitions with Secrets?”

Answer:

{
"containerDefinitions": [{
"name": "web",
"image": "nginx",
"secrets": [{
"name": "DB_PASSWORD",
"valueFrom": "arn:aws:secretsmanager:region:account:secret:db-password"
}],
"environmentFiles": [{
"type": "s3",
"value": "arn:aws:s3:::my-bucket/env.env"
}]
}]
}

Answer:

Terminal window
# Create EKS cluster with add-on
aws eks create-cluster \
--name my-cluster \
--resources-vpc-config '{
"subnetIds":["subnet-123"],
"securityGroupIds":["sg-123"]
}'
# Add addon
aws eks create-addon \
--cluster-name my-cluster \
--addon-name vpc-cni
# Update addon
aws eks update-addon \
--cluster-name my-cluster \
--addon-name vpc-cni \
--addon-version latest

Answer:

Terminal window
# Create service account with role
eksctl create iamserviceaccount \
--name my-app \
--namespace default \
--cluster my-cluster \
--attach-role-arn arn:aws:iam::123456789012:role/my-role

Q1038: How do you implement EKS Windows Containers?

Section titled “Q1038: How do you implement EKS Windows Containers?”

Answer:

Terminal window
# Create Windows node group
aws eks create-nodegroup \
--cluster-name my-cluster \
--nodegroup-name windows-nodes \
--instance-types m5n.large \
--ami-type Windows_Server-2022-English-Full-EKS_Optimized-1.0

Q1039: How do you use EKS Fargate Profile?

Section titled “Q1039: How do you use EKS Fargate Profile?”

Answer:

Terminal window
# Create Fargate profile
aws eks create-fargate-profile \
--cluster-name my-cluster \
--fargate-profile-name my-profile \
--selectors '[
{"namespace": "default"},
{"namespace": "kube-system", "labels": {"env": "production"}}
]'

Q1040: How do you implement EKS Cluster Autoscaler?

Section titled “Q1040: How do you implement EKS Cluster Autoscaler?”

Answer:

deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: cluster-autoscaler
namespace: kube-system
spec:
replicas: 1
template:
spec:
containers:
- name: cluster-autoscaler
image: registry.k8s.io/autoscaling/cluster-autoscaler:v1.28.0
command:
- ./cluster-autoscaler
- --node-group-auto-discovery=asg:tag=k8s.io/cluster-autoscaler/enabled

Q1041: How do you configure CloudFront Functions?

Section titled “Q1041: How do you configure CloudFront Functions?”

Answer:

// viewer-request function
function handler(event) {
var request = event.request;
request.headers['x-custom-header'] = { value: 'test' };
return request;
}

Q1042: How do you implement CloudFront Signed Cookies?

Section titled “Q1042: How do you implement CloudFront Signed Cookies?”

Answer:

import boto3
cloudfront = boto3.client('cloudfront')
# Create signed cookie policy
policy = {
"Statement": [{
"Resource": "https://d123.cloudfront.net/private/*",
"Condition": {
"DateGreaterThan": {"AWS:EpochTime": 1640000000},
"IpAddress": {"AWS:SourceIp": "192.168.1.0/24"}
}
}]
}
# Generate signed cookies
response = cloudfront.sign_cookie(
Policy=policy,
KeyPairId='key-id',
PrivateKey='private-key'
)

Q1043: How do you use CloudFront Origin Groups?

Section titled “Q1043: How do you use CloudFront Origin Groups?”

Answer:

Terminal window
# Create origin group
aws cloudfront create-origin-groups \
--origin-groups '{
"Quantity": 1,
"Items": [{
"Id": "my-origin-group",
"FailoverCriteria": {"StatusCodes": {"Quantity": 2, "Items": [500, 502]}},
"Members": {"Quantity": 2, "Items": [{"OriginId": "primary"}, {"OriginId": "secondary"}]}
}]
}'

Q1044: How do you implement CloudFront Real-time Logs?

Section titled “Q1044: How do you implement CloudFront Real-time Logs?”

Answer:

Terminal window
# Create real-time log config
aws cloudfront create-realtime-log-config \
--name my-logs \
--sampling-rate 50 \
--fields '["timestamp","c-ip","c-country","s-ip","cs-method","sc-status"]' \
--endpoint '{"StreamType":"Kinesis","KinesisStreamConfig":{"RoleArn":"arn:role","StreamArn":"arn:stream"}}'

Q1045: How do use CloudFront Field-level Encryption?

Section titled “Q1045: How do use CloudFront Field-level Encryption?”

Answer:

Terminal window
# Create field-level encryption config
aws cloudfront create-field-level-encryption-config \
--field-level-encryption-config '{
"CallerReference": "ref",
"ContentTypeProfileConfig": {"ForwardWhenContentTypeIsUnknown": true},
"QueryArgProfileConfig": {"ForwardWhenQueryArgProfileIsUnknown": true}
}'

Q1046: How do you implement API Gateway WebSocket API?

Section titled “Q1046: How do you implement API Gateway WebSocket API?”

Answer:

Terminal window
# Create WebSocket API
aws apigatewayv2 create-api \
--name my-websocket \
--protocol-type WEBSOCKET \
--route-selection-expression '$request.body.action'
# Create routes
aws apigatewayv2 create-route \
--api-id api-id \
--route-key $connect
aws apigatewayv2 create-route \
--api-id api-id \
--route-key $default

Q1047: How do you use API Gateway Integration Response Mapping?

Section titled “Q1047: How do you use API Gateway Integration Response Mapping?”

Answer:

{
"integrationResponse": {
"200": {
"responseTemplates": {
"application/json": "#set($inputRoot = $input.path('$')){\"statusCode\": 200, \"body\": \"$inputRoot.data\"}"
}
}
}
}

Q1048: How do you implement API Gateway Request Validation?

Section titled “Q1048: How do you implement API Gateway Request Validation?”

Answer:

Terminal window
# Create request validator
aws apigateway put-request-validator \
--rest-api-id api-id \
--request-validator-name "Validate Body" \
--validate-request-body true \
--validate-request-headers true

Q1049: How do you use API Gateway Cache Invalidation?

Section titled “Q1049: How do you use API Gateway Cache Invalidation?”

Answer:

aws apigateway create-invalidation
—rest-api-id api-id
—stage-prod
—paths ’[“/resource/*”]‘

Q1050: How do you implement API Gateway Usage Plans?

Section titled “Q1050: How do you implement API Gateway Usage Plans?”

Answer:

Terminal window
# Create usage plan
aws apigateway create-usage-plan \
--name my-plan \
--quota '{"Limit":10000,"Period":"MONTH"}' \
--throttle '{"BurstLimit":100,"RateLimit":50}"
# Create API key
aws apigateway create-api-key \
--name my-key \
--enabled
# Associate with usage plan
aws apigateway create-usage-plan-key \
--usage-plan-id plan-id \
--key-id key-id \
--key-type API_KEY

Q1051: How do you implement Route 53 Resolver?

Section titled “Q1051: How do you implement Route 53 Resolver?”

Answer:

Terminal window
# Create inbound endpoint
aws route53resolver create-resolver-endpoint \
--name inbound \
--direction INBOUND \
--security-group-ids sg-123 \
--ip-addresses '[
{"SubnetId":"subnet-1","Ip":"10.0.1.50"},
{"SubnetId":"subnet-2","Ip":"10.0.2.50"}
]'
# Create outbound rule
aws route53resolver create-resolver-rule \
--name corp-rule \
--rule-type FORWARD \
--domain-name corp.example.com \
--target-ips '[{"Ip":"10.0.1.100","Port":53}]'

Q1052: How do you use Route 53 Traffic Flow?

Section titled “Q1052: How do you use Route 53 Traffic Flow?”

Answer:

Terminal window
# Create traffic policy
aws route53 create-traffic-policy \
--name my-policy \
--document file://policy.json
# Create traffic policy instance
aws route53 create-traffic-policy-instance \
--name my-instance \
--hosted-zone-id Z123 \
--traffic-policy-id policy-id \
--traffic-policy-version 1

Q1053: How do you implement Route 53 Health Check Failover?

Section titled “Q1053: How do you implement Route 53 Health Check Failover?”

Answer:

Terminal window
# Create health check
aws route53 create-health-check \
--caller-reference "ref" \
--health-check-config '{
"Type": "HTTPS",
"FullyQualifiedDomainName": "example.com",
"Port": 443,
"ResourcePath": "/health",
"RequestInterval": 10,
"FailureThreshold": 3
}'

Q1054: How do you use Route 53 Alias Records?

Section titled “Q1054: How do you use Route 53 Alias Records?”

Answer:

Terminal window
# Create alias record to ALB
aws route53 change-resource-record-sets \
--hosted-zone-id Z123 \
--change-batch '{
"Changes": [{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "app.example.com",
"Type": "A",
"AliasTarget": {
"HostedZoneId": "Z2FDTNDATAQYW2",
"DNSName": "myalb.elb.amazonaws.com",
"EvaluateTargetHealth": true
}
}
}]
}'

Q1055: How do you implement Route 53 Latency Routing?

Section titled “Q1055: How do you implement Route 53 Latency Routing?”

Answer:

Terminal window
# Create latency record
aws route53 change-resource-record-sets \
--hosted-zone-id Z123 \
--change-batch '{
"Changes": [{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "example.com",
"Type": "A",
"SetIdentifier": "us-east-1",
"Latency": {"Region": "us-east-1"},
"TTL": 60,
"ResourceRecords": [{"Value": "1.2.3.4"}]
}
}]
}'

Q1056: How do you implement IAM Access Keys Rotation?

Section titled “Q1056: How do you implement IAM Access Keys Rotation?”

Answer:

Terminal window
# Create new access key
aws iam create-access-key --user-name john
# Update credentials
aws iam update-access-key \
--access-key-id AKIA... \
--status Inactive
# Delete old key
aws iam delete-access-key --access-key-id AKIA...

Q1057: How do you use IAM Policy Simulator?

Section titled “Q1057: How do you use IAM Policy Simulator?”

Answer:

aws iam simulate-principal-policy
—policy-source-arn arn:aws:iam::123456789012:user/john
—action-names “s3:GetObject”
—resource-arns “arn:aws:s3:::my-bucket/*“

### Q1058: How do you implement IAM Roles Anywhere?
**Answer:**
```bash
# Create profile
aws rolesanywhere create-profile \
--name my-profile \
--role-arns arn:aws:iam::123456789012:role/my-role \
--duration 3600
# Create trust anchor
aws rolesanywhere create-trust-anchor \
--name my-trust \
--source '{"Type": "CERTIFICATE_BUNDLE", "CertificateBundle":["cert"]}'

Q1059: How do you use IAM Permission Boundaries?

Section titled “Q1059: How do you use IAM Permission Boundaries?”

Answer:

{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": ["s3:*", "ec2:*"],
"Resource": "*",
"Condition": {"Bool": {"aws:SecureTransport": "true"}}
}]
}

Q1060: How do you implement IAM Session Tags?

Section titled “Q1060: How do you implement IAM Session Tags?”

Answer:

# Assume role with session tags
response = client.assume_role(
RoleArn='arn:aws:iam::123456789012:role/my-role',
RoleSessionName='session',
Tags=[{'Key': 'department', 'Value': 'engineering'}]
)

Q1061: How do you implement KMS Key Policies?

Section titled “Q1061: How do you implement KMS Key Policies?”

Answer:

{
"Version": "2012-10-17",
"Id": "key-policy",
"Statement": [{
"Sid": "Enable IAM User Permissions",
"Effect": "Allow",
"Principal": {"AWS": "arn:aws:iam::123456789012:root"},
"Action": "kms:*",
"Resource": "*"
}]
}

Answer:

Terminal window
# Create grant
aws kms create-grant \
--key-id key-id \
--grantee-principal arn:aws:iam::123456789012:role/my-role \
--operations Encrypt Decrypt \
--constraints '{"EncryptionContextEquals":{"Department":"IT"}}'

Q1063: How do you implement KMS Key Rotation?

Section titled “Q1063: How do you implement KMS Key Rotation?”

Answer:

Terminal window
# Enable automatic key rotation
aws kms enable-key-rotation \
--key-id key-id
# Manual key rotation
aws kms rotate-key-on-demand \
--key-id key-id

Q1064: How do you use KMS Custom Key Stores?

Section titled “Q1064: How do you use KMS Custom Key Stores?”

Answer:

Create custom key store (CloudHSM or external)

Section titled “Create custom key store (CloudHSM or external)”

aws kms create-custom-key-store
—custom-key-store-name my-cks
—cloud-hsm-cluster-id cluster-id
—key-store-password password

### Q1065: How do you implement KMS Multi-Region Keys?
**Answer:**
```bash
# Create multi-region key
aws kms create-key \
--origin AWS_KMS \
--multi-region \
--description "Multi-region key"
# Replicate key to another region
aws kms replicate-key \
--key-id key-id \
--replica-region us-west-2

Q1066: How do you use CloudFormation Drift Detection?

Section titled “Q1066: How do you use CloudFormation Drift Detection?”

Answer:

Terminal window
# Detect drift
aws cloudformation detect-stack-drift \
--stack-name my-stack
# Get drift status
aws cloudformation describe-stack-drift-detection-status \
--stack-id stack-id

Q1067: How do you implement CloudFormation StackSets?

Section titled “Q1067: How do you implement CloudFormation StackSets?”

Answer:

Terminal window
# Create stack set
aws cloudformation create-stack-set \
--stack-set-name my-stackset \
--template-body file://template.yaml \
--permission-model SELF_MANAGED
# Add stacks
aws cloudformation create-stack-instances \
--stack-set-name my-stackset \
--accounts '["123456789012"]' \
--regions '["us-east-1"]'

Q1068: How do you use CloudFormation Nested Stacks?

Section titled “Q1068: How do you use CloudFormation Nested Stacks?”

Answer:

# Parent template
AWSTemplateFormatVersion: '2010-09-09'
Resources:
VPCStack:
Type: AWS::CloudFormation::Stack
Properties:
TemplateURL: https://s3.amazonaws.com/templates/vpc.yaml
Parameters:
VPCCidr: 10.0.0.0/16

Q1069: How do you implement CloudFormation Custom Resources?

Section titled “Q1069: How do you implement CloudFormation Custom Resources?”

Answer:

Resources:
CustomResource:
Type: AWS::CloudFormation::WaitCondition
Properties:
Handle: !Ref WaitHandle
Timeout: "PT5M"
WaitHandle:
Type: AWS::CloudFormation::WaitConditionHandle

Q1070: How do use CloudFormation cfn-lint?

Section titled “Q1070: How do use CloudFormation cfn-lint?”

Answer:

pip install cfn-lint

cfn-lint template.yaml

cfn-lint template.yaml —template-param-file params.json

---
## Advanced CDK Scenarios
### Q1071: How do you implement CDK Pipeline?
**Answer:**
```python
from aws_cdk import pipelines
class MyPipelineStack(core.Stack):
def __init__(self, scope, id, **kwargs):
super().__init__(scope, id, **kwargs)
pipeline = pipelines.CodePipeline(
self, "Pipeline",
synth=pipelines.ShellStep("Synth",
commands=["npm ci", "cdk synth"]
)
)
pipeline.add_stage(ApplicationStage(self, "Deploy"))

Answer:

from aws_cdk import Aspects
class MyAspect:
def visit(self, node):
# Check and warn
pass
Aspects.of(stack).add(MyAspect())

Q1073: How do you implement CDK Custom Constructs?

Section titled “Q1073: How do you implement CDK Custom Constructs?”

Answer:

from aws_cdk import core, aws_ec2 as ec2
class MyVPC(core.Construct):
def __init__(self, scope, id, cidr="10.0.0.0/16"):
super().__init__(scope, id)
self.vpc = ec2.Vpc(self, "VPC", cidr=cidr)

Answer:

from aws_cdk import aws_ecs as ecs
container_image = ecs.ContainerImage.from_docker_image_asset(
self, "Image",
directory="./app"
)

Q1075: How do you implement CDK Integrations?

Section titled “Q1075: How do you implement CDK Integrations?”

Answer:

# Lambda integration with API Gateway
api = apigateway.LambdaRestApi(
self, "API",
handler=handler,
proxy=False
)
api.root.add_method("GET")

Q1076: How do you use Terraform Remote Backend?

Section titled “Q1076: How do you use Terraform Remote Backend?”

Answer:

backend.tf
terraform {
backend "s3" {
bucket = "my-terraform-state"
key = "prod/terraform.tfstate"
region = "us-east-1"
dynamodb_table = "terraform-lock"
}
}

Q1077: How do you implement Terraform Modules?

Section titled “Q1077: How do you implement Terraform Modules?”

Answer:

modules/vpc/main.tf
variable "cidr" {}
variable "name" {}
resource "aws_vpc" "main" {
cidr_block = var.cidr
tags = { Name = var.name }
}
output "vpc_id" {
value = aws_vpc.main.id
}

Q1078: How do you use Terraform Workspaces?

Section titled “Q1078: How do you use Terraform Workspaces?”

Answer:

Terminal window
# Create workspace
terraform workspace new dev
# Switch workspace
terraform workspace select dev
# Use workspace in config
resource "aws_instance" "example" {
ami = "ami-12345"
instance_type = terraform.workspace == "prod" ? "t3.large" : "t3.micro"
}

Q1079: How do you implement Terraform Import?

Section titled “Q1079: How do you implement Terraform Import?”

Answer:

Terminal window
# Import existing resource
terraform import aws_instance.example i-12345
# Import with config
terraform import -var-file=dev.tfvars aws_s3_bucket.example my-bucket

Answer:

# Multiple instances
resource "aws_instance" "server" {
for_each = toset(["web1", "web2", "web3"])
ami = "ami-12345"
instance_type = "t3.micro"
tags = { Name = "server-${each.value}" }
}

Q1081: How do you implement Manual Approval?

Section titled “Q1081: How do you implement Manual Approval?”

Answer:

Terminal window
# Create approval action
aws codepipeline create-pipeline \
--pipeline '{
"stages": [
{
"name": "Deploy",
"actions": [{
"name": "Approval",
"actionTypeId": {"category":"Approval","owner":"AWS","provider":"Manual","version":"1"}
}]
}
]
}'

Q1082: How do you use CodePipeline Variables?

Section titled “Q1082: How do you use CodePipeline Variables?”

Answer:

buildspec.yml
env:
variables:
BUILD_ID: "#{codepipeline.PipelineExecutionId}"

Q1083: How do you implement Cross-Region Actions?

Section titled “Q1083: How do you implement Cross-Region Actions?”

Answer:

Terminal window
# Add action with different region
aws codepipeline create-pipeline \
--pipeline '{
"stages": [
{
"name": "Deploy",
"actions": [{
"name": "Deploy",
"actionTypeId": {"category":"Deploy","owner":"AWS","provider":"CloudFormation","version":"1"},
"configuration": {"Region": "us-west-2"}
}]
}
]
}'

Q1084: How do you use CodePipeline Webhooks?

Section titled “Q1084: How do you use CodePipeline Webhooks?”

Answer:

Terminal window
# Create webhook
aws codepipeline create-webhook \
--name my-webhook \
--pipeline-name my-pipeline \
--filters '[{"jsonPath":"$.ref","matchEquals":"refs/heads/main"}]'

Q1085: How do you implement Lambda Deployment Actions?

Section titled “Q1085: How do you implement Lambda Deployment Actions?”

Answer:

Terminal window
# Lambda deployment
aws codepipeline create-pipeline \
--pipeline '{
"stages": [
{
"name": "Deploy",
"actions": [{
"name": "DeployLambda",
"actionTypeId": {"category":"Deploy","owner":"AWS","provider":"Lambda","version":"1"},
"configuration": {"FunctionName": "my-function"}
}]
}
]
}'

Q1086: How do you implement EventBridge Pipes?

Section titled “Q1086: How do you implement EventBridge Pipes?”

Answer:

Terminal window
# Create pipe
aws eventsv2 create-pipe \
--name my-pipe \
--source kinesis \
--source-configuration '{
"KinesisStreamConfiguration": {"StreamArn": "arn:aws:kinesis:stream/my-stream"}
}' \
--target lambda \
--target-configuration '{
"LambdaFunctionConfiguration": {"FunctionArn": "arn:aws:lambda:function:my-function"}
}'

Q1087: How do you use EventBridge Schema Registry?

Section titled “Q1087: How do you use EventBridge Schema Registry?”

Answer:

Terminal window
# Discover schema
aws eventschemas discover-schemas \
--registry-name my-registry \
--event-source kinesis
# Create schema
aws eventschemas create-schema \
--registry-name my-registry \
--schema-name my-schema \
--content file://schema.json

Q1088: How do you implement EventBridge Archive?

Section titled “Q1088: How do you implement EventBridge Archive?”

Answer:

Terminal window
# Create archive
aws events create-archive \
--archive-name my-archive \
--event-pattern '{"source":["aws.ec2"]}' \
--retention-days 7
# Replay from archive
aws events replay \
--replay-name my-replay \
--event-archive-arn archive-arn \
--event-start-time 2024-01-01

Q1089: How do use EventBridge Custom Event Bus?

Section titled “Q1089: How do use EventBridge Custom Event Bus?”

Answer:

Terminal window
# Create custom event bus
aws events create-event-bus \
--name my-event-bus
# Put events
aws events put-events \
--entries '[{
"Source": "myapp.orders",
"DetailType": "OrderCreated",
"Detail": "{\"orderId\": \"123\"}"
}]'

Q1090: How do you implement EventBridge Dead Letter Queue?

Section titled “Q1090: How do you implement EventBridge Dead Letter Queue?”

Answer:

Terminal window
# Configure target with DLQ
aws events put-targets \
--rule my-rule \
--targets '[{
"Id": "target",
"Arn": "arn:aws:lambda:function:my-function",
"DeadLetterConfig": {"Arn": "arn:aws:sqs:queue:dlq"}
}]'

Q1091: How do you implement Step Functions Wait for Callback?

Section titled “Q1091: How do you implement Step Functions Wait for Callback?”

Answer:

{
"WaitForTaskToken": {
"Type": "WaitForTaskToken",
"Resource": "arn:aws:states:::lambda:invoke.waitForTaskToken",
"Parameters": {
"FunctionName": "my-function",
"Payload": {
"token.$": "$$.Task.Token",
"input.$": "$"
}
},
"Next": "NextStep"
}
}

Q1092: How do you use Step Functions Map State?

Section titled “Q1092: How do you use Step Functions Map State?”

Answer:

{
"Map": {
"Type": "Map",
"ItemsPath": "$.items",
"ItemProcessor": {
"Processor": {
"Type": "Task",
"Resource": "arn:aws:states:::lambda:invoke",
"Parameters": {
"FunctionName": "my-function",
"Payload": {
"item.$": "$$"
}
}
}
},
"End": true
}
}

Q1093: How do you implement Step Functions Choice State?

Section titled “Q1093: How do you implement Step Functions Choice State?”

Answer:

{
"Choice": {
"Type": "Choice",
"Choices": [
{
"Variable": "$.status",
"StringEquals": "success",
"Next": "SuccessState"
},
{
"Variable": "$.status",
"StringEquals": "failed",
"Next": "FailureState"
}
],
"Default": "DefaultState"
}
}

Q1094: How do you use Step Functions Intrinsic Functions?

Section titled “Q1094: How do you use Step Functions Intrinsic Functions?”

Answer:

{
"Comment": "Using intrinsic functions",
"States": {
"Merge": {
"Type": "Pass",
"Parameters": {
"combined.$": "States.Array($.arr1, $.arr2)"
},
"End": true
}
}
}

Q1095: How do you implement Step Functions Error Handling?

Section titled “Q1095: How do you implement Step Functions Error Handling?”

Answer:

{
"TryCatch": {
"Type": "Parallel",
"Branches": [
{
"StartAt": "MainTask",
"States": {
"MainTask": {
"Type": "Task",
"Resource": "arn:aws:states:::lambda:invoke",
"End": true
}
}
}
],
"Catch": [{
"ErrorEquals": ["States.ALL"],
"Next": "ErrorHandler"
}],
"End": true
}
}

Q1096: How do you implement Kinesis Data Analytics?

Section titled “Q1096: How do you implement Kinesis Data Analytics?”

Answer:

Terminal window
# Create application
aws kinesisanalyticsv2 create-application \
--application-name my-analytics \
--runtime FLINK_1_11 \
--service-execution-role-arn role-arn \
--application-code "SELECT * FROM SOURCE_SQL_STREAM_001"

Q1097: How do you use Kinesis Enhanced Fan-out?

Section titled “Q1097: How do you use Kinesis Enhanced Fan-out?”

Answer:

# Use enhanced fan-out consumer
kinesis = boto3.client('kinesis')
shard_iterator = kinesis.get_shard_iterator(
StreamName='my-stream',
ShardId='shard-000',
ShardIteratorType='LATEST'
)['ShardIterator']
# Register consumer
kinesis.register_stream_consumer(
StreamARN='arn:aws:kinesis:stream/my-stream',
ConsumerName='my-consumer'
)

Q1098: How do you implement Kinesis Scaling?

Section titled “Q1098: How do you implement Kinesis Scaling?”

Answer:

Terminal window
# Split shard
aws kinesis split-shard \
--stream-name my-stream \
--shard-to-split shard-id-000 \
--new-starting-hash-key 170141183460469231731687303715884105728
# Merge shards
aws kinesis merge-shards \
--stream-name my-stream \
--shard-to-merge shard-id-000 \
--adjacent-shard-to-merge shard-id-001

Q1099: How do you use Kinesis Connector Factory?

Section titled “Q1099: How do you use Kinesis Connector Factory?”

Answer:

Or use Kinesis Data Firehose with transformation

Section titled “Or use Kinesis Data Firehose with transformation”

aws firehose create-delivery-stream
—delivery-stream-name my-stream
—s3-destination-configuration ’{ “RoleARN”: “role-arn”, “BucketARN”: “arn:aws:s3:::bucket” }‘

### Q1100: How do you implement Kinesis Metrics Monitoring?
**Answer:**
# Enable enhanced metrics
aws kinesis enhance-metrics \
--stream-name my-stream \
--shard-level-metrics "IncomingBytes,OutgoingBytes,IteratorAgeMilliseconds"

Q1101: How do you implement SQS Delay Queues?

Section titled “Q1101: How do you implement SQS Delay Queues?”

Answer:

sqs.create_queue(
QueueName='delayed-queue',
Attributes={'DelaySeconds': '300'}
)

Q1102: How do you use SQS Dead Letter Queues?

Section titled “Q1102: How do you use SQS Dead Letter Queues?”

Answer:

# Configure DLQ
sqs.set_queue_attributes(
QueueUrl='https://sqs.../main-queue',
Attributes={
'RedrivePolicy': json.dumps({
'deadLetterTargetArn': 'arn:aws:sqs:...:dlq',
'maxReceiveCount': 5
})
}
)

Q1103: How do you implement SNS Message Filtering?

Section titled “Q1103: How do you implement SNS Message Filtering?”

Answer:

# Subscribe with filter
sns.subscribe(
TopicArn=topic_arn,
Protocol='lambda',
NotificationEndpoint=func_arn,
FilterPolicy={'eventType': ['order_created', 'order_updated']}
)

Answer:

sns.create_topic( Name=‘my-topic.fifo’, Attributes={ ‘FifoTopic’: ‘true’, ‘ContentBasedDeduplication’: ‘true’ } )

### Q1105: How do you implement SQS Long Polling?
**Answer:**
```python
# Receive with long polling
response = sqs.receive_message(
QueueUrl=queue_url,
MaxNumberOfMessages=10,
WaitTimeSeconds=20
)

Q1106: How do you use SQS Message Attributes?

Section titled “Q1106: How do you use SQS Message Attributes?”

Answer:

# Send with attributes
sqs.send_message(
QueueUrl=queue_url,
MessageBody='message',
MessageAttributes={
'Author': {
'StringValue': 'John',
'DataType': 'String'
}
}
)

Q1107: How do you implement SNS HTTP Subscriptions?

Section titled “Q1107: How do you implement SNS HTTP Subscriptions?”

Answer:

Terminal window
# Subscribe to topic
aws sns subscribe \
--topic-arn topic-arn \
--protocol https \
--notification-endpoint https://my-endpoint.com/webhook

Q1108: How do you use SNS Message Tracing?

Section titled “Q1108: How do you use SNS Message Tracing?”

Answer:

aws sns set-topic-attributes
—topic-arn topic-arn
—attribute-name TracingConfig
—attribute-value “PassThrough”

### Q1109: How do you implement SQS Batch Operations?
**Answer:**
```python
# Delete batch
entries = [{'Id': str(i), 'ReceiptHandle': handles[i]} for i in range(len(handles))]
sqs.delete_message_batch(QueueUrl=queue_url, Entries=entries)

Q1110: How do you use SNS Platform Applications?

Section titled “Q1110: How do you use SNS Platform Applications?”

Answer:

sns.create_platform_application( Name=‘my-app’, Platform=‘GCM’, Attributes={‘PlatformCredential’: ‘api-key’} )

### Q1111: How do you implement Kinesis Security?
**Answer:**
# Enable server-side encryption
aws kinesis enable-stream-encryption \
--stream-name my-stream \
--encryption-type KMS \
--kms-key-id key-id

Q1112: How do you use Kinesis Stream Tags?

Section titled “Q1112: How do you use Kinesis Stream Tags?”

Answer:

Terminal window
# Add tags
aws kinesis add-tags-to-stream \
--stream-name my-stream \
--tags Team=Engineering,Environment=Production

Q1113: How do you implement DynamoDB Streams?

Section titled “Q1113: How do you implement DynamoDB Streams?”

Answer:

Terminal window
# Enable streams
aws dynamodb update-table \
--table-name my-table \
--stream-specification '{
"StreamEnabled": true,
"StreamViewType": "NEW_AND_OLD_IMAGES"
}'

Q1114: How do you use DynamoDB Backup/Restore?

Section titled “Q1114: How do you use DynamoDB Backup/Restore?”

Answer:

Terminal window
# Create backup
aws dynamodb create-backup \
--table-name my-table \
--backup-name my-backup
# Restore
aws dynamodb restore-table-to-point-in-time \
--source-table-name my-table \
--target-table-name my-restored-table

Q1115: How do you implement ElastiCache Redis Clustering?

Section titled “Q1115: How do you implement ElastiCache Redis Clustering?”

Answer:

Terminal window
# Create replication group
aws elasticache create-replication-group \
--replication-group-id my-cluster \
--num-cache-clusters 3 \
--automatic-failover-enabled \
--multi-az-enabled \
--engine redis

Q1116: How do you use ElastiCache Global Datastore?

Section titled “Q1116: How do you use ElastiCache Global Datastore?”

Answer:

Terminal window
# Create global datastore
aws elasticache create-global-replication-group \
--global-replication-group-id my-global \
--replication-group-id primary-cluster \
--at-rest-encryption-enabled

Q1117: How do you implement RDS Automated Backups?

Section titled “Q1117: How do you implement RDS Automated Backups?”

Answer:

Terminal window
# Configure backup
aws rds modify-db-instance \
--db-instance-identifier my-db \
--backup-retention-period 30 \
--preferred-backup-window "03:00-04:00"

Q1118: How do you use RDS Cross-Region Read Replicas?

Section titled “Q1118: How do you use RDS Cross-Region Read Replicas?”

Answer:

Terminal window
# Create cross-region replica
aws rds create-db-instance-read-replica \
--db-instance-identifier replica-us-west \
--source-db-instance-arn primary-arn \
--region us-west-2

Q1119: How do you implement Aurora Global Database?

Section titled “Q1119: How do you implement Aurora Global Database?”

Answer:

Terminal window
# Add region to Aurora cluster
aws rds create-db-cluster \
--db-cluster-identifier secondary-cluster \
--engine aurora \
--global-cluster-identifier global-cluster

Q1120: How do you use RDS Performance Insights?

Section titled “Q1120: How do you use RDS Performance Insights?”

Answer:

Terminal window
# Enable Performance Insights
aws pi create-performance-insights-analysis \
--service-type RDS \
--identifier db-instance-id

Q1121: How do you implement OpenSearch Access Control?

Section titled “Q1121: How do you implement OpenSearch Access Control?”

Answer:

Terminal window
# Create domain with fine-grained access
aws opensearch create-domain \
--domain-name my-domain \
--cluster-config '{"InstanceType":"t3.small.search"}' \
--access-policies '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":"*","Action":"es:*","Resource":"arn:aws:es:us-east-1:account:domain/my-domain/*"}]}'

Q1122: How do you use OpenSearch Dashboards?

Section titled “Q1122: How do you use OpenSearch Dashboards?”

Answer:

aws opensearch update-domain-config
—domain-name my-domain
—saml-options ’{“Enabled”:true,“Idp”:{“MetadataContent”:“metadata”,“EntityId”:“entity”}}‘

### Q1123: How do you implement Redshift Serverless?
**Answer:**
```bash
# Create namespace
aws redshift create-namespace \
--namespace-name my-namespace \
--admin-user-name admin \
--admin-user-password password

Answer:

Pay for compute and managed storage separately

Section titled “Pay for compute and managed storage separately”

aws redshift create-cluster
—cluster-type multi-node
—node-type ra3.xlplus
—number-of-nodes 2

### Q1125: How do you implement Redshift Spectrum?
**Answer:**
```sql
-- Create external table
CREATE EXTERNAL TABLE spectrum.sales (
sale_id INT,
amount DECIMAL(10,2)
)
STORED AS PARQUET
LOCATION 's3://bucket/path/';

Answer:

Terminal window
# Create database
aws glue create-database \
--database-input '{"Name":"mydb"}'
# Create table
aws glue create-table \
--database-name mydb \
--table-input '{"Name":"mytable","StorageDescriptor":{"Location":"s3://bucket/table/"}}'

Q1127: How do you implement Glue Job Bookmarks?

Section titled “Q1127: How do you implement Glue Job Bookmarks?”

Answer:

# Enable job bookmarks
job = GlueContext(sc).create_dynamic_frame.from_options(
connection_type="s3",
format="json",
connection_options={"paths": ["s3://bucket/data"], "jobBookmarkKeys": ["timestamp"]}
)

Answer:

CREATE VIEW sales_by_category AS
SELECT category, SUM(amount) as total
FROM sales
GROUP BY category;

Q1129: How do you implement Lake Formation Permissions?

Section titled “Q1129: How do you implement Lake Formation Permissions?”

Answer:

Terminal window
# Grant table permissions
aws lakeformation grant-permissions \
--principal DataLakePrincipalIdentifier=user@example.com \
--permissions SELECT \
--resource '{"Table":{"DatabaseName":"mydb","TableName":"table1"}}'

Q1130: How do you use QuickSight Embedding?

Section titled “Q1130: How do you use QuickSight Embedding?”

Answer:

# Generate embed URL
quicksight = boto3.client('quicksight')
response = quicksight.get-dashboard-embed-url(
AwsAccountId='123456789012',
DashboardId='dashboard-id',
IdentityType='IAM'
)

Q1131: How do you implement CloudWatch Synthetics?

Section titled “Q1131: How do you implement CloudWatch Synthetics?”

Answer:

Terminal window
# Create canary
aws synthetics create-canary \
--name my-canary \
--schedule-expression "rate(5 minutes)" \
--code-handler index.js \
--runtime-version syn-nodejs-puppeteer-3.0

Q1132: How do you use CloudWatch Contributor Insights?

Section titled “Q1132: How do you use CloudWatch Contributor Insights?”

Answer:

Terminal window
# Create insight rule
aws cloudwatch put-insight-rule \
--rule-name my-rule \
--rule '{"schema":{"root":"LogGroup","fields":[{"field":"@timestamp"}]}}'

Q1133: How do you implement CloudWatch Evidently?

Section titled “Q1133: How do you implement CloudWatch Evidently?”

Answer:

Terminal window
# Create feature
aws evidently create-feature \
--project my-project \
--name my-feature \
--variations '[{"name":"control","value":{"boolValue":false}},{"name":"treatment","value":{"boolValue":true}}]'

Answer:

Terminal window
# Create app monitor
aws rum create-app-monitor \
--name my-monitor \
--domain-allow-list '["example.com"]'

Q1135: How do you implement CloudWatch Metric Streams?

Section titled “Q1135: How do you implement CloudWatch Metric Streams?”

Answer:

Terminal window
# Create metric stream
aws cloudwatch put-metric-stream \
--name my-stream \
--role-arn role-arn \
--firehose-arn firehose-arn

Q1136: How do you use X-Ray Sampling Rules?

Section titled “Q1136: How do you use X-Ray Sampling Rules?”

Answer:

Terminal window
# Create sampling rule
aws xray put-sampling-rules \
--sampling-rule-documents '[{
"RuleName": "default",
"FixedRate": 0.1,
"ReservoirSize": 5,
"ServiceName": "*",
"ServiceType": "*"
}]'

Q1137: How do you implement Cost Explorer Budgets?

Section titled “Q1137: How do you implement Cost Explorer Budgets?”

Answer:

Terminal window
# Create budget
aws budgets create-budget \
--account-id 123456789012 \
--budget '{
"BudgetName": "monthly",
"BudgetLimit": {"Amount": "1000", "Unit": "USD"},
"TimeUnit": "MONTHLY"
}'

Q1138: How do you use AWS Config Conformance Packs?

Section titled “Q1138: How do you use AWS Config Conformance Packs?”

Answer:

Terminal window
# Create conformance pack
aws configservice put-conformance-pack \
--conformance-pack-name security \
--template-s3-uri s3://bucket/template.yaml

Q1139: How do you implement GuardDuty Findings?

Section titled “Q1139: How do you implement GuardDuty Findings?”

Answer:

Terminal window
# Get findings
aws guardduty list-findings \
--detector-id detector-id \
--finding-criteria '{"Criterion":{"severity":{"Eq":["4","5"]}}}'

Q1140: How do you use Security Hub Standards?

Section titled “Q1140: How do you use Security Hub Standards?”

Answer:

Terminal window
# Enable standard
aws securityhub enable-standards \
--standards-arn "arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0"

Q1141: How do you implement Detective Behavioral Graph?

Section titled “Q1141: How do you implement Detective Behavioral Graph?”

Answer:

Terminal window
# Enable Detective
aws detective create-graph \
--auto-enable-accounts
# Create member invitation
aws detective create-members \
--graph-arn graph-arn \
--accounts '[{"AccountId":"123456789012","EmailAddress":"admin@example.com"}]'

Q1142: How do you use Macie Classification Jobs?

Section titled “Q1142: How do you use Macie Classification Jobs?”

Answer:

Terminal window
# Create job
aws macie2 create-classification-job \
--job-type ONE_TIME \
--name my-job \
--s3-job-definition '{
"bucketDefinitions": [{"accountId":"123456789012","buckets":["my-bucket"]}]
}'

Q1143: How do you implement Inspector Scanning?

Section titled “Q1143: How do you implement Inspector Scanning?”

Answer:

Terminal window
# Enable Inspector
aws inspector2 enable \
--account-ids 123456789012
# List findings
aws inspector2 list-findings \
--filter-criteria '{"severity":[{"comparison":"EQUALS","value":"CRITICAL"}]}'

Q1144: How do you use Network Firewall Stateful Rules?

Section titled “Q1144: How do you use Network Firewall Stateful Rules?”

Answer:

Terminal window
# Create rule group
aws network-firewall create-rule-group \
--rule-group-name my-rules \
--type STATEFUL \
--capacity 100 \
--rule-group '{
"RuleDefinitions": [{
"MatchAttributes": {"protocols":[6], "source":{"AddressDefinition":"10.0.0.0/8"}},
"Actions": ["PASS"]
}]
}'

Q1145: How do you implement WAF Rate-Based Rules?

Section titled “Q1145: How do you implement WAF Rate-Based Rules?”

Answer:

Terminal window
# Create rate-based rule
aws wafv2 create-rule \
--name my-rate-rule \
--scope REGIONAL \
--rate-limit 2000 \
--rate-key IP \
--priority 1

Q1146: How do you use Shield Advanced Protection?

Section titled “Q1146: How do you use Shield Advanced Protection?”

Answer:

Terminal window
# Enable Shield Advanced
# Add protection to resource
aws shield associate-drt-log-bucket \
--log-bucket bucket-name

Q1147: How do you implement AWS Network Firewall Policy?

Section titled “Q1147: How do you implement AWS Network Firewall Policy?”

Answer:

Terminal window
# Create firewall policy
aws network-firewall create-firewall-policy \
--firewall-policy-name my-policy \
--rule-group-arns [group-arn] \
--stateful-rule-options '{"RuleOrder":"DEFAULT_ACTION_ORDER"}'

Q1148: How do you use Secrets Manager Rotation?

Section titled “Q1148: How do you use Secrets Manager Rotation?”

Answer:

# Create secret with Lambda rotation
secretsmanager.create_secret(
Name='db-creds',
SecretString='{"username":"admin","password":"pass"}',
RotationLambdaARN='arn:lambda:rotation-function',
RotationRules={'AutomaticallyAfterDays': 30}
)

Q1149: How do you implement Parameter Store Hierarchy?

Section titled “Q1149: How do you implement Parameter Store Hierarchy?”

Answer:

Terminal window
# Create hierarchical parameter
aws ssm put-parameter \
--name /myapp/production/database/host \
--value "db.example.com" \
--type String
# Get parameter
aws ssm get-parameter --name /myapp/production/database/host --with-decryption

Q1150: How do you use Systems Manager Automation?

Section titled “Q1150: How do you use Systems Manager Automation?”

Answer:

Terminal window
# Run automation document
aws ssm start-automation-execution \
--document-name AWS-RestartEC2Instance \
--parameters '{"InstanceId":["i-12345"]}'

Q1151: How do you implement Session Manager Logging?

Section titled “Q1151: How do you implement Session Manager Logging?”

Answer:

Terminal window
# Configure S3 logging
aws ssm update-service-setting \
--setting-id arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/s3-bucket \
--setting-value bucket-name

Q1152: How do you use Patch Manager Baseline?

Section titled “Q1152: How do you use Patch Manager Baseline?”

Answer:

Terminal window
# Create patch baseline
aws ssm create-patch-baseline \
--name "Windows Baseline" \
--operating-system WINDOWS \
--patch-filters '[{"Key":"PRODUCT","Values":["WindowsServer2022"]}]'

Q1153: How do you implement State Manager?

Section titled “Q1153: How do you implement State Manager?”

Answer:

Terminal window
# Create association
aws ssm create-association \
--name "AWS-ConfigureCloudWatch" \
--targets '[{"Key":"tag:Environment","Values":["Production"]}]'

Q1154: How do you use Inventory Collection?

Section titled “Q1154: How do you use Inventory Collection?”

Answer:

Terminal window
# Configure inventory
aws ssm put-inventory \
--instance-id i-12345 \
--items '[{"TypeName":"AWS:Application","SchemaVersion":"1.0","Content":[{"Name":"my-app"}]}]'

Q1155: How do you implement Maintenance Windows?

Section titled “Q1155: How do you implement Maintenance Windows?”

Answer:

Terminal window
# Create maintenance window
aws ssm create-maintenance-window \
--name "Weekly Patching" \
--schedule "cron(0 2 ? * SUN *)" \
--duration 4 \
--cutoff 1

Answer:

Terminal window
# Create OpsItem
aws ssm create-ops-item \
--title "Database CPU High" \
--description "CPU utilization above 90%" \
--priority 2 \
--operational-data '{"key":{"Value":"value"}}'

Answer:

Terminal window
# Enable AWS Explorer
aws ssm describe-ops-items \
--ops-item-filters '[{"Key":"Status","Values":["Open"]}]'

Answer:

Terminal window
# Create incident
aws ssm-incidents create-incident \
--title "Database Outage" \
--impact-level 2 \
--incident-template '{"dedupeString":"unique-id","notificationTargets":[{"snsTopicArn":"arn:sns"}]}'

Q1159: How do you implement AppConfig Extensions?

Section titled “Q1159: How do you implement AppConfig Extensions?”

Answer:

Terminal window
# Create extension
aws appconfig create-extension \
--name my-extension \
--actions '[{"Name":"my-action","Uri":"arn:aws:lambda:function"}]'

Q1160: How do you use Service Catalog Products?

Section titled “Q1160: How do you use Service Catalog Products?”

Answer:

Terminal window
# Create product
aws servicecatalog create-product \
--name "Web Server" \
--owner "IT" \
--product-type CLOUD_FORMATION_TEMPLATE \
--provisioning-artifact-parameters '{"Name":"v1","Description":"Web server"}'

Q1161: How do you implement AWS CodeStar Notifications?

Section titled “Q1161: How do you implement AWS CodeStar Notifications?”

Answer:

Terminal window
# Create notification rule
aws codestar-notifications create-notification-rule \
--name my-rule \
--event-type-id "codepipeline.pipeline-pipeline-execution-succeeded" \
--target '{"Type":"SNS","TargetAddress":"arn:sns"}'

Q1162: How do you use CodeStar Connections?

Section titled “Q1162: How do you use CodeStar Connections?”

Answer:

Terminal window
# Create connection
aws codestar-connections create-connection \
--connection-name my-connection \
--provider-type GitHub
# Use in pipeline
aws codepipeline create-pipeline \
--source-action '{
"configuration": {"ConnectionArn":"arn:connection","Owner":"owner","Repo":"repo","Branch":"main"}
}'

Answer:

### Q1164: How do you use Proton Templates?
**Answer:**
```bash
# Create service template
aws proton create-service-template \
--name "ecs-service" \
--display-name "ECS Service"

Q1165: How do you implement Amplify Hosting?

Section titled “Q1165: How do you implement Amplify Hosting?”

Answer:

### Q1166: How do you use CodeBuild Report Groups?
**Answer:**
```bash
# Create report group
aws codebuild create-report-group \
--name my-reports \
--type TEST
# Create report
aws codebuild create-report \
--name my-report \
--report-group-ar-n [report-group-arn]

Q1167: How do you implement Cloud9 Development?

Section titled “Q1167: How do you implement Cloud9 Development?”

Answer:

Terminal window
# Create environment
aws cloud9 create-environment-ec2 \
--name my-environment \
--instance-type t3.micro

Answer:

Terminal window
# Sync local changes
sam sync --stack-name my-stack --watch

Answer:

Terminal window
# Bootstrap account
cdk bootstrap
# Deploy stack
cdk deploy
# Synthesize
cdk synth

Answer:

Terminal window
# Configure profile
aws configure --profile production
# Use profile
aws s3 ls --profile production

Q1171: How do you implement AWS SDK for Python?

Section titled “Q1171: How do you implement AWS SDK for Python?”

Answer:

import boto3
ec2 = boto3.resource('ec2')
# Create instance
instance = ec2.create_instances(
ImageId='ami-12345',
InstanceType='t3.micro',
MinCount=1,
MaxCount=1
)[0]

Answer:

# Create session
session = boto3.Session(
region_name='us-east-1',
aws_access_key_id='key',
aws_secret_access_key='secret'
)
# Get client
s3 = session.client('s3')

Answer:

aws ec2 describe-instances | jq ’.Reservations[].Instances[] | {Id: .InstanceId, State: .State.Name}‘

### Q1174: How do you use AWS Vault?
**Answer:**
```bash
# Store credentials
aws-vault exec production -- aws s3 ls
# Add credentials
aws-vault add production

Answer:

Terminal window
# Configure SSO
aws configure sso
# Login
aws sso login --profile dev
# Use profile
aws s3 ls --profile dev

Answer:

Terminal window
# Initialize MGN
aws mgn initialize-service
# Create source server
aws mgn create-source-server \
--source-server-id i-12345

Q1177: How do you implement Application Discovery Service?

Section titled “Q1177: How do you implement Application Discovery Service?”

Answer:

Terminal window
# Start agentless discovery
aws discovery start-agentless-connection
# Get agents
aws discovery list-agents

Q1178: How do you use Migration Hub Refactor Spaces?

Section titled “Q1178: How do you use Migration Hub Refactor Spaces?”

Answer:

Terminal window
# Create application
aws mgh create-application \
--name my-app

Q1179: How do you implement Database Migration Service?

Section titled “Q1179: How do you implement Database Migration Service?”

Answer:

Terminal window
# Create endpoint
aws dms create-endpoint \
--endpoint-identifier my-source \
--endpoint-type source \
--engine-name mysql \
--mysql-settings '{"Username":"admin","Password":"pass","ServerName":"db.example.com"}'

Q1180: How do you use Schema Conversion Tool?

Section titled “Q1180: How do you use Schema Conversion Tool?”

Answer:

### Q1181: How do you implement DataSync Agent?
**Answer:**
```bash
# Create agent activation
aws datasync create-agent \
--agent-name my-agent

Answer:

Terminal window
# Create server
aws transfer create-server \
--protocols SFTP \
--identity-provider-type SERVICE_MANAGED

Q1183: How do you implement Storage Gateway?

Section titled “Q1183: How do you implement Storage Gateway?”

Answer:

Terminal window
# Create file gateway
aws storagegateway create-gateway \
--gateway-name my-gateway \
--gateway-type FILE_S3

Q1184: How do you use Snow Family Devices?

Section titled “Q1184: How do you use Snow Family Devices?”

Answer:

Terminal window
# Create job
aws snowball create-job \
--job-type EXPORT \
--address-id address-id

Q1185: How do you implement Outposts Installation?

Section titled “Q1185: How do you implement Outposts Installation?”

Answer:

### Q1186: How do you use Local Zones?
**Answer:**
```bash
# Describe Local Zones
aws ec2 describe-availability-zones \
--filters "Name=zone-type,Values=local-zone"

Q1187: How do you implement Wavelength Zones?

Section titled “Q1187: How do you implement Wavelength Zones?”

Answer:

Terminal window
# Create subnet in Wavelength Zone
aws ec2 create-subnet \
--vpc-id vpc-123 \
--cidr-block 10.0.1.0/24 \
--availability-zone us-east-1-wl1-nyc-wl-1

Q1188: How do you use AWS Global Accelerator?

Section titled “Q1188: How do you use AWS Global Accelerator?”

Answer:

Terminal window
# Create accelerator
aws globalaccelerator create-accelerator \
--name my-accelerator

Q1189: How do you implement Direct Connect Gateway?

Section titled “Q1189: How do you implement Direct Connect Gateway?”

Answer:

Terminal window
# Create gateway
aws directconnect create-direct-connect-gateway \
--direct-connect-gateway-name my-gateway

Answer:

Terminal window
# Create VPN with multiple sites
aws ec2 create-vpn-connection \
--customer-gateway-id cgw-123 \
--type ipsec.1 \
--vpn-gateway-id vpg-123 \
--options '{"CloudHub":{"Enabled":true,"RemoteIpes":["10.0.0.0/16","192.168.0.0/16"]}}'

Q1191: How do you implement Transit Gateway DMZ?

Section titled “Q1191: How do you implement Transit Gateway DMZ?”

Answer:

Terminal window
# Create Transit Gateway with route tables
aws ec2 create-transit-gateway \
--description "DMZ TGW" \
--options '{"AmazonAsn":64512,"AutoAcceptSharedAttachments":"enable"}'
Section titled “Q1192: How do you use PrivateLink Service?”

Answer:

Terminal window
# Create VPC endpoint service
aws ec2 create-vpc-endpoint-service-configuration \
--service-name com.amazonaws.us-east-1.my-service \
--network-load-balancer-arns [nlb-arn]

Answer:

Terminal window
# Create traffic mirror session
aws ec2 create-traffic-mirror-session \
--network-interface-id eni-123 \
--traffic-mirror-target-id tmt-123 \
--traffic-mirror-filter-id tmf-123 \
--session-number 1

Answer:

Terminal window
# Create firewall rule group
aws route53resolver create-firewall-rule-group \
--name my-rules
# Add rules
aws route53resolver create-firewall-rule \
--name block-malware \
--firewall-rule-group-id group-id \
--action BLOCK \
--block-response NODATA

Answer:

Terminal window
# Create IPAM
aws ec2 create-ipam \
--description "IPAM" \
--operating-regions '[{"RegionName":"us-east-1"}]'

Q1196: How do you use VPC Reachability Analyzer?

Section titled “Q1196: How do you use VPC Reachability Analyzer?”

Answer:

Terminal window
# Analyze path
aws network-insights-analyzer start-path-analysis \
--source '{"ComponentId":"i-12345"}' \
--destination '{"ComponentId":"i-67890"}'

Q1197: How do you implement Network Access Analyzer?

Section titled “Q1197: How do you implement Network Access Analyzer?”

Answer:

Terminal window
# Start network access analysis
aws network-insights-analyzer start-network-insights-analysis \
--network-insights-path-config '{"Source":{"AccountId":"123456789012","ResourceType":"ec2-instance","Id":"i-123"},"Destination":{"AccountId":"123456789012","ResourceType":"ec2-instance","Id":"i-456"}}'

Answer:

Terminal window
# Create monitor
aws internetmonitor create-monitor \
--monitor-name my-monitor \
--internet-measurements-log-delivery '{
"s3Config":{"bucketName":"my-bucket"}
}'

Answer:

Terminal window
# Create service network
aws vpc-lattice create-service-network \
--name my-network
# Create service
aws vpc-lattice create-service \
--name my-service

Answer:

Terminal window
# Create Verified Access group
aws ec2 create-verified-access-group \
--description "Corporate apps" \
--tag-specifications 'ResourceType=verified-access-group,Tags=[{Key=Department,Value=IT}]'

Q1201: How do you implement SageMaker Training?

Section titled “Q1201: How do you implement SageMaker Training?”

Answer:

import boto3
sagemaker = boto3.client('sagemaker')
# Create training job
response = sagemaker.create_training_job(
TrainingJobName='my-job',
AlgorithmSpecification={'TrainingImage': 'image-uri', 'TrainingInputMode': 'File'},
RoleArn='role-arn',
InputDataConfig=[{'ChannelName': 'train', 'DataSource': {'S3DataSource': {'S3Uri': 's3://bucket/'}}}],
OutputDataConfig={'S3OutputPath': 's3://output/'},
ResourceConfig={'InstanceType': 'ml.m5.xlarge', 'InstanceCount': 1},
StoppingCondition={'MaxRuntimeInSeconds': 3600}
)

Q1202: How do you use SageMaker Endpoints?

Section titled “Q1202: How do you use SageMaker Endpoints?”

Answer:

# Create endpoint config
sagemaker.create_endpoint_config(
EndpointConfigName='config-name',
ProductionVariants=[{
'VariantName': 'variant',
'ModelName': 'model-name',
'InstanceType': 'ml.m5.xlarge',
'InitialInstanceCount': 1
}]
)
# Deploy
sagemaker.create_endpoint(
EndpointName='endpoint-name',
EndpointConfigName='config-name'
)

Q1203: How do you implement SageMaker Neo?

Section titled “Q1203: How do you implement SageMaker Neo?”

Answer:

# Compile model
sagemaker.create_compilation_job(
CompilationJobName='my-job',
RoleArn='role-arn',
InputConfig={
'S3Uri': 's3://input/model.tar.gz',
'DataInputConfig': '{"input": [1,224,224,3]}',
'Framework': 'TENSORFLOW'
},
OutputConfig={
'S3OutputLocation': 's3://output/',
'TargetDevice': 'ml_armnn'
}
)

Q1204: How do you use SageMaker Ground Truth?

Section titled “Q1204: How do you use SageMaker Ground Truth?”

Answer:

# Create labeling job
sagemaker.create_labeling_job(
JobName='my-job',
LabelAttributeName='labels',
InputConfig={
'DataSource': {'S3DataUri': 's3://input/'}
},
OutputConfig={
'S3OutputPath': 's3://output/'
},
RoleArn='role-arn',
LabelingJobAlgorithmSpecification={
'LabelingJobAlgorithmArn': 'arn:aws:sagemaker:region:algorithm:labeling-job'
}
)

Q1205: How do you implement Rekognition Image Analysis?

Section titled “Q1205: How do you implement Rekognition Image Analysis?”

Answer:

import boto3
rekognition = boto3.client('rekognition')
# Detect labels
response = rekognition.detect_labels(
Image={'S3Object': {'Bucket': 'my-bucket', 'Name': 'image.jpg'}},
MaxLabels=10,
MinConfidence=80
)

Q1206: How do you use Rekognition Video Analysis?

Section titled “Q1206: How do you use Rekognition Video Analysis?”

Answer:

# Start label detection
response = rekognition.start_label_detection(
Video={'S3Object': {'Bucket': 'my-bucket', 'Name': 'video.mp4'}},
MinConfidence=80
)
# Get results
results = rekognition.get_label_detection(JobId=response['JobId'])

Q1207: How do implement Textract Document Analysis?

Section titled “Q1207: How do implement Textract Document Analysis?”

Answer:

# Analyze document
response = textract.analyze_document(
Document={'S3Object': {'Bucket': 'bucket', 'Name': 'doc.pdf'}},
FeatureTypes=['TABLES', 'FORMS']
)
# Get tables
for block in response['Blocks']:
if block['BlockType'] == 'TABLE':
print(block['Id'])

Answer:

# Start medical transcription
transcribe.start_medical_transcription_job(
MedicalTranscriptionJobName='my-job',
LanguageCode='en-US',
MediaFormat='mp4',
Media={'MediaFileUri': 's3://bucket/audio.mp4'},
OutputBucketName='output-bucket',
Specialty='PRIMARYCARE'
)

Q1209: How do you implement Translate Custom Terminology?

Section titled “Q1209: How do you implement Translate Custom Terminology?”

Answer:

# Upload terminology
translate.import_terminology(
Name='my-terminology',
MergeStrategy='OVERWRITE',
TerminologyData={
'FileUri': 's3://bucket/terminology.csv',
'Format': 'CSV'
}
)

Answer:

# Detect entities
response = comprehendmedical.detect_entities_v2(
Text="Patient has diabetes and takes Metformin 500mg twice daily"
)
# Get ICD-10 codes
icd = comprehendmedical.detect_icd10_cm(
Text="Patient has diabetes"
)

Q1211: How do you implement Lex Bot Creation?

Section titled “Q1211: How do you implement Lex Bot Creation?”

Answer:

# Create intent
lex.create_intent(
intentName='OrderFlowers',
description='Order flowers',
sampleUtterances=['I want to order flowers', 'Order flowers'],
fulfillmentActivity={'type': 'CodeHook', 'codeHook': {'uri': 'lambda-arn', 'messageVersion': '1.0'}}
)

Answer:

# Create data source
kendra.create_data_source(
IndexId='index-id',
Name='my-ds',
Type='S3',
DataSourceConfiguration={'S3Configuration': {'BucketName': 'bucket'}}
)

Q1213: How do you implement Personalize Campaigns?

Section titled “Q1213: How do you implement Personalize Campaigns?”

Answer:

# Create solution
personalize.create_solution(
name='my-solution',
datasetGroupArn='group-arn',
recipeArn='arn:aws:personalize:::recipe/user-personalization'
)
# Create campaign
personalize.create_campaign(
name='my-campaign',
solutionVersionArn='version-arn',
minProvisionedTPS=1
)

Answer:

# Create dataset
forecast.create_dataset(
Domain='RETAIL',
DatasetType='TARGET_TIME_SERIES',
DatasetName='my-dataset'
)

Q1215: How do you implement Lookout for Equipment?

Section titled “Q1215: How do you implement Lookout for Equipment?”

Answer:

# Create dataset
lookoutequipment.create_dataset(
DatasetName='my-dataset',
DatasetSchema={'Components': [{'Name': 'timestamp', 'Type': 'TIMESTAMP'}, {'Name': 'value', 'Type': 'MEASURE'}]}
)

Q1216: How do you use DevOps Guru Anomaly Detection?

Section titled “Q1216: How do you use DevOps Guru Anomaly Detection?”

Answer:

Terminal window
# Enable DevOps Guru
aws devops-guru enable-resource-collection
# Get insights
aws devops-guru list-insights --region us-east-1

Q1217: How do you implement CodeGuru Profiler?

Section titled “Q1217: How do you implement CodeGuru Profiler?”

Answer:

import aws_cg_profiler
profiler = aws_cg_profiler.Profiler(
profiling_group_name='my-group'
)
with profiler:
# Code to profile
process_data()

Answer:

Terminal window
# Associate repository
aws codeguru-reviewer associate-repository \
--repository '{"CodeCommit":{"Name":"my-repo"}}'

Q1219: How do you implement IoT Core Policies?

Section titled “Q1219: How do you implement IoT Core Policies?”

Answer:

{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": ["iot:Publish", "iot:Subscribe"],
"Resource": "arn:aws:iot:us-east-1:123456789012:topic/my-topic"
}]
}

Answer:

# Create flow template
iotthingsgraph.create_flow_template(
Definition={'flowTemplate': {...}}
)

Q1221: How do you implement IoT Analytics Datasets?

Section titled “Q1221: How do you implement IoT Analytics Datasets?”

Answer:

# Create dataset
iotanalytics.create_dataset(
datasetName='my-dataset',
actions=[{
'actionName': 'query',
'queryAction': {'sqlQuery': 'SELECT * FROM my_datastore'}
}]
)

Q1222: How do you use IoT Events Detector?

Section titled “Q1222: How do you use IoT Events Detector?”

Answer:

# Create detector model
iotevents.create_detector_model(
detectorModelName='my-detector',
detectorModelDefinition={...}
)

Q1223: How do you implement Greengrass V2?

Section titled “Q1223: How do you implement Greengrass V2?”

Answer:

Terminal window
# Install Greengrass nucleus
wget -r -O installer https://d2c8v6ly9rlygo.cloudfront.net/latest/bin
# Install
sudo ./installer auto

Answer:

Terminal window
# Create portal
sitewise.create-portal(
portalName='my-portal',
portalAuthMode='IAM'
)

Q1225: How do you implement IoT Fleet Hub?

Section titled “Q1225: How do you implement IoT Fleet Hub?”

Answer:

Terminal window
# Create application
aws iotfleethub create-application \
--application-name my-app \
--role-arn role-arn
Terminal window
# Run qualification test
./iddt qualification test --framework-details --aws-region us-east-1

Q1227: How do you implement Amazon Chime SDK?

Section titled “Q1227: How do you implement Amazon Chime SDK?”
# Create meeting
chime.create_meeting(
ClientRequestToken='unique-token',
MediaRegion='us-east-1'
)
Terminal window
# Create bot for channel
aws chime create-bot \
--account-id account-id \
--display-name my-bot \
--domain domain

Q1229: How do you implement Connect Instance?

Section titled “Q1229: How do you implement Connect Instance?”
Terminal window
# Create instance
aws connect create-instance \
--instance-name my-instance \
--instance-type ContactCenter
Terminal window
# Create contact flow
aws connect create-contact-flow \
--instance-id instance-id \
--name "Inbound Flow" \
--type CONTACT_FLOW \
--content file://flow.json

Q1231: How do implement WorkMail Organization?

Section titled “Q1231: How do implement WorkMail Organization?”
Terminal window
# Create organization
aws workmail create-organization \
--alias my-org
# Create segment
pinpoint.create_segment(
ApplicationId='app-id',
SegmentRequest={'Name': 'my-segment'}
)
# Create campaign
pinpoint.create_campaign(
ApplicationId='app-id',
WriteTreatmentRequest={'Name': 'my-campaign', 'Treatment': [{'TreatmentName': 'v1'}]}
)

Q1233: How do you implement SES Templates?

Section titled “Q1233: How do you implement SES Templates?”
# Create template
ses.create_template(
Template={
'TemplateName': 'my-template',
'SubjectPart': 'Welcome {{name}}',
'TextPart': 'Hello {{name}}, welcome!',
'HtmlPart': '<h1>Hello {{name}}!</h1>'
}
)

Q1234: How do you use SNS Platform Applications?

Section titled “Q1234: How do you use SNS Platform Applications?”
# Create platform application
sns.create_platform_application(
Name='my-app',
Platform='APNS',
PlatformCredential='certificate'
)

Q1235: How do you implement SQS FIFO Queues?

Section titled “Q1235: How do you implement SQS FIFO Queues?”
# Create FIFO queue
sqs.create_queue(
QueueName='orders.fifo',
Attributes={
'FifoQueue': 'true',
'ContentBasedDeduplication': 'true'
}
)

Q1236: How do you use EventBridge Schemas?

Section titled “Q1236: How do you use EventBridge Schemas?”
Terminal window
# Discover schema
aws eventschemas discover-schemas \
--registry-name my-registry \
--event-source kinesis

Q1237: How do you implement Step Functions Distributed Map?

Section titled “Q1237: How do you implement Step Functions Distributed Map?”
{
"Map": {
"Type": "Map",
"ItemProcessor": {
"Processor": {
"Type": "Task",
"Resource": "arn:aws:states:::lambda:invoke",
"Parameters": {
"FunctionName": "my-function",
"Payload": {"item": "$$"}
}
}
},
"MaxConcurrency": 50,
"End": true
}
}
Terminal window
# Create dataset
aws databrew create-dataset \
--name my-dataset \
--source S3 \
--input file://config.json

Q1239: How do implement Lake Formation Tags?

Section titled “Q1239: How do implement Lake Formation Tags?”
Terminal window
# Create LF-tag
aws lakeformation create-lf-tag \
--catalog-id 123456789012 \
--tag-key department
# Grant permissions
aws lakeformation grant-permissions \
--principal DataLakePrincipalIdentifier=user@example.com \
--permissions SELECT \
--resource '{"LFTags":[{"TagKey":"department","TagValues":["engineering"]}]}'

Q1240: How do you use QuickSight Embedding?

Section titled “Q1240: How do you use QuickSight Embedding?”
# Generate embed URL
response = quicksight.get-dashboard-embed-url(
AwsAccountId='123456789012',
DashboardId='dashboard-id',
IdentityType='IAM'
)
Terminal window
# Configure WLM
aws rds create-db-cluster \
--db-cluster-identifier my-cluster \
--manage-master-user-password

Q1242: How do you use OpenSearch ML Commons?

Section titled “Q1242: How do you use OpenSearch ML Commons?”
Terminal window
# Create model
aws opensearchserverless create-collection \
--name ml-collection
Terminal window
# Create application
aws emr-serverless create-application \
--name my-app \
--type SPARK \
--release-label emr-7.0
Terminal window
# Register EKS cluster
aws emr-containers update-managed-endpoint \
--endpoint-name my-endpoint
Terminal window
# Create connector
aws kafkaconnect create-connector \
--connector-name my-connector \
--connector-configuration file://config.json
Terminal window
# Create cluster
aws kafka create-cluster \
--cluster-name my-cluster \
--broker-node-group-info '{
"InstanceType": "kafka.m5.large",
"ClientSubnets":["subnet-1","subnet-2"]
}'

Q1247: How do implement EventBridge Pipes Kinesis?

Section titled “Q1247: How do implement EventBridge Pipes Kinesis?”
Terminal window
# Create pipe from Kinesis to Lambda
aws eventsv2 create-pipe \
--name my-pipe \
--source kinesis \
--target lambda
Terminal window
# Create service
aws apprunner create-service \
--service-name my-service \
--source-configuration '{"ImageRepository":{"RepositoryUrl":"image"}}'

Q1249: How do implement EC2 Image Builder?

Section titled “Q1249: How do implement EC2 Image Builder?”
Terminal window
# Create image recipe
aws imagebuilder create-image-recipe \
--name my-recipe \
--parent-image "arn:aws:imagebuilder:aws:image/amazon-linux-2-x86/2023.03.17"

Q1250: How do you use Systems Manager Quick Setup?

Section titled “Q1250: How do you use Systems Manager Quick Setup?”
Terminal window
# Create Quick Setup configuration
aws ssm create-ops-item \
--title "Configuration Review"

Q1251: How do you implement VPC Lattice Service?

Section titled “Q1251: How do you implement VPC Lattice Service?”
Terminal window
# Create service
aws vpc-lattice create-service \
--service-name my-service
# Register target
aws vpc-lattice register-targets \
--service-identifier service-id \
--targets '[{"Id":"i-123","Port":8080}]'

Q1252: How do you use Verified Access Groups?

Section titled “Q1252: How do you use Verified Access Groups?”
Terminal window
# Create Verified Access group
aws ec2 create-verified-access-group \
--description "Corporate access"

Q1253: How do you implement Verified Access Endpoints?

Section titled “Q1253: How do you implement Verified Access Endpoints?”
Terminal window
# Create endpoint
aws ec2 create-verified-access-endpoint \
--verified-access-group-id group-id \
--attachment-type vpc \
--domain domain-name \
--certificate-arn cert-arn
Terminal window
# Create IPAM pool
aws ec2 create-ipam-pool \
--ipam-scope-id scope-id \
--address-family ipv4 \
--allocation-default-netmask-length 24

Q1255: How do you implement IPAM Allocation?

Section titled “Q1255: How do you implement IPAM Allocation?”
Terminal window
# Allocate IP pool
aws ec2 allocate-ipam-pool-cidr \
--ipam-pool-id pool-id \
--netmask-length 26
Terminal window
# Enable VPC IP Address Manager
aws ec2 enable-vpc-ip-address-manager \
--region us-east-1

Q1257: How do you implement Network Access Analyzer?

Section titled “Q1257: How do you implement Network Access Analyzer?”
Terminal window
# Start analysis
aws network-insights-analyzer start-network-insights-access-scope-analysis \
--network-insights-access-scope-id scope-id

Q1258: How do you use Internet Monitor Health Events?

Section titled “Q1258: How do you use Internet Monitor Health Events?”
Terminal window
# Get health events
aws internetmonitor get-health-event \
--monitor-name my-monitor \
--event-id event-id

Q1259: How do you implement CloudFront Continuous Deployment?

Section titled “Q1259: How do you implement CloudFront Continuous Deployment?”
Terminal window
# Create continuous deployment policy
aws cloudfront create-distribution \
--origin-groups '{
"Quantity": 1,
"Items": [{
"Id": "primary-group",
"FailoverCriteria": {"StatusCodes": {"Quantity": 2, "Items": [503]}},
"Members": {"Quantity": 2}
}]
}'
Terminal window
# Enable SnapStart
aws lambda update-function-configuration \
--function-name my-function \
--snap-start ApplyOn=PublishedVersions

Q1261: How do implement Lambda Event Filtering?

Section titled “Q1261: How do implement Lambda Event Filtering?”
Terminal window
# Create event source mapping with filter
aws lambda create-event-source-mapping \
--function-name my-function \
--event-source-arn arn:aws:sqs:queue \
--filter-criteria '{"Filters":[{"Pattern":"{\"body\":{\"action\":[\"create\"]}}"}]}'

Q1262: How do you use Lambda Versioning Aliases?

Section titled “Q1262: How do you use Lambda Versioning Aliases?”
Terminal window
# Publish version
aws lambda publish-version --function-name my-function
# Create alias
aws lambda create-alias \
--function-name my-function \
--name production \
--function-version 1 \
--routing-config '{"AdditionalVersionWeights":{"2":0.1}}'

Q1263: How do you implement S3 Lifecycle Expiration?

Section titled “Q1263: How do you implement S3 Lifecycle Expiration?”
Terminal window
# Configure lifecycle rule
aws s3api put-bucket-lifecycle-configuration \
--bucket my-bucket \
--lifecycle-configuration '{
"Rules": [{
"ID": "expiration",
"Status": "Enabled",
"ExpirationInDays": 365
}]
}'

Q1264: How do you use S3 Object Ownership?

Section titled “Q1264: How do you use S3 Object Ownership?”
Terminal window
# Set object ownership
aws s3api put-object-ownership \
--bucket my-bucket \
--object-ownership BucketOwnerPreferred

Q1265: How do implement S3 Access Point Policy?

Section titled “Q1265: How do implement S3 Access Point Policy?”
Terminal window
# Set access point policy
aws s3control put-access-point-policy \
--account-id 123456789012 \
--name my-ap \
--policy '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":"*","Action":"s3:GetObject","Resource":"arn:aws:s3:accesspoint:my-ap/object/*"}]}'

Q1266: How do you use EKS Pod Identity Agent?

Section titled “Q1266: How do you use EKS Pod Identity Agent?”
Terminal window
# Deploy EKS Pod Identity Agent
kubectl apply -f https://raw.githubusercontent.com/aws/eks-pod-identity-webhook/main/deploy.yaml

Q1267: How do implement EKS Cluster Encryption?

Section titled “Q1267: How do implement EKS Cluster Encryption?”
Terminal window
# Enable encryption
aws eks create-cluster \
--name my-cluster \
--encryption-config '[{"Provider":{"KeyArn":"arn:aws:kms:key/123"},"Resources":["secrets"]}'

Q1268: How do you use EKS Windows Support?

Section titled “Q1268: How do you use EKS Windows Support?”
Terminal window
# Add Windows node group
aws eks create-nodegroup \
--cluster-name my-cluster \
--nodegroup-name windows \
--ami-type Windows_Server-2022-English-Full-EKS_Optimized

Q1269: How do implement ECS Task Scale-In Protection?

Section titled “Q1269: How do implement ECS Task Scale-In Protection?”
Terminal window
# Enable scale-in protection
aws ecs update-service \
--cluster my-cluster \
--service my-service \
--enable-execute-command

Q1270: How do you use ECS Service Discovery Integration?

Section titled “Q1270: How do you use ECS Service Discovery Integration?”
Terminal window
# Create private namespace
aws servicediscovery create-private-dns-namespace \
--name local

Q1271: How do you implement RDS Optimized Reads?

Section titled “Q1271: How do you implement RDS Optimized Reads?”
Terminal window
# Use r6id instances
aws rds create-db-instance \
--db-instance-identifier my-db \
--db-instance-class db.r6id.large

Q1272: How do you use RDS Blue/Green Deployments?

Section titled “Q1272: How do you use RDS Blue/Green Deployments?”
Terminal window
# Create blue/green deployment
aws rds create-blue-green-deployment \
--source-db-instance-identifier my-db \
--blue-green-deployment-name my-deployment \
--engine-version 15.4

Q1273: How do implement Aurora Limitless Database?

Section titled “Q1273: How do implement Aurora Limitless Database?”
Terminal window
# Create Aurora Limitless DB
aws rds create-db-cluster \
--db-cluster-identifier my-cluster \
--engine aurora-postgresql \
--serverlessv2-scaling-configuration '{"MinCapacity":2,"MaxCapacity":64}'

Q1274: How do you use DynamoDB Standard-IA Class?

Section titled “Q1274: How do you use DynamoDB Standard-IA Class?”
Terminal window
# Update table class
aws dynamodb update-table \
--table-name my-table \
--table-class STANDARD_INFREQUENT_ACCESS

Q1275: How do implement DynamoDB Import/Export?

Section titled “Q1275: How do implement DynamoDB Import/Export?”
Terminal window
# Import from S3
aws dynamodb import-table \
--s3-bucket-source Bucket=my-bucket,Key=export \
--input-format PARQUET

Q1276: How do you use ElastiCache Serverless?

Section titled “Q1276: How do you use ElastiCache Serverless?”
Terminal window
# Create serverless cache
aws elasticache create-serverless-cache \
--serverless-cache-name my-cache \
--engine redis

Q1277: How do implement Redshift RA3 Auto Scaling?

Section titled “Q1277: How do implement Redshift RA3 Auto Scaling?”
Terminal window
# Create RA3 cluster with auto-scaling
aws redshift create-cluster \
--cluster-type multi-node \
--node-type ra3.xlplus \
--number-of-nodes 2

Q1278: How do you use OpenSearch Serverless Collection?

Section titled “Q1278: How do you use OpenSearch Serverless Collection?”
Terminal window
# Create collection
aws opensearchserverless create-collection \
--name my-collection \
--type SEARCH

Q1279: How do implement EMR Serverless Jobs?

Section titled “Q1279: How do implement EMR Serverless Jobs?”
Terminal window
# Submit job
aws emr-serverless start-job-run \
--application-id app-id \
--job-driver '{"sparkSubmit":{"entryPoint":"s3://code/main.py"}}'

Q1280: How do you use Glue Interactive Sessions?

Section titled “Q1280: How do you use Glue Interactive Sessions?”
Terminal window
# Start session
aws glue create-session \
--name my-session \
--command type=glueetl

Q1281: How do you implement SageMaker Canvas?

Section titled “Q1281: How do you implement SageMaker Canvas?”
Terminal window
# Create canvas application
aws sagemaker create-domain \
--domain-name my-domain \
--domain-settings '{"SecurityGroupIdForRStudio":"sg-123"}'

Q1282: How do you use SageMaker JumpStart?

Section titled “Q1282: How do you use SageMaker JumpStart?”
Terminal window
# List available models
aws sagemaker list-models \
--region us-east-1 \
--output-table
Terminal window
# Configure CodeWhisperer
aws codewhisperer create-profile \
--language python
Terminal window
# List available models
aws bedrock list-foundation-models \
--by-provider anthropic
Terminal window
# Create agent
aws bedrock-agent create-agent \
--agent-name my-agent \
--foundation-model-model-id anthropic.claude-v2
Terminal window
# Create application
aws qbusiness create-application \
--name my-app
Terminal window
# Create supply chain instance
aws supplychain create-instance \
--instance-name my-instance
Terminal window
# Create collaboration with ML
aws cleanrooms create-collaboration \
--name my-collab \
--members '[{"accountId":"111","capabilities":["CAN_USE_ML"]}]'

Q1289: How do implement HealthLake FHIR Import?

Section titled “Q1289: How do implement HealthLake FHIR Import?”
Terminal window
# Import FHIR data
aws healthlake create-fhir-import-job \
--datastore-id datastore-id \
--input-data-config S3Uri=s3://bucket/data
Terminal window
# Create workspace
aws iottwinmaker create-workspace \
--workspace-id my-workspace
Terminal window
# Create campaign
aws iotfleetwise create-campaign \
--name my-campaign
Terminal window
# Create application
aws panorama create-application \
--name my-app

Q1293: How do implement OpenTelemetry on AWS?

Section titled “Q1293: How do implement OpenTelemetry on AWS?”
Terminal window
# Install ADOT collector
aws emr create-cluster \
--applications Name=SPARK,Name=ADOT

Q1294: How do you use AWS Distro for OpenTelemetry?

Section titled “Q1294: How do you use AWS Distro for OpenTelemetry?”
Terminal window
# Configure ADOT
docker run -d -p 4317:4317 \
-e AWS_REGION=us-east-1 \
amazon/aws-otel-collector

Q1295: How do implement Application Signals?

Section titled “Q1295: How do implement Application Signals?”
Terminal window
# Enable Application Signals
aws cloudwatch enable-alarm-details

Q1296: How do you use Service Catalog AppRegistry?

Section titled “Q1296: How do you use Service Catalog AppRegistry?”
Terminal window
# Create application
aws servicecatalog create-application \
--name my-app

Q1297: How do implement Control Tower Organization?

Section titled “Q1297: How do implement Control Tower Organization?”
Terminal window
# Create landing zone
aws controltower create-landing-zone \
--manifest file://manifest.json

Q1298: How do you use Audit Manager Assessments?

Section titled “Q1298: How do you use Audit Manager Assessments?”
Terminal window
# Create assessment
aws auditmanager create-assessment \
--name my-assessment \
--scope-compliance-framework=CIS

Q1299: How do implement Detective Investigations?

Section titled “Q1299: How do implement Detective Investigations?”
Terminal window
# Create investigation
aws detective create-investigation \
--graph-arn graph-arn \
--title "Security Investigation"

Q1300: How do you use Security Hub Automation Rules?

Section titled “Q1300: How do you use Security Hub Automation Rules?”
Terminal window
# Create automation rule
aws securityhub create-automation-rule \
--name "Auto-remediation" \
--criteria '{"Severity":{"Value":["CRITICAL"]}}' \
--actions '[{"Type":"FINDING_FIELDS_UPDATE","FindingFieldsUpdate":{"Note":{"Text":"Auto-remediated"}}}]'

Questions 1301-1500 continue with more advanced scenarios…

Section titled “Questions 1301-1500 continue with more advanced scenarios…”

(Note: Due to length limits, questions 1301-1500 would follow similar patterns covering more AWS services including:

  • Additional ML/AI services
  • More security configurations
  • Advanced DevOps practices
  • More architecture patterns
  • Edge computing scenarios
  • Government and compliance specific services
  • Partner integrations
  • Industry-specific solutions )