AWS Troubleshooting, Design Patterns and Sample Architectures

Introduction

In this article, we will introduce how to solve the most common problems we may meet on AWS. For example, connection problem, network problem, permissions problem and so on. And finally we may see some sample architectures to get some insights.

Instance Connection Problem

Firstly, When we are not able to connect our instance, please think of below solutions:

  1. Check routes. Ensure that the routing table and VPN route are correct.
  2. Check ACLs. Ensure all ACLs are correct, check the internal firewall as well.
  3. Check public IP. Ensure the instance has elastic IP.
  4. Check CPU load. Ensure the CPU is not overloaded.

Network Performance is Poor

Secondly, in case we have network performance problem, please try below solution:

  1. Change the instance type.
  2. Use enhanced networking, it provides higher performance.
  3. Try to use AWS NAT Gateways instead of NAT instance if possible.
  4. Use VPC endpoints if possible.

I/O to EBS Volumes is too low.

Thirdly, to solve I/O problem in EBS volume, please check below:

  1. Try EBS-optimized instance types.
  2. Use provisioned IOPS SSDs if possible.

CPU Load on RDS Instance is too High

Fourthly, in case we have CPU problem in RDS instance, please try below solution:

  1. Optimize the queries.
  2. Try to use read replicas.
  3. Ensure we are using the best instance type.

Access Denied When Making Request to AWS

We always do not have permission to access some services, we may try below solution:

  1. Verify the permission to request.
  2. Check resource policies are correct or not.

Sample Architectures

If an AZ fails, they system is still available.

Read replicas take load off of master. Also master and standby will have automatic failover.

Failover for different regions, this solution requires an elastic IP.

Keep the state into a key-value store (KVS), then no worry the instance terminates when scale-in.

This shows how to handle growing volume with EMR.

Above figure shows how to deal with real-time order processing with Kinesis.

This solution shows how to to real-time analysis with Kinesis for gaming.

We can use Amazon Elastic Transcoder to deal with media transcoding.

Conclusion

There are tens of thousands of solutions in AWS. To get started, we may try to clone a solution from others. Once the solution works properly, then we can further develop the solution and make it more fit our requirement.

Leave a Reply