コンテンツにスキップ

Amazon Q Cheat Sheet

Overview

Amazon Q is AWS's AI-powered coding assistant that provides intelligent code suggestions, security scanning, and application modernization capabilities. It integrates with popular IDEs and AWS services to enhance developer productivity with context-aware recommendations and automated code generation.

⚠️ Note: Requires AWS account and appropriate IAM permissions. Some features require Amazon Q subscription.

Installation & Setup

VS Code Extension

# Install Amazon Q extension from VS Code marketplace
code --install-extension AmazonWebServices.amazon-q-vscode

# Alternative: Search "Amazon Q" in Extensions tab

JetBrains IDEs

# Install via JetBrains Plugin Repository
# File > Settings > Plugins > Marketplace
# Search "Amazon Q" and install

AWS CLI Integration

# Install AWS CLI v2
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

# Configure credentials
aws configure

Authentication

Initial Setup

# Sign in through IDE extension
# Click "Sign in to Amazon Q" in IDE
# Choose authentication method:
# - AWS Builder ID (free tier)
# - IAM Identity Center
# - AWS credentials

AWS Builder ID (Free)

# Create free AWS Builder ID account
# Provides basic code suggestions
# Limited monthly usage

Professional Tier

# Requires AWS subscription ($20/month per user)
# Advanced features including:
# - Security scanning
# - Code explanations
# - Unit test generation
# - Application modernization

Core Features

Code Completion

# Automatic suggestions while typing
# Press Tab to accept suggestion
# Press Esc to dismiss suggestion

# Multi-line code generation
# Type comment describing function
# Amazon Q generates implementation

# Example:
# Type: "// Function to sort array of objects by name"
# Press Enter and Amazon Q suggests implementation

Chat Interface

# Open chat panel in IDE
# Ask questions about code
# Request explanations
# Get help with debugging

# Example queries:
"Explain this function"
"How to optimize this code?"
"Write unit tests for this class"
"Convert this to TypeScript"

Security Scanning

# Automatic security vulnerability detection
# Real-time scanning while coding
# Suggestions for security fixes

# Manual security scan
# Right-click in editor
# Select "Amazon Q: Scan for security issues"

Command Line Usage

Amazon Q CLI (Preview)

# Install Amazon Q CLI
npm install -g @aws/amazon-q-cli

# Initialize in project
amazon-q init

# Ask questions
amazon-q ask "How to deploy this to AWS?"

# Generate code
amazon-q generate --prompt "Create REST API endpoint"

# Analyze code
amazon-q analyze --file src/main.js

AWS CLI Integration

# Use Amazon Q with AWS CLI
aws q ask "How to create S3 bucket with encryption?"

# Get help with AWS services
aws q explain ec2 describe-instances

# Troubleshoot AWS issues
aws q troubleshoot --service lambda --error "Function timeout"

IDE Integration

VS Code Commands

# Command Palette (Ctrl+Shift+P)
"Amazon Q: Open Chat"
"Amazon Q: Explain Code"
"Amazon Q: Generate Unit Tests"
"Amazon Q: Optimize Code"
"Amazon Q: Security Scan"
"Amazon Q: Transform Code"

# Keyboard shortcuts
Ctrl+I          # Inline code generation
Alt+C           # Open chat
Ctrl+Shift+A    # Explain selected code

IntelliJ/PyCharm Commands

# Tools menu
Tools > Amazon Q > Open Chat
Tools > Amazon Q > Explain Code
Tools > Amazon Q > Generate Tests

# Context menu (right-click)
"Ask Amazon Q"
"Explain with Amazon Q"
"Generate tests with Amazon Q"

Code Generation Examples

Function Generation

// Type comment and let Amazon Q generate
// Function to validate email address
function validateEmail(email) {
    const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
    return emailRegex.test(email);
}

API Endpoint Creation

