AWS 주요 서비스 훑어보기
해당 시기에 잘 몰랐던 내용을 위주로 정리했기 때문에 기존에 알고 있던 부분에 대해서 기록되어 있지 않습니다.
IAM(Identity and Access Management)
AWS에서 사용자, 그룹 및 역할을 생성하고 관리하여 리소스에 대한 엑세스를 안전하게 제어할 수 있는 기능입니다.
IAM 주요 보안 기능
- 인증: AWS 리소스 엑세스 권한에 대한 인증
- 권한 부여: IAM 정책을 사용하여 사용자 또는 그룹을 대상으로 권한을 지정할 수 있습니다.
- 권한 검증: 각 권한에 대한 엑세스 요청에 대한 검증 기능을 의미합니다.
USER, GROUP, POLICY
- USER: IAM 서비스를 통해 개인별 자격 증명 생성 및 엑세스 권한이 부여되는 단위를 의미합니다.
- GROUP: 다수를 대상으로 공통된 권한을 부여하기 위해 사용되는 단위를 의미합니다. 이는 각 USER 중 유사한 권한을 가진 여러 사용자들에게 공통된 권한을 부여하기 위해 주로 사용되며 그룹 단위로 사용자, 권한을 관리하기에 용이합니다.
- POLICY: 권한 설정을 위한 정책을 의미합니다. 이는 JSON 형식으로 작성되며 AWS 리소스에 대한 허용/거부, 더 나아가서는 권한 수준도 지정합니다. IAM 정책은 최소 권한 원칙을 준수합니다. 즉 오직 필요한 권한만 부여하여 보안을 강화합니다.
권한정책 작성 예시
{
"Version": "policy-version",
"Statement": [
{
"Effect": "allow-or-deny",
"Action": ["action-name"],
"Resource": ["resource-arn"],
"Condition": {
"condition-operator": {
"condition-key": "condition-value"
}
}
}
]
}
상세 내역
Version: 정책의 버전을 나타냅니다. 현재는 "2012-10-17" 에서 고정되었습니다.
Statement
: 정책의 규칙을 나타냅니다. 배열 형태로 여러 개의 규칙을 작성할 수 있습니다.Effect
: 규칙의 적용 여부를 나타냅니다. "allow" 또는 "deny" 중 하나를 선택합니다.Action
: 규칙이 적용되는 작업의 종류를 나타냅니다. 예를 들어 "s3:ListBucket"과 같은 형식으로 작성합니다.Resource
: 규칙이 적용되는 리소스의 ARN (Amazon Resource Name)을 나타냅니다. 예를 들어 "arn:aws:s3:::my-bucket/*"과 같은 형식으로 작성합니다.Condition
: 규칙이 적용되는 조건을 나타냅니다. 필수는 아니며, 필요한 경우 추가할 수 있습니다. 다양한 조건 연산자를 사용할 수 있습니다. 예를 들어 "IpAddress" 조건 연산자를 사용하면 특정 IP 주소에서만 작업을 수행할 수 있도록 제한할 수 있습니다.
EC2
고정 IP 획득하기
Network & Security의 Elastic IPs
라는 항목을 통해 현재 할당받은 IP를 독점할 수 있습니다. 하지만 예상하시는 바와 같이 독점하는 기간에는 요금이 발생합니다. 이를 설정하지 않는다면 인스턴트 중지 및 재실행 시 IP가 변경됩니다.
AMI
EC2 인스턴스 생성 시 OS 선택란이 있는데 이는 AMI에 속합니다. 즉 인스턴스에 디폴트로 설치될 요소 (OS+@소프트웨어)의 모음을 의미합니다. EC2로 Ubuntu를 설치하면 기본적으로 python이 설치되어 있습니다. 이는 AMI에 Ubuntu와 python 설치가 포함되어 있기 때문입니다.
나만의 AMI 구성하기
EC2 인스턴스 생성 후 추가적인 default 설정이나 프로그램 설치를 한 뒤 이를 기반으로 AMI를 생성할 수 있습니다. 그래서 해당 AMI 기반 인스턴스 생성을 하면 완전히 동일한 상태의 인스턴스를 갖게 됩니다. 이는 EBS 스냅샷을 활용한 기능입니다.
EBS
Elastic Block Store는 EC2에 연결되는 블록 수준의 스토리지 볼륨(컴퓨터로 치면 하드디스크 같은)입니다. EBS 볼륨은 네트워크를 통해 연결되므로 EC2 인스턴스 생성 시 함께 생성되어 연결됩니다. 그래서 인스턴스 생성 시 옵션을 통해 EC2를 종료하더라도 EBS는 남아있게 설정할 수 있습니다.
🚨 주의
EC2 생성 시 default 옵션으로 EBS 종료 시 EBS 함께 종료하도록 설정되어 있습니다. 하지만 EBS를 개별적으로 생성한다면 이러한 옵션이 적용되어 있지 않습니다. 그러므로 EC2 프리티어 사용 시 최대 30GB까지 무료 제공이 될텐데 이 용량에서 따로 생성한 EBS도 포함시켜야 합니다. 만약 10GB짜리 EBS가 따로 생성되어 있는 상태에서 EC2 인스턴스를 30GB로 생성한다면 총합이 40GB가 되므로 추가 요금이 발생합니다.
'백엔드 개발자(node.js)가 되는 과정' 카테고리의 다른 글
타입스크립트에서 클래스 활용하기 (upcasting, downcasting, abstract) (0) | 2023.07.31 |
---|---|
타입스크립트(typescript) 활용을 위한 기본 (0) | 2023.07.26 |
[WIL] 23. 07. 18 ~ 23. 07. 23 프로젝트 회고 (0) | 2023.07.24 |
[express] AWS S3 버킷에 이미지 저장하기 (0) | 2023.07.13 |
socket.io로 간단한 채팅 페이지 구현하기 (0) | 2023.07.12 |