Commentary

AWS Configuration Examples Explained by Use Case | Suitable Configuration Patterns for Your Company and Points to Note During Design

Eye-catching image
table of contents

When building websites and web applications with Amazon Web Services (AWS), you design the configuration by combining Amazon EC2, Amazon RDS, Amazon S3, Amazon CloudFront, Application Load Balancer, and other components. However, simply applying typical configuration examples may not be suitable for your company. The appropriate configuration will vary depending on the target audience, access scale, impact of downtime, and security requirements.

For example, for static websites, a configuration centered around Amazon S3 and Amazon CloudFront is a viable option. On the other hand, web applications and e-commerce sites require a design that includes application servers, databases, load balancing, monitoring, and backups. For internal systems, connectivity with existing networks and authentication/access control also need to be considered.

Choose an AWS configuration example that suits your purpose, scale, and operational requirements.

The first thing you need to decide is "what you're going to build." The services you use and the design considerations will differ depending on whether you're creating a static site like a company profile or landing page, or a web application with membership features. For internal systems or e-commerce sites, the design scope includes connection destinations, authentication, availability, backup, and monitoring.

For static websites, the basic configuration involves placing files on Amazon S3 and delivering them via Amazon CloudFront. While this allows you to publish without owning your own server, it's not suitable for user management, administration panels, or database processing.

If you need features such as membership functionality or an administration panel, you'll need to combine Amazon EC2, Application Load Balancer, Amazon RDS, etc. Because you're separating the layers for receiving access, running the application, and storing data, the scope of considerations is broader than for a static site.

If the system is intended for internal use, the connection to the existing network and access control should be designed first. If it's integrating with an on-premises environment, network design including AWS Site-to-Site VPN and AWS Direct Connect is also necessary.

The example configurations are not final versions, but rather for comparison. Do not judge solely based on the names of the services used; instead, check what purpose, scale, and operational requirements the configuration is based on.

Commonly Used Services and Roles in AWS Configuration Examples

Multiple services are combined depending on the application. Understanding the roles of the main services shown in the configuration diagram will allow you to grasp the purpose of each configuration.

Category

Main AWS services

role

network

Amazon Virtual Private Cloud (Amazon VPC), subnets, internet gateways

Create a network environment on AWS and separate the areas for external access from those for internal use.

Compute

Amazon EC2, AWS Lambda, Amazon Elastic Container Service (Amazon ECS)

It is used as the execution platform for web servers and applications.

Database

Amazon RDS, Amazon Aurora, Amazon DynamoDB

Stores and manages data used by the application.

storage

Amazon S3

Saves files such as images, HTML, logs, and backup data.

Content distribution

Amazon CloudFront

Deliver web content quickly and reduce the load on the origin server.

Load balancing and scaling

Elastic Load Balancing, Amazon EC2 Auto Scaling

The system distributes access across multiple servers and adjusts resources according to the load.

Security

AWS Identity and Access Management (IAM), AWS WAF, AWS Shield

Responsible for access control, protection against unauthorized access, and protection of web applications.

Monitoring/operation

Amazon CloudWatch, AWS CloudTrail, AWS Backup

Used for monitoring operating status, recording operation logs, and backup management.

接 続

AWS Site-to-Site VPN, AWS Direct Connect

Connecting internal networks and on-premises environments to AWS.

The combination of services required will vary depending on the scope of publication, data handling, impact of downtime, and operational structure. Static sites should consider Amazon S3 and Amazon CloudFront, web applications should consider Amazon EC2, Application Load Balancer, and Amazon RDS, and internal systems should consider configurations including AWS Site-to-Site VPN and AWS Direct Connect.

AWS configuration examples by use case

Configuration patterns vary depending on the target audience and operational requirements. Here, we categorize them into static sites, small-scale websites, web applications, internal systems, e-commerce sites, serverless architectures, and high-availability configurations. In actual design, adjustments should be made based on access scale, data handled, impact of downtime, and operational structure.

Static website configuration

For websites that primarily use HTML, CSS, images, and JavaScript, such as company profiles, service introduction pages, landing pages, and campaign pages, we combine Amazon S3 and Amazon CloudFront.

By placing static files in Amazon S3 and delivering them with Amazon CloudFront, you can publish content without having your own web server. If you need to add some features such as contact forms, you can also consider combining this with AWS Lambda, Amazon API Gateway, or external form services.

This approach is suitable for websites with relatively infrequent updates and limited dynamic processing. However, if member login, an administration panel, or database integration is required, it should be designed as a web application.

Small-scale website configuration

For small-scale websites or testing environments, a simple configuration centered around Amazon EC2 is often feasible. This involves deploying web servers and a CMS on Amazon EC2, and combining them with Amazon RDS as needed.

For WordPress sites or small information websites, a good starting point is a configuration using Amazon EC2 and Amazon RDS. It's easy to understand because it's similar to managing existing servers.

However, concentrating processing on Amazon EC2 alone increases the scope of impact in the event of a failure. For continuous operation in a production environment, the design should include backup, monitoring, security patching, and scalability.

Web Application Configuration

In web applications with features such as membership, administration panels, search functions, and reservation functions, layers are separated according to their roles. Generally, access is received by an Application Load Balancer, the application runs on Amazon EC2 or Amazon Elastic Container Service (Amazon ECS), and data is managed on Amazon RDS or Amazon Aurora.

Separating the application server and database helps isolate the impact of load and failures. If increased access is anticipated, combine this with Amazon EC2 Auto Scaling to adjust resources according to processing volume.

In this configuration, not only service deployment but also authentication, access control, logging, and data protection are considered in the design. When handling user information or business data, AWS WAF, AWS Identity and Access Management (IAM), Amazon CloudWatch, and AWS Backup should also be considered from the initial stages.

Internal System Configuration

For internal portals, application workflows, business management systems, and core peripheral systems, the design prioritizes connection paths and access control over internet exposure.

For example, one configuration involves deploying application servers and databases within Amazon Virtual Private Cloud (Amazon VPC) and connecting to them from the company network using AWS Site-to-Site VPN or AWS Direct Connect. For user authentication and permission management, integration with existing identity infrastructure should be considered in addition to IAM.

Even for internal use, simplifying monitoring and backups will lead to problems after deployment. For systems that could disrupt business operations, fault detection, recovery procedures, log management, and data protection must be designed in advance. When integrating with on-premises environments, network, security, and migration methods must be addressed separately.

EC site structure

E-commerce sites handle product information, inventory, orders, payments, and customer information, so they are designed with robust availability and security features. Based on a web application architecture, load balancing, redundancy, monitoring, and backups are incorporated.

Generally, access is distributed using an Application Load Balancer, and multiple application servers are deployed. For databases, Amazon RDS or Amazon Aurora are used, and Multi-AZ configurations and backups are considered. Amazon S3 or Amazon CloudFront are used in combination for delivering image and product data.

Even a short outage can impact sales and customer service for e-commerce sites. We design our systems to handle everything from traffic congestion and payment integration to personal data protection and unauthorized access prevention, and we implement monitoring and recovery systems using AWS WAF, Amazon CloudWatch, AWS CloudTrail, and AWS Backup.

Serverless configuration

Serverless configurations combine services such as AWS Lambda, Amazon API Gateway, Amazon DynamoDB, and Amazon S3. They are used for event processing, APIs, batch processing, and lightweight web applications, without requiring server management.

For processes with fluctuating access numbers or functions that don't require constant server operation, this is a viable option. Since you're only charged for the amount of processing performed, costs can be kept down depending on your usage patterns.

On the other hand, it may not be suitable for simply migrating existing applications. Serverless-specific constraints such as processing time, number of concurrent executions, database connections, log management, and permission design should be checked in advance.

Production configuration prioritizing high availability

To minimize the risk of downtime in a production environment, a design that reduces single points of failure is necessary. This involves using multiple Availability Zones and combining them with Elastic Load Balancing, Amazon EC2 Auto Scaling, Amazon RDS Multi-AZ configurations, and Amazon Aurora.

By deploying multiple web servers and application servers, processing can continue even if one fails. Databases are also made redundant, and backup and recovery procedures are established. Operating status is monitored using Amazon CloudWatch, and operation logs are tracked using AWS CloudTrail.

While high-availability configurations are effective for stable operation, they also increase costs and the burden of design and operation. It's not necessary to choose the maximum configuration from the start in every environment. The required availability level should be determined based on the impact of downtime, recovery goals, number of users, and the importance of the data being handled.

Strengths and weaknesses of different AWS configuration examples

The configuration pattern should be chosen according to the intended use and risk. More features don't always mean better, and excessive design increases costs and operational burden. On the other hand, operating with a minimal configuration in an environment where downtime would have a significant impact increases the risk during failures.

Configuration example

Suitable cases

Cases where it is not suitable

Static website configuration

Websites primarily consisting of static content, such as company profiles, landing pages, service introduction pages, and campaign sites.

Sites requiring member functions, administration panels, search functions, and database processing.

Small-scale website configuration

Small-scale information sites, testing environments, and limited CMS sites.

Production environments where high traffic is expected, and services where downtime would have a significant impact.

Web Application Configuration

System that uses application processing and databases, such as member sites, reservation systems, administration panels, and business applications.

For simple static websites and applications where server management should be avoided as much as possible.

Internal System Configuration

Internal portal, application workflow, business management system, and system that integrates with on-premises environments.

A typical website intended for public access, or a simple website intended for short-term use.

EC site structure

Websites that handle product, inventory, order, payment, and customer information; services whose downtime would have a significant impact on sales.

Small-scale information listing sites, sites without payment or membership management systems.

Serverless configuration

APIs, event processing, batch processing, processes with high access fluctuations, lightweight web applications

A system that assumes simple migration of existing server applications, long-term processing, and always-on connectivity.

Production configuration prioritizing high availability

For production environments where business interruptions and revenue losses must be avoided, systems requiring high availability, monitoring, and recovery capabilities are essential.

Testing environment, small-scale internal use, system with minimal impact during downtime.

Applying a high-availability configuration to a static company website will unnecessarily increase costs and operational burden. Conversely, operating an e-commerce site that directly impacts sales or internal systems that could lead to business disruption with a minimal configuration will result in a greater impact when a failure occurs.

When choosing a configuration, the criteria should be based not on the number of services, but on the scale of access, the data being handled, the impact of downtime, and the company's internal operational structure.

Criteria for choosing an AWS configuration

When choosing a configuration, consider not only the functional requirements but also the cost, availability, security, and operational structure. While increasing the number of services may seem robust, it also increases costs and management complexity. An unnecessarily complex configuration makes not only daily operations but also troubleshooting more difficult.

Look at the balance between cost, availability, and security.

The first thing to consider is "how much downtime is acceptable?" The required availability differs between a testing environment or a small-scale site and a production environment that directly impacts sales and business operations.

For small websites, a simple configuration centered around Amazon EC2 or Amazon RDS is a viable option. On the other hand, for e-commerce sites or core internal systems, the design should include redundancy using multiple Availability Zones, database backups, monitoring, and failure recovery procedures.

Security requirements vary depending on the scope of public access and the data being handled. For websites exposed to the internet, consider AWS WAF, security groups, and access control using AWS Identity and Access Management (IAM). For internal systems, in addition to whether or not they are publicly accessible, the connection to the internal network, authentication, operation logs, and data protection should also be considered.

As you increase availability and security, the number of services and design elements you'll need will increase. Don't judge solely on monthly costs; choose a configuration that can be realistically managed, including monitoring, backup, operational procedures, and incident response.

Consider the operational structure and future scalability.

Who will operate the system after it's built is also a prerequisite for selecting the configuration. AWS allows for flexible configuration changes, but if you add services without clear operational rules, permission management, monitoring, backup, and cost management will become complex.

If your company lacks expertise in AWS operations, it might be better to start with a manageable configuration rather than building a complex one from the beginning. This involves verifying whether you can manage the entire setup, including monitoring, backup, and security settings.

On the other hand, if increased access or additional features are anticipated in the future, the system should be designed with future expansion in mind. Separating the network, database, and application layers leaves room for load balancing and redundancy to be added later.

When integrating with existing systems, post-migration operations must also be considered. Organizing details such as connectivity with on-premises environments, integration with the ID infrastructure, data migration, and rollback procedures in case of failures will minimize rework after implementation.

Optimizing only during the initial setup will result in a configuration that is vulnerable to changes after deployment. The design should meet current requirements, remain manageable, and leave room for future changes.

Points to consider when planning your AWS configuration

While example configurations can serve as a starting point, simply listing the services shown in the diagram is insufficient. Costs, operational burden, and security risks will vary depending on the configuration and usage. When deciding on the configuration, be sure to check for potential problems that may arise after deployment.

Do not judge costs or operational burden based solely on the configuration diagram.

Even when using the same service, costs vary depending on the configuration and usage. For Amazon EC2, instance type, uptime, and storage capacity affect the cost. For Amazon RDS and Amazon Aurora, you should also check the instance size, Multi-AZ configuration, backup retention period, and data transfer volume.

As the configuration becomes more complex, the number of operational items also increases. Combining load balancers, multiple availability zones, Amazon EC2 Auto Scaling, AWS WAF, monitoring, and backups enhances availability and resilience. On the other hand, it also expands the scope of configuration verification, incident response, log review, and cost management.

When reviewing costs, we don't rely solely on monthly estimates. We consider factors such as increased access, increased backup storage volume, and the workload during incident response. The configuration diagram is a tool for understanding the overall picture; actual costs and operational realities are determined by the configuration values ​​and usage.

Include backup, monitoring, and security in the initial design.

If you design only the part of the application that runs first, vulnerabilities will remain after deployment. Problems such as lack of logging, undefined recovery procedures, and excessively broad permissions will only increase the amount of work required to fix them later.

In configurations using databases, you should define the backup frequency, retention period, and restoration procedure. In environments where downtime has a significant impact, such as e-commerce sites or internal systems, simply having backups is insufficient. The design should include how far back you can restore the system and how much time is acceptable for recovery.

For monitoring, we will use tools such as Amazon CloudWatch to monitor CPU usage, memory, disk space, response time, errors, and logs. For security, we will include AWS Identity and Access Management (IAM) permission management, security groups, AWS WAF, and operation logs from AWS CloudTrail in our design.

In a production environment, a working configuration is not enough. The design must also include features such as the ability to detect anomalies, recover from them, and manage permissions.

Check the connection and migration requirements with existing systems.

The points to check differ between new system construction and migration from an existing environment. When connecting to on-premises environments, internal networks, existing databases, authentication infrastructure, and external services, it is risky to simply use general configuration examples.

For internal systems, we will verify connectivity using AWS Site-to-Site VPN and AWS Direct Connect, IP address design, name resolution, authentication integration, and communication path control. For core peripheral systems and business systems, the design scope will also include data integration with the existing environment, nightly batch processing, external APIs, and the handover of operational monitoring.

If migration is involved, the switching procedure and rollback method should also be defined. If it is unclear when to revert to the old environment, how to handle data differences, and who will make the decisions when problems occur after the migration, troubleshooting will be delayed.

When considering a migration, we look not only at the new AWS environment but also at its connections to existing environments. Organizing connection destinations and migration conditions beforehand can minimize rework and operational confusion after the migration is complete.

When should you consult an expert when considering your AWS configuration?

Looking at configuration examples can help you organize the general direction. However, in production environments and business systems, relying solely on configuration diagrams can lead to overlooking aspects of availability, security, operation, and cost. In particular, in the following cases, you should confirm the design policy at an early stage.

  • If you want to minimize the risk of downtime in a production environment
    • For environments where downtime could impact sales and operations, such as websites, business systems, and e-commerce sites, we design solutions that include redundancy, monitoring, backup, and recovery procedures.
  • If there are security requirements or audit requirements
    • When handling personal information, customer information, transaction data, or confidential company information, the system should be designed using a combination of AWS Identity and Access Management (IAM), network isolation, logging, access control, and AWS WAF.
  • When migrating from an existing system to AWS
    • If you have an on-premises environment, existing databases, authentication infrastructure, and connections to external services, you should organize not only the migration procedure but also the rollback method.
  • Including internal networks and private connections
    • When using AWS Site-to-Site VPN or AWS Direct Connect, you will need to verify the communication path, IP address design, name resolution, and connection conditions with the existing network.
  • When combining multiple AWS services
    • In configurations combining Amazon EC2, Amazon RDS, Application Load Balancer, Amazon S3, Amazon CloudFront, AWS WAF, Amazon CloudWatch, etc., the roles and responsibilities of each service must be clearly defined.
  • If you want to make a decision that includes cost estimation and operational design.
    • AWS costs vary depending on usage, data transfer volume, backup capacity, redundancy, and monitoring items. A configuration diagram alone cannot determine monthly costs or operational burden.
  • If your company lacks the necessary expertise in AWS design and operation
    • A system is needed that can handle not only the initial setup but also ongoing troubleshooting, security updates, access control, and cost management. If the configuration is not decided with operation in mind, problems such as reliance on specific individuals and management deficiencies will occur after the system is built.

Referring to example configurations allows your company to clarify its own direction. On the other hand, for configurations involving production environments, internal systems, migration from existing environments, and security requirements, confirming the design policy at an early stage will help minimize rework.

Summary

AWS configuration examples vary depending on the use case, such as static sites, small websites, web applications, internal systems, e-commerce sites, and serverless configurations. The combination of services required will also change depending on the scope of publication, access scale, impact of downtime, data handled, and operational structure.

For small-scale testing environments, starting with a simple configuration might be a good option. On the other hand, for production environments or systems directly related to business operations, designing with redundancy, monitoring, backup, and recovery procedures in mind is essential. When migrating from existing systems, connecting to internal networks, and requiring specific security features, simply applying general configuration examples carries the risk of overlooking costs, operational burden, and fault tolerance.

The example configurations are not final versions, but rather materials for comparison and consideration. Configurations that do not suit your company's intended use, downtime risks, and operational structure will lead to increased costs and operational burdens.

Kazuki Kato
The person who wrote the article
Kazuki Kato

Server Works Co., Ltd.
Marketing Department, Marketing Section 1
After working in sales for independent ISPs and system integrators, where I was involved in optimizing customers' systems and networks, I joined Serverworks. Since joining, I have worked on development standardization projects for power carriers and proposed and implemented station announcement systems for railway operators. Currently, I am in charge of event marketing and inside sales.
My hobby is washing cars.
AWS Certified Database – Specialty (DBS)

If you have any questions about AWS,
issues like these?

If you have any questions or concerns about using AWS, getting quotes, configuring your system, or operating it, please feel free to contact us.
We help facilitate smooth decision-making by establishing a shared understanding with the local team and clarifying the prerequisites.

We offer end-to-end solutions to address all your AWS-related challenges.

Image of a city nightscape intersecting with blue lines of light symbolizing a digital network