# Generate Flask API endpoint
# POST endpoint to create user
@app.route('/users', methods=['POST'])
def create_user():
    data = request.get_json()
    user = User(
        name=data['name'],
        email=data['email']
    )
    db.session.add(user)
    db.session.commit()
    return jsonify({'id': user.id}), 201

Unit Test Generation

// Generate Jest tests for function
describe('validateEmail', () => {
    test('should return true for valid email', () => {
        expect(validateEmail('test@example.com')).toBe(true);
    });

    test('should return false for invalid email', () => {
        expect(validateEmail('invalid-email')).toBe(false);
    });
});

Application Modernization

Code Transformation

# Transform legacy code to modern frameworks
# Select code block
# Right-click > "Transform with Amazon Q"
# Choose target framework (React, Vue, Angular, etc.)

Language Migration

# Convert between programming languages
# Select code in source language
# Ask Amazon Q: "Convert this Java code to Python"
# Review and accept suggestions

Framework Upgrades

# Upgrade to newer framework versions
# Ask Amazon Q: "Upgrade this React class component to hooks"
# Get step-by-step migration guidance

Security Features

Vulnerability Detection

# Automatic scanning for:
# - SQL injection vulnerabilities
# - Cross-site scripting (XSS)
# - Insecure dependencies
# - Hardcoded secrets
# - Authentication issues

Security Best Practices

# Get security recommendations
# Ask Amazon Q: "How to secure this API endpoint?"
# Receive suggestions for:
# - Input validation
# - Authentication
# - Authorization
# - Data encryption

Compliance Scanning

# Check code against compliance standards
# OWASP Top 10
# CWE (Common Weakness Enumeration)
# AWS security best practices

Advanced Features

Custom Prompts

# Create custom code generation prompts
# Define templates for common patterns
# Share prompts across team

# Example custom prompt:
"Generate CRUD operations for {entity} with validation and error handling"

Workspace Context

# Amazon Q analyzes entire workspace
# Understands project structure
# Provides context-aware suggestions
# Maintains consistency across files

Integration with AWS Services

# Generate AWS infrastructure code
# Ask: "Create Lambda function with API Gateway"
# Get CloudFormation/CDK templates
# Deploy directly to AWS

Troubleshooting

Common Issues

# Extension not working
# Check AWS credentials configuration
# Verify internet connection
# Restart IDE

# No code suggestions
# Check if Amazon Q is enabled in settings
# Verify file type is supported
# Check subscription status

Performance Optimization

# Improve suggestion speed
# Close unnecessary files
# Reduce workspace size
# Update to latest extension version

# Manage suggestion frequency
# Adjust settings in IDE preferences
# Configure trigger delay
# Set suggestion limits

Debugging

# View Amazon Q logs
# VS Code: View > Output > Amazon Q
# IntelliJ: Help > Show Log in Explorer

# Report issues
# Use "Send Feedback" in extension
# Include error logs and reproduction steps

Best Practices

Effective Usage

# Write descriptive comments for better suggestions
# Use meaningful variable names
# Provide context in chat queries
# Review suggestions before accepting
# Test generated code thoroughly

Security Considerations

# Review security scan results
# Don't ignore vulnerability warnings
# Validate input in generated code
# Follow principle of least privilege
# Regularly update dependencies

Team Collaboration

# Share useful prompts with team
# Establish coding standards
# Review AI-generated code
# Document custom configurations
# Train team on effective usage

Pricing & Limits

Free Tier (AWS Builder ID)

# Features included:
# - Basic code completion
# - Limited chat interactions
# - Security scanning (basic)
# - Monthly usage limits apply

Professional Tier ($20/month)

# Additional features:
# - Advanced code generation
# - Unlimited chat
# - Application modernization
# - Priority support
# - Team management features

Enterprise Features

# Custom pricing for:
# - SSO integration
# - Advanced security controls
# - Audit logging
# - Custom model training
# - Dedicated support

Resources

Documentation

Community

Training