AWS 학습은 처음 시작할 때 복잡하게 느껴질 수 있습니다. 이 글에서는 AWS 학습을 시작하는 데 도움을 주기 위해 주요 AWS 용어들을 알기 쉽게 설명합니다.
AWS는 현재 세계 최대 규모이자 가장 인기 있는 클라우드 서비스 제공업체입니다. 전 세계 26개 리전에서 84개의 가용 영역을 운영하고 있으며, 추가로 8개 리전에 24개의 가용 영역을 개설할 계획입니다. AWS는 높은 가용성, 뛰어난 확장성, 광범위한 리전, 그리고 사용량에 따른 과금 시스템과 같은 강점을 바탕으로 클라우드 서비스 시장을 선도하고 있습니다.
AWS의 인기가 높아짐에 따라 숙련된 AWS 개발자와 엔지니어에 대한 수요도 꾸준히 증가하고 있습니다. 클라우드 기술, 특히 AWS를 배우기 시작하기에 지금이 아주 적합한 시기입니다. 하지만 처음 접하는 기술을 배우는 것은 결코 쉽지 않습니다. AWS에는 200가지가 넘는 서비스가 있어 처음에는 혼란스러울 수 있습니다.
AWS 초보자이거나 AWS 용어에 대한 전반적인 이해를 높이고자 하는 기술 전문가 모두에게 이 문서가 유용할 것입니다. 이 글에서는 AWS 클라우드 여정을 시작하는 데 도움이 될 주요 AWS 용어들을 살펴보겠습니다.
주요 AWS 용어 : AWS 서비스
다음은 가장 일반적으로 사용되는 AWS 서비스 목록입니다.
Amazon API Gateway: API를 손쉽게 생성, 게시, 관리, 모니터링 및 보호할 수 있도록 지원하는 완전 관리형 AWS 서비스입니다. 주로 AWS 서비스를 API를 통해 다른 애플리케이션에 제공하는 데 사용됩니다.
Amazon Aurora: AWS에서 제공하는 완전 관리형 MySQL 및 PostgreSQL 관계형 데이터베이스 서비스입니다. 클라우드 환경에 최적화되어 클라우드 스토리지의 이점을 최대한 활용할 수 있도록 설계되었습니다.
Amazon CloudFront: AWS의 콘텐츠 전송 네트워크(CDN)입니다. 전 세계 300곳 이상의 엣지 로케이션에서 정적 콘텐츠를 캐싱하여 애플리케이션의 응답 속도를 향상시킵니다.
Amazon CloudWatch: AWS 리소스의 모니터링 및 관찰을 위한 핵심 서비스입니다. 애플리케이션 모니터링에 필요한 데이터와 실행 가능한 통찰력을 제공하여 특정 상황에 적절하게 대응할 수 있도록 돕습니다.
Amazon DynamoDB: 서버리스 NoSQL 데이터베이스 서비스로, 데이터에 대한 밀리초 단위의 빠른 접근을 제공합니다.
Amazon EC2: AWS에서 가장 많이 사용되는 서비스 중 하나로, 다양한 요구 사항에 맞춰 안전하고 확장 가능한 가상 서버(EC2 인스턴스)를 제공합니다.
Amazon EC2 Auto Scaling: 사용자가 정의한 정책과 상태 확인 기준에 따라 EC2 인스턴스를 자동으로 시작하거나 종료하는 서비스입니다.
Amazon Elastic Block Store: EBS라고도 불리며, AWS의 블록 스토리지 서비스입니다. EBS를 이용하여 블록 스토리지 장치인 EBS 볼륨을 프로비저닝할 수 있습니다.
Amazon Elastic Container Registry: ECR이라고도 하며, Docker 컨테이너 이미지를 저장, 관리 및 배포할 수 있는 컨테이너 레지스트리입니다.
Amazon Elastic Container Service: ECS라고도 불리며, AWS에서 개발 및 제공하는 확장성이 뛰어난 컨테이너 관리 시스템입니다.
Amazon Elastic File System: EFS라고도 하며, 파일 시스템을 구성하고 생성할 수 있는 서비스입니다. 생성된 파일 시스템은 EC2 인스턴스 및 온프레미스 서버에서 접근할 수 있습니다.
Amazon Elastic Kubernetes Service: AWS EKS는 Kubernetes 클러스터를 직접 설정하거나 관리할 필요 없이 AWS에서 Kubernetes를 실행하는 과정을 간소화하는 관리형 서비스입니다.
Amazon IAM: AWS 계정 내에서 사용자 및 접근 권한을 관리하는 서비스입니다.
AWS Key Management Service: KMS라고도 하며, 암호화 키를 생성하고 관리하기 위한 AWS의 간편한 솔루션입니다.
Amazon Lightsail: 웹 서버를 빠르게 프로비저닝하고 관리할 수 있도록 지원합니다. 설정 변경이 거의 필요하지 않은 소규모 사용 사례에 적합하며, WordPress Lightsail과 같이 WordPress 애플리케이션을 빠르게 배포할 수 있는 번들 패키지를 제공합니다.
Amazon Relational Database Service: RDS라고도 하며, AWS 클라우드에서 관계형 데이터베이스를 설정, 운영 및 확장하는 데 도움이 되는 서비스입니다. RDS는 다음과 같은 다양한 데이터베이스를 지원합니다.
- PostgreSQL
- Oracle
- MySQL
- MSSQL
- MariaDB
Amazon Route 53: 도메인 이름에 대한 새로운 DNS 서비스를 만들 수 있도록 지원합니다. 또한 도메인 등록 기관 역할을 하여 Route 53 콘솔에서 새 도메인 이름을 구매하거나 기존 도메인을 AWS로 이전할 수 있습니다.
Amazon S3: AWS에서 가장 널리 사용되는 스토리지 서비스입니다. S3 버킷이라는 컨테이너에 파일을 객체 형태로 저장할 수 있는 내구성과 확장성이 뛰어난 서비스입니다. 언제든지 콘솔이나 인터넷을 통해 빠르게 파일을 검색할 수 있으며, 사실상 무한한 스토리지 용량을 제공하고 사용한 만큼만 비용을 지불합니다.
Amazon S3 Glacier: 백업 및 아카이브를 위한 저렴하고 내구성 있는 스토리지 서비스입니다. 주로 접근 빈도가 낮은 데이터를 위해 설계되었으며, 데이터 검색에는 어느 정도 시간이 소요될 수 있습니다.
Amazon Simple Email Service: SES라고도 하며, 사용하기 쉽고 비용 효율적인 애플리케이션용 이메일 솔루션입니다.
Amazon Simple Notification Service: SNS라고도 하며, AWS 클라우드에서 즉시 알림을 보내고 받는 데 사용됩니다. 다양한 AWS 서비스와 통합되어 있어 서로 다른 서비스 간의 통신을 용이하게 합니다.
Amazon Simple Queue Service: SQS라고도 하며, 클라우드에서 메시지 대기열을 호스팅할 수 있는 서비스입니다. 다른 AWS 서비스와 통합하여 SQS 대기열에서 메시지를 푸시하고 가져올 수 있습니다.
Amazon Virtual Private Cloud: VPC라고도 하며, 논리적으로 격리된 클라우드 네트워크를 구축하는 데 사용됩니다. VPC 내에서 라우팅, 보안 및 네트워크 구성을 완전히 제어할 수 있습니다.
AWS CloudFormation: YAML 또는 JSON 코드를 사용하여 AWS 리소스를 생성, 수정 및 삭제할 수 있는 코드형 인프라 서비스입니다.
AWS CDK(클라우드 개발 키트): C++, JAVA, Python과 같은 친숙한 프로그래밍 언어로 클라우드 인프라를 정의하고 프로비저닝하는 데 사용되는 오픈 소스 소프트웨어 개발 프레임워크입니다. 내부적으로 코드를 CloudFormation 템플릿으로 변환한 다음 AWS CloudFormation 서비스를 사용하여 클라우드 인프라를 프로비저닝합니다.
AWS CodePipeline: 빠르고 안정적인 애플리케이션 배포를 위한 지속적 제공 서비스입니다.
AWS CodeBuild: AWS의 서버리스 지속적 통합 서비스입니다. 리포지토리에서 코드를 가져와 테스트 및 빌드 작업을 실행하고 배포 준비 패키지를 생성하는 데 사용됩니다.
AWS CodeDeploy: 배포 준비 패키지를 사용하여 AWS 또는 온프레미스 데이터 센터의 서버에 애플리케이션을 배포하는 자동 배포 도구입니다.
AWS CodeCommit: BitBucket이나 GitHub와 같은 프라이빗 Git 리포지토리를 호스팅할 수 있는 서비스입니다.
AWS CloudTrail: 계정 내 모든 API 호출을 기록합니다. CloudTrail 콘솔에서 계정 변경 사용자 ID, API 호출 타임스탬프, 소스 IP 및 AWS의 응답을 확인할 수 있습니다.
AWS Elastic Beanstalk: 클라우드 인프라를 프로비저닝하고 관리할 필요 없이 AWS 클라우드에서 애플리케이션을 신속하게 배포하고 관리할 수 있도록 지원하는 웹 서비스입니다.

AWS Lambda: 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행할 수 있는 서버리스 컴퓨팅 서비스입니다. 다양한 AWS 서비스와 통합할 수 있어 널리 사용됩니다.
AWS Secrets Manager: AWS 서비스에 대한 자격 증명을 저장, 교체 및 암호화하는 데 사용되는 서비스입니다. 예를 들어 데이터베이스 접근에 필요한 사용자 이름과 비밀번호를 안전하게 저장하고 암호화할 수 있습니다.
AWS Snowball: 페타바이트 규모의 데이터 마이그레이션을 위한 서비스입니다. 테라바이트급 데이터를 AWS로 전송하는 데 사용할 수 있는 서류 가방 크기의 하드 디스크를 주문할 수 있습니다.

AWS 주요 용어: 일반
다음은 AWS 사용 시 알아두어야 할 몇 가지 일반적인 주요 용어 목록입니다.
액세스 제어 목록: ACL이라고도 하며, S3 버킷 데이터에 대한 접근 권한을 정의하는 문서입니다. 각 버킷에는 사용자가 버킷 데이터에 대해 수행할 수 있는 작업을 정의하는 ACL이 있습니다. 예를 들어 특정 사용자의 ‘.json’ 파일 접근을 제한하고 다른 파일에만 접근하도록 허용할 수 있습니다.
경보: AWS에서 경보는 일반적으로 AWS CloudWatch 경보를 의미합니다. CloudWatch 경보는 특정 지표를 모니터링하고, 해당 지표가 사용자가 설정한 임계값을 초과할 때 트리거되는 엔터티입니다. 경보가 트리거되면 SNS에 메시지를 보내거나 사용자 정의 작업을 수행할 수 있습니다.
정책: AWS에서 정책은 주로 IAM 정책 또는 EC2 AutoScaling 정책을 의미합니다.
- IAM 정책: IAM 사용자, 역할 또는 그룹에 적용할 수 있는 권한 문서입니다. 해당 정책이 연결된 리소스에 대한 허용 또는 거부 권한을 정의합니다.
- EC2 AutoScaling 정책: AutoScaling 그룹(ASG)에 연결되어 있으며, ASG에서 새 인스턴스를 시작하거나 종료할 시기를 결정하는 데 필요한 트리거를 정의합니다. 예를 들어 애플리케이션에 대한 네트워크 연결이 특정 임계값에 도달할 때 EC2 인스턴스를 추가하는 정책을 설정할 수 있습니다.
고객 관리형 정책: 사용자가 직접 생성하고 관리하는 IAM 정책을 의미합니다.
AWS 관리형 정책: AWS에서 생성하고 관리하는 IAM 정책을 의미합니다. 모든 계정에서 무료로 사용할 수 있는 기본 AWS 관리형 정책이 있습니다.
상태 확인: EC2 인스턴스 또는 EC2 인스턴스에서 실행 중인 애플리케이션의 상태를 확인하는 시스템입니다. 예를 들어 EC2에서 실행 중인 웹 애플리케이션에 10초마다 요청을 보내는 상태 확인을 생성할 수 있습니다. 이 요청이 실패하면 상태 확인이 실패하고, 이 상태 확인 결과를 CloudWatch 경보와 연결하여 애플리케이션 상태 수정 작업을 트리거할 수 있습니다.
엣지 로케이션: AWS 서비스가 특정 작업을 수행하는 데 사용되는 데이터 센터입니다. 예를 들어 CloudFront는 엣지 로케이션을 사용하여 정적 콘텐츠를 캐시하고 애플리케이션의 지연 시간을 줄입니다.
볼륨: AWS에서 볼륨은 주로 EBS 서비스에서 프로비저닝된 가상 블록 스토리지 장치인 EBS 볼륨을 의미합니다.
서비스 상태 대시보드: AWS 서비스의 가용성에 대한 최신 정보를 제공하는 웹 페이지입니다. 서비스 상태 대시보드를 통해 AWS 리전에서 서비스 중단이 발생했는지 확인할 수 있습니다.
Amazon 머신 이미지: AMI라고도 하며, EC2 인스턴스에 바로 설치하려는 운영 체제 및 기타 소프트웨어가 포함된 컴퓨터 루트 장치의 템플릿으로 생각할 수 있습니다.
Amazon 리소스 이름: ARN은 AWS에서 리소스를 참조하는 표준 방법입니다. 모든 AWS 리소스에는 고유한 ARN이 있습니다.
가용 영역: AZ라고도 하며, 리전 내의 독립적인 데이터 센터입니다. 각 AZ는 해당 리전의 다른 AZ 장애로부터 격리되어 있어, 여러 AZ에 걸쳐 애플리케이션 서버를 분산시키는 것이 고가용성 확보에 권장되는 방법입니다.
Auto Scaling 그룹: ASG라고도 하며, 유사한 특성을 공유하고 하나의 애플리케이션을 지원하는 여러 EC2 인스턴스의 논리적 그룹입니다. ASG는 EC2 AutoScaling 정책에 따라 자동으로 확장 및 축소할 수 있습니다.
AWS 명령줄 인터페이스: AWS CLI는 명령어를 사용하여 클라우드 리소스를 제어, 프로비저닝 및 관리할 수 있는 다운로드 가능하고 구성 가능한 도구입니다.
AWS 소프트웨어 개발 키트: AWS SDK는 애플리케이션을 AWS 서비스와 연결하기 위한 API를 제공하는 소프트웨어 패키지입니다. 예를 들어 JAVA 애플리케이션을 SQS 대기열에 연결하려면 JAVA용 AWS SQS SDK를 사용해야 합니다.
블록 장치: 고정 크기 블록의 데이터를 읽고 쓸 수 있는 저장 장치를 의미합니다.
버킷: AWS S3에서 객체(파일)를 저장하는 논리적 컨테이너(폴더와 유사)를 의미합니다. AWS S3 콘솔을 사용하여 버킷을 생성할 수 있습니다.
버킷 소유자: AWS S3 버킷을 소유한 조직 또는 개인을 의미합니다. 버킷 이름은 전역적으로 고유해야 하며, 서로 다른 AWS 계정에서도 동일한 이름을 가진 버킷을 생성할 수 없습니다. 예를 들어 내 계정에 my-koreantech.org-bucket이라는 버킷이 있다면, 내가 해당 버킷의 소유자이며 다른 AWS 계정에서 동일한 이름의 버킷을 생성할 수 없습니다.
CIDR 블록: 동일한 접두사를 공유하는 IP 주소 그룹을 의미합니다. 예를 들어, 10.0.0.0/8은 10.0.0.0에서 10.255.255.255까지의 IP 주소를 포함하는 CIDR 블록입니다.
지속적 전달: 프로덕션 릴리스를 위해 코드 변경 사항을 자동으로 빌드, 테스트 및 준비하는 DevOps 소프트웨어 개발 방법입니다. 이 용어는 AWS에만 국한되지 않습니다.
지속적 통합: 정기적으로 코드 변경 사항을 중앙 리포지토리에 병합하는 DevOps 소프트웨어 개발 방법입니다.
교차 계정 접근: 다른 AWS 계정의 사용자가 현재 계정의 리소스를 사용할 수 있도록 허용하는 프로세스입니다. 예를 들어, 다른 계정 사용자가 현재 계정의 S3 버킷 일부 데이터에 접근하도록 할 수 있습니다. 이를 위해서는 해당 계정 사용자에게 교차 계정 접근 권한을 부여해야 합니다.
교차 리전 복제: CRR이라고도 하며, 한 리전의 버킷 변경 사항을 다른 AWS 리전의 다른 버킷으로 비동기적으로 복제하는 AWS S3의 기능입니다. 데이터 공유를 위해 다른 AWS 리전으로 데이터를 복제하는 것을 의미하기도 합니다.
고객 마스터 키: CMK라고도 하며, AWS Key Management Service에서 관리하는 암호화 키입니다.
DB 스냅샷: 일반적으로 AWS S3에 저장되는 데이터베이스의 특정 시점 백업을 의미합니다.
전용 호스트: 전용 물리적 서버를 의미하며, 사용자가 인스턴스가 전용 호스트 서버에 배치되는 방식에 대한 제어 및 가시성을 제공합니다.
전용 인스턴스: 사용자가 지정한 물리적 호스트에 배포되는 인스턴스를 의미합니다. 전용 인스턴스를 사용하는 경우 인스턴스 배치에 대한 제어 또는 가시성은 없습니다. AWS는 전용 호스트 EC2 인스턴스가 호스트 하드웨어 수준에서 물리적으로 격리되도록 합니다.
암호 해독: 암호화된 데이터를 암호화 키를 사용하여 이해하기 쉬운 형태로 만드는 프로세스입니다.
암호화: 수학적 알고리즘을 사용하여 데이터를 이해할 수 없도록 만들어 허가받지 않은 사용자가 데이터에서 정보를 얻는 것을 방지하는 프로세스입니다. 악의적인 사용자가 암호화된 데이터를 얻더라도 해독하지 않고는 데이터를 읽을 수 없습니다.
IAM 그룹: IAM 사용자의 논리적 그룹입니다. 여러 사용자에 대한 정책 연결을 단순화하는 데 사용됩니다. 예를 들어 ‘개발자 정책’을 ‘개발자’ IAM 그룹에 연결하면, AWS는 이 정책을 해당 그룹의 모든 IAM 사용자에게 적용합니다.
IAM 정책 시뮬레이터: IAM 정책을 테스트하고 문제를 해결할 수 있는 IAM 도구입니다.
IAM 역할: AWS 서비스에 접근 권한을 부여하는 데 사용되는 엔터티입니다. 예를 들어 S3 읽기 권한을 가진 정책을 생성하고, 이 정책을 역할에 연결할 수 있습니다. 그 후 이 역할을 EC2 또는 AWS Lamba와 같은 AWS 서비스에 할당하여 S3에서 읽기 작업을 수행할 수 있습니다.
IAM 사용자: 사람이 AWS 서비스에 접근할 수 있게 하는 데 사용되는 엔터티입니다. 예를 들어 팀의 다른 구성원이 AWS 계정에 접근할 수 있도록 하려면, 해당 사용자에 대한 IAM 사용자를 적절한 정책과 함께 생성해야 합니다. 이렇게 생성된 사용자 이름과 암호를 팀원에게 제공하여 AWS에 로그인하도록 할 수 있습니다.
인스턴스 스토어: EC2 인스턴스 호스트에 물리적으로 연결된 디스크 스토리지입니다. EBS와 같은 다른 AWS 스토리지 서비스는 네트워크를 통해 EC2에 연결됩니다. 일부 EC2 인스턴스 유형에는 빠른 데이터 접근을 위한 인스턴스 스토어가 포함되어 있습니다.
인터넷 게이트웨이: VPC에 연결하여 VPC 내에서 생성된 리소스에 대한 인터넷 접근을 제공하는 가상 장치입니다.
로드 밸런서: 데이터베이스, EC2 인스턴스, 온프레미스 서버 등과 같은 여러 엔드포인트에 요청을 분산하는 데 사용되는 가상 장치/머신입니다.
객체: AWS S3에 저장된 파일을 객체라고 합니다.
온디맨드 인스턴스: 장기 약정 없이 필요할 때 프로비저닝하는 EC2 인스턴스를 의미합니다.
예약 인스턴스: 장기 약정을 통해 프로비저닝하는 EC2 인스턴스를 의미합니다. 온디맨드 인스턴스에 비해 할인된 가격(최대 70%)으로 사용할 수 있습니다. 사용 여부와 상관없이 전체 기간 동안 비용을 지불합니다.
주체: 정책에서 언급된 엔터티입니다. 예를 들어 IAM 사용자에게 S3 버킷에서 읽기 작업을 수행할 수 있는 권한을 부여하는 시나리오에서 IAM 사용자가 주체가 됩니다. 주체는 사용자, 서비스 또는 다른 AWS 계정일 수 있습니다.
리전: AWS 데이터 센터가 위치한 전 세계의 물리적 지리적 위치입니다.
서브넷: VPC CIDR 블록의 논리적 부분으로, AWS 리소스를 시작할 수 있는 네트워크입니다. 보안 및 네트워크 요구 사항에 따라 리소스를 그룹화하는 데 도움이 됩니다.
라우팅 테이블: 서브넷을 떠나는 트래픽을 제어하는 라우팅 테이블 세트입니다.
공용 서브넷: 인터넷 게이트웨이에 대한 라우팅 테이블 항목이 있는 서브넷입니다. 공용 서브넷의 리소스는 인터넷을 통해 접근할 수 있으며, 사용자용 애플리케이션과 리소스를 이 서브넷에 배포해야 합니다.
프라이빗 서브넷: 인터넷 게이트웨이에 접근하기 위한 라우팅 테이블 규칙이 없는 서브넷입니다. 프라이빗 서브넷의 리소스는 VPC 내의 다른 리소스에서만 접근할 수 있으며, 백엔드 애플리케이션과 데이터베이스를 이 서브넷에 배포해야 합니다.
스케일 인: 서비스 용량을 줄이는 것을 의미하며, 예를 들어 AutoScaling 그룹에서 인스턴스를 종료하는 것을 말합니다.
스케일 아웃: 서비스 용량을 늘리는 것을 의미하며, 예를 들어 AutoScaling 그룹에서 인스턴스를 시작하는 것을 말합니다.
수직 확장: 1GB RAM 인스턴스를 5GB RAM으로 변경하는 것과 같이 인스턴스 또는 리소스의 크기를 변경하여 확장하는 것을 의미합니다.
수평 확장: 인스턴스 또는 리소스의 수를 변경하여 확장하는 것을 의미합니다. AutoScaling 그룹에서 인스턴스를 시작하거나 종료하는 것이 그 예입니다.
보안 그룹: AWS 리소스 안팎으로 트래픽을 허용하는 논리적인 인바운드 및 아웃바운드 규칙 세트입니다. 예를 들어, EC2 인스턴스에 보안 그룹을 연결하고 포트 80을 통한 HTTP 연결을 허용하는 인바운드 규칙을 생성할 수 있습니다. 이렇게 하면 해당 인스턴스가 웹 트래픽을 처리할 수 있습니다. 보안 그룹은 AWS에서 널리 사용됩니다.
고정 세션: 한 사용자 세션의 모든 요청을 특정 EC2 인스턴스로 라우팅하는 로드 밸런서의 기능입니다.
서버 측 암호화: 온프레미스 서버가 아닌 AWS에서 암호화 작업을 실행하는 것을 의미합니다. 일반적으로 AWS KMS의 키를 사용하거나 로컬 시스템의 키를 제공하여 S3의 파일을 암호화하는 S3의 암호화 모드를 나타내는 데 사용됩니다.
클라이언트 측 암호화: AWS로 데이터를 전송하기 전에 온프레미스 서버에서 암호화하는 것을 의미합니다.
태그: 대부분의 AWS 서비스에는 태그라는 메타데이터 키-값 쌍이 있습니다.
전송 계층 보안: TLS는 인터넷을 통한 통신에 보안을 제공하는 암호화 프로토콜입니다.
VPC 엔드포인트: 인터넷을 통해 접근할 필요 없이 VPC와 다른 AWS 서비스 간에 프라이빗 연결을 생성하는 데 사용할 수 있는 기능입니다. 예를 들어 S3 버킷은 VPC 내부에서 생성되지 않으므로 AWS VPC의 인스턴스는 인터넷을 통해 로컬 컴퓨터에서 버킷에 접근하는 것과 같이 S3 버킷에 접근해야 합니다. VPC 엔드포인트 기능을 사용하면 VPC 인스턴스가 S3 버킷에 안전하게 접근할 수 있도록 프라이빗 연결을 생성할 수 있습니다.
이상으로 AWS 주요 용어에 대한 설명을 마치겠습니다. 이 글이 AWS 서비스와 주요 기능에 대한 기본적인 이해를 높이는 데 도움이 되었기를 바랍니다.
다음은 AWS 약어 및 축약어 목록입니다.