AWS (Amazon Web Services) is a public cloud platform with managed compute, storage, networking, data, integration, and AI services. For .NET engineers, its SDK and identity tooling make provider APIs available without hiding their consistency, retry, cost, or failure contracts. This page organizes representative services by the capability a workload needs.

# Verify active identity
aws sts get-caller-identity
# List S3 buckets
aws s3 ls

Choose Services by Capability

The catalog is not a design method. Start with control, workload shape, data model, delivery semantics, regional availability, and portability, then choose the narrowest managed capability that satisfies them.

CapabilityRepresentative servicesDecision question
ComputeEC2, ECS, EKS, LambdaDo you need OS control, container scheduling, Kubernetes APIs, or event-bound functions?
StorageS3, EBS, EFSIs the data an object, a block device, or a shared file system, and what latency/durability contract applies?
Relational dataRDS, AuroraWhich engine semantics, failover mode, extensions, and operational controls are required?
Purpose-built dataDynamoDB, DocumentDB, Keyspaces, Neptune, Timestream for InfluxDB, ElastiCacheWhat data model, partition key, query shape, consistency, and transaction boundary does the workload need?
Messaging and eventsSQS, SNS, EventBridge, MSK, KinesisIs the contract a queue, fan-out notification, routed event, ordered log, or replayable stream?
AnalyticsGlue, EMR, Athena, Redshift, OpenSearch Service, QuickSightIs the stage ingestion, transformation, interactive query, warehouse, search, or presentation?
IntegrationStep Functions, AppFlow, API GatewayIs the workflow code-first, stateful orchestration, managed data movement, or an HTTP API boundary?

Use this page to translate workload capabilities into AWS names. The provider-neutral mechanisms live in Object Storage, NoSQL, Networks, Message Queues, Event-Driven Architecture, and Kubernetes. Those notes own the durable design tradeoffs; AWS documentation owns the current regional, quota, pricing, and lifecycle contract.

The visual is an orientation aid, not a lifecycle guarantee. Confirm current service status, regional support, quotas, and pricing in the official service documentation before adopting one.

Amazon Timestream for LiveAnalytics closed to new customers on June 20, 2025. Existing customers can continue using it, but new time-series workloads should evaluate Timestream for InfluxDB or another database whose ingestion, query, retention, and operational model fits the workload.

Compute

EC2 (Elastic Compute Cloud)

Virtual machines in the cloud. Choose instance type (CPU/memory/GPU), OS, and networking. The foundation of most AWS workloads.

When to reach for it: When you need full control over the OS, custom software, or GPU instances for ML training. For containerized .NET apps, prefer ECS or EKS over raw EC2. EC2 is the right choice for lift-and-shift of on-prem VMs.

# Launch the current regional Amazon Linux 2023 x86_64 AMI
aws ec2 run-instances --image-id resolve:ssm:/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-x86_64 --instance-type t3.micro --key-name my-key

Lambda

Lambda runs event-triggered functions in managed execution environments. Synchronous invocation leaves retries with the caller; asynchronous invocation and event-source mappings have source-specific queueing, retry, ordering, batch, and failure-destination behavior. Handlers need idempotent side effects because duplicate delivery and ambiguous outcomes are normal at those boundaries.

Reserved concurrency isolates and caps capacity; provisioned concurrency prepares environments to reduce initialization latency but adds idle cost. Use Lambda for bursty bounded work when managed scaling is worth runtime limits and variable initialization latency. Prefer a continuously running container or VM for sustained work that needs long-lived processes, specialized host control, or stable low-latency execution.

Storage

S3 (Simple Storage Service)

S3 stores objects addressed by bucket, key, and optional version ID. It is a fit for immutable or replace-as-a-whole payloads such as media, backups, artifacts, and data-lake files. Strong single-object and listing consistency does not create a multi-object transaction, and an ETag is not a universal content checksum.

# Upload a file
aws s3 cp ./model.pkl s3://my-bucket/models/model.pkl
# Sync a directory
aws s3 sync ./data/ s3://my-bucket/data/

Multipart upload makes large transfers independently retriable, but unfinished parts accrue charges until aborted or removed by lifecycle policy. Object Storage owns the multipart, checksum, lifecycle, and multi-object publication mechanisms; use S3 documentation for current limits and API behavior.

Databases

DynamoDB

DynamoDB is a managed key-value and document database with on-demand or provisioned capacity and optional global tables. Reach for it when partition-key and sort-key access patterns are known up front and its per-operation consistency, transaction, indexing, capacity, and multi-Region contracts fit. Do not treat Cosmos DB or another document store as behaviorally equivalent because the capability category is similar.

# Get an item by primary key
aws dynamodb get-item --table-name Users --key '{"UserId": {"S": "user-123"}}'

Networking

Choose an AWS path from the communicating endpoints, then check routing, addressing, transitivity, DNS, bandwidth, failure domain, and price. Internet gateways, NAT gateways, VPC peering, Transit Gateway, PrivateLink endpoints, VPN, and Direct Connect solve different paths; none is a generic “private networking” switch. Networks owns the provider-neutral routing and transport concepts.

NeedPathContract to verify
Public internet to a VPC resourceInternet gateway plus public addressing and routesSecurity controls, IPv4/IPv6 behavior, ingress/egress path, and public-address charges
Private egress to the internetNAT gateway or managed NAT alternativePer-hour and per-byte cost, AZ placement, route tables, and failure isolation
Two VPCs with direct private routingVPC peeringPeering is not transitive; routes and overlapping CIDRs constrain the design
Many VPCs and hybrid networksTransit Gateway or Cloud WANAttachment, route-table, propagation, bandwidth, and regional boundaries
VPC to S3 or DynamoDBGateway VPC endpointSupported service, route-table entries, endpoint policy, and regional scope
VPC to a supported AWS/SaaS serviceInterface VPC endpoint through PrivateLinkENI/subnet placement, security groups, private DNS, AZ and data-processing cost
On-premises to AWSSite-to-Site VPN or Direct ConnectEncryption, redundancy, bandwidth, BGP, lead time, and failover path

The source diagram combines valid service names with shortcuts that can misstate gateway-endpoint support and path details, so it is not embedded. Build the actual map from the VPC route tables, endpoint type, DNS answers, and the source/destination pair.

Messaging

SQS (Simple Queue Service)

SQS is a managed queue. Standard queues provide at-least-once delivery and best-effort ordering. FIFO queues order within a MessageGroupId; their five-minute send-deduplication window does not make downstream side effects exactly once. Consumers still need idempotency, visibility-timeout handling, bounded retries, and dead-letter policy. Message Queues owns those mechanisms; compare SQS with SNS, EventBridge, Kinesis, and MSK by queue, fan-out, routing, ordering, and replay requirements.

# Send a message
aws sqs send-message --queue-url https://sqs.us-east-1.amazonaws.com/123456789/my-queue --message-body 'Hello'
# Receive messages
aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/123456789/my-queue

References

0 items under this folder.