IT Audit How to Understand and Use AWS Services for IT Audit
23-07-02
본문
AWS stands for Amazon Web Services, a cloud computing platform provided by Amazon.
Many businesses turn to cloud services like AWS for a variety of reasons.
For startups, for example, AWS's ability to significantly reduce upfront costs and easily scale as your business grows is very advantageous. For the gaming industry, they can leverage AWS's global infrastructure to deliver fast and reliable gaming services anywhere in the world.
Some of the benefits include:
1. Flexibility:
With cloud services, you can instantly grab as many resources as you need and release them as soon as you don't need them. This flexibility is a huge advantage over having fixed hardware resources. For example, you can acquire additional resources during peak traffic seasons or specific events, and then go back to normal levels afterward.
2. Cost savings:
Cloud services follow the principle of "you pay for what you use," so you only use as many resources as you need, when you need them, which can reduce your overall IT costs. Cloud services can also reduce the cost of running a data center, such as servers, network equipment, power, cooling systems, etc.
3. Rapid deployment:
With cloud services, you can deploy and run the software or services you need within minutes. This helps you keep up with the fast-changing business environment.
4. Continuous innovation:
Cloud service providers like AWS are constantly rolling out new services and features. This allows businesses to use the latest technology out of the box, which helps them stay technologically competitive and innovative.
5. Security:
Cloud service providers like AWS have vast security resources to protect your organization's data. They also offer tools and services to help you meet various compliance requirements.
There are many services, but here we will discuss Lambda, EC2, S3, RDS, Dynamo DB, VPC, EBS, Cloud Watch, Cloud Trails, Kinesis, and Auto Scaling.
1. AWS Lambda:
AWS Lambda is a compute service that allows you to run code without managing servers directly. It allows you to run code without provisioning or maintaining servers, automatically adjust code responses, or apply code to almost any type of application or backend service.
2. Amazon Elastic Compute Cloud (EC2):
A service that provides virtual servers, which can be quickly delivered and used as many times as you want. This allows developers to deploy and run applications without having to build server infrastructure upfront.
3. Amazon S3 (Simple Storage Service):
This is a service that provides storage over the Internet. Users can store as much data as they need and access it from anywhere in the world.
4. Amazon RDS (Relational Database Service):
A service that makes it easy to set up, operate, and scale relational databases. RDS supports a variety of database engines, including MySQL, PostgreSQL, MariaDB, Oracle, SQL Server, and Aurora.
5. Amazon DynamoDB:
A NoSQL database service that processes large amounts of data with fast and predictable performance. If RDS is for relational databases, DynamoDB is for non-relational databases.
6. Amazon Virtual Private Cloud (VPC):
A service that allows users' AWS resources to run on a virtual private network. It allows users to choose their own private range of IP addresses and control their network configuration, and users can control security and network configuration as if they owned and operated their own data center.
7. Amazon Elastic Block Store (EBS):
A block storage service available for EC2 instances. It is used for databases, applications, file systems, and more, and is ideal for high I/O operations like databases.
8. Amazon CloudWatch:
A service that monitors your AWS resources and applications. It helps you improve the overall performance of your system or troubleshoot issues.
9. EC2 (Elastic Compute Cloud):
A service that provides virtual servers. It allows users to throttle computing power and manage their servers. An EC2 instance is a virtual server with an operating system of your choice.
10. CloudTrail:
A service that manages event logs from your AWS account. It allows you to audit and review activity on your AWS resources.
11. Kinesis:
A service that collects and analyzes large amounts of data in real time. This allows you to understand and respond to data in real time.
12. Auto Scaling:
A service that monitors the load on your application and automatically adjusts it as needed. This allows you to optimize costs while maintaining the performance of your application.
To make this more understandable, let's say you're moving from on-premises to AWS.
Let's take a step-by-step look at why you're switching to AWS and understand what resources you'll need to use so you can leverage them for your IT audit.
1. Requirements gathering and analysis:
Identify your business and technical requirements and gather the information needed to design your AWS environment.
Understand your current infrastructure structure and identify the resources, performance, and security requirements needed to support your services.
2. Architecture design:
Design the infrastructure by selecting the services that best fit your company's needs from AWS's various services.
For example, you might choose to use EC2 for web application servers, RDS for databases, S3 for static files, and so on. You can also deploy EC2 instances in multiple Availability Zones or set up Auto Scaling Groups to increase the availability of your service.
3. Create and configure resources:
Based on the architecture you designed, use the AWS console or CLI to create and set up the required resources. Create resources such as EC2 instances, RDS databases, and S3 buckets, and set up network settings such as VPCs, subnets, and security groups.
4. Deploy code and migrate data:
Move the code and data from your on-premises environment to your AWS environment. Code can be deployed to an EC2 instance or, if necessary, created as a Lambda function to run in a serverless environment. Data is migrated to an RDS database, and you can use the AWS Database Migration Service for this process.
5. Service monitoring and logging:
Use CloudWatch to monitor the performance of your EC2 instances or RDS databases. Also, use CloudTrail to track the activity of your AWS account and store logs.
6. Security settings:
Set access policies for users and resources through IAM, and use Security Groups and NACLs to enhance security at the network level. You can also use AWS Shield and WAF to protect your web applications from DDoS attacks and more.
7. Virtual Private Cloud (VPC):
A VPC is a virtual network environment provided by AWS that allows users to run AWS resources such as EC2 instances, RDS databases, etc. inside it.
You have full control over this VPC and can segment your network by selecting IP address ranges, creating subnets, configuring route tables and network gateways, and more.
The VPC uses security groups and network access control lists (ACLs) to control inbound and outbound traffic to the instance.
* Both virtual private clouds (VPCs) and virtual private networks (VPNs) in AWS provide a private network space and a secure way for specific users or organizations to access resources. However, the two technologies differ in their purpose and how they are used.
A VPN is a technology that allows you to access a remote network by creating a secure tunnel.
AWS VPN provides a secure way to connect between your on-premises network (for example, your company's office network) and your AWS VPC.
This allows companies to use AWS as an extended data center, while securely communicating between on-premises and AWS resources.
As such, VPCs do not replace VPNs; they are independent services with different purposes. VPCs provide a virtual private network environment within AWS, while VPNs securely connect these VPCs to your on-premises network.