23.08.02
AWS(Amazon Web Services) : 아마존닷컴이 제공하는 클라우드 컴퓨팅 플랫폼
AWS 링크
AWS 리전(Region) : 세계 각지에 있는 AWS 데이터 센터의 물리적인 위치를 의미
가용영역(Availability Zone, AZ) : 하나의 리전 안에는 여러가지 가용영역(AZ)으로 구성
=> 즉, 여기서 AZ는 쉽게 데이터 센터라고 생각하면 좋고 각 데이터 센터에는 각각의 전력이나 네트워크같은 인프라들이 별도로 존재하게 하면서 고가용성을 유지함
IAM(Identity and Access Management) : Route53과 같이 글로벌 서비스
회원가입시 사용한 Root Account는 사용/공유되면 안됨
=> 왜 ? Root Account가 공개가 된다면 악용될 수 있기 때문에, 계정관리를 소중히 해줘야 함
그래서 Root Account를 사용하는 것이 아닌 User(실제 로그인하는 사람)와 Group(개발자 / 운영과 같이 유저 종류를 지정)을 만들어서 사용해야 함
(User는 Group에 속할 수도 속하지 않을 수도 있음)
이렇게 만들어진 Group과 User들은 Policy를 통해 AWS 리소스에 대한 액세스 권한을 지정
=> 이때, 권한은 최소한의 권한 원칙을 지켜야함 (필요 이상의 권한을 주면 안됨)
Provides full access to AWS services an : 모든 권한을 주는 관리자 권한
Account = Root Account = 컴퓨터
User = Account에 접근하기 위한 세부 User
Policy Structure
{
"Version": "policy-version",
"Statement": [
{
"Effect": "allow-or-deny",
"Action": ["action-name"],
"Resource": ["resource-arn"],
"Condition": {
"condition-operator": {
"condition-key": "condition-value"
}
}
}
]
}
MFA(Multi-Factor Authentication) : 다중 인증 요소 인증 방식을 의미, 즉 일반적인 사용자 ID와 비밀번호 입력 외에 추가적인 인증 요소를 요구하여 보안을 강화하는 방법
(ex. 이메일과 비밀번호를 입력했을 때 다시 핸드폰으로 push 알림이 와서 추가적인 이중 인증을 하는 것)
=> 왜 ? 현대에서는 비밀번호로만 인증을 한다면 보안에 너무 취약하기 때문에
AWS 계정 사용량과 비용을 모니터링하고, 요금 청구 정보를 제공하는 서비스
EC2 (Elastic Compute Cloud) : 필요에 따라 탄력적으로(유연하게) 성능을 제공해주는 클라우드 컴퓨팅 서비스
클라우드 서비스의 종류
IaaS (Infrastructure as a Service) : 하드웨어 인프라를 인터넷을 통해 제공하는 서비스 => 즉, 서버를 제공해주는 클라우드 서비스 => 이를 사용하면 우리는 비싼 서버 컴퓨터를 구매할 필요가 없어짐 !
ex. AWS EC2, Microsoft Azure, Google Compute Engine
PaaS (Platform as a Service) : 하드웨어 인프라를 기반으로 애플리케이션을 개발, 실행, 관리하기 위한 플랫폼(환경)을 인터넷을 통해 제공하는 서비스
ex. AWS Elastic Beanstalk, Heroku, Google App Engine 등이 PaaS 서비스를 제공합니다.
SaaS (Software as a Service): SaaS는 사용자에게 완전한 애플리케이션을 제공하며, 이 애플리케이션은 클라우드 제공업체의 서버에서 실행되며 클라우드 제공업체가 모든 인프라, 운영 체제, 백엔드 애플리케이션 및 데이터 관리를 담당 => 즉, 사용자는 필요한 소프트웨어 서비스만 제공받음
ex. 구글 드라이브, 마이크로소프트 오피스 365, Salesforce 등이 SaaS 서비스의 예입니다.
AWS EC2는 가상 서버 인스턴스를 제공해주는데 이에 따라 필요한 시간만큼 가상 서버를 생성하고 사용할 수 있으며, 필요에 따라 스케일 업 또는 스케일 다운할 수 있음
그렇다면 여기서 인스턴스란 ? 가상화된 컴퓨터 환경을 의미 => 이 환경은 실제로는 하드웨어 리소스를 가상화하여 사용하고 있기 때문에, 하드웨어 상에서 실행 중인 물리적인 서버와는 다름 =>따라서, 이러한 가상화된 컴퓨터 환경을 "인스턴스(instance)" 라고 부름 => 각 인스턴스는 독립적으로 실행되고 관리
EC2 용도
EC2의 옵션들
인스턴스 유형 타입
인스턴스 유형 타입
t2.nano micro small medium large large 2xlarge … 등
=> t2. 다음은 인스턴트 사이즈
Ubuntu : 서버용으로 많이 사용하는 Linux의 한 종류
RSA : key pair을 만드는 것은 우리의 컴퓨터에서 해당 인스턴스에 접속할 때 데이터들을 암호화해주는 알고리즘을 지정해주는 것 ???
보안규칙
포트
인스턴스 커넥트에서 접근하는 것이 아닌 터미널에서 접근하면 됨
EBS (Elastic Block Store) : Amazon EC2 인스턴스에 연결할 수 있는 블록 수준 스토리지 볼륨
EBS 볼륨은 네트워크를 통해 Amazon EC2 인스턴스에 연결되므로 데이터 지속성, 스냅샷 백업 및 다른 인스턴스에서 쉽게 사용할 수 있음
EBS 볼륨은 데이터의 지속성을 보장하기 위해 AWS 내에서 복제 및 백업되므로 안정적이고 내결함성이 높은 스토리지 옵션
(시기별 백업 용도로 사용하기위해 EBS Snapshot을 만듦)
EBS 특징
+) Elastic Bean Sotck도 EBS라 불리므로 상황에 맞게 의미를 잘 생각해야함
EBS(Elastic Block Store) 스냅샷(Snapshot) : EBS 볼륨의 데이터를 백업하는 데 사용되는 Amazon Web Services(AWS)의 기능
스냅샷은 EBS 볼륨의 데이터를 인스턴스 내에서 복제하고, 이를 S3에 저장
스냅샷은 EBS 볼륨의 모든 데이터를 포함하므로, 데이터를 백업하고 나중에 이전 상태로 복원
EBS 스냅샷 용도
AMI(Amazon Machine Image)
AMI 특징
EBS와 AMI의 차이
Amazon Elastic Block Store (EBS)와 Amazon Machine Image (AMI)는 Amazon Web Services (AWS)에서 사용되는 서비스