728x90
반응형

What's an EBS Volume?

EBS(Elastic Block Store): 인스턴스가 실행 중인 동안 연결 가능한 네트워크 드라이브

특정 가용 영역에서만 가능(us-east-1a에서 생성한 경우 us-east-1b에서는 생성 불가)

네트워크 USB stick

EBS Volume

네트워크 드라이브, 특정한 AZ에 위치해서 us-east-1a 볼륨이 us-east-1b로 연결 불가(스냅샷을 이용하면 가능)

EBS - Delete on Termination attribute

Delete on Termination 기능이 root 볼륨에는 설정되어 있으며, 새로운 EBS 볼륨에는 체크되어 있지 않다.
- root에서는 인스턴스 종료와 함께 EBS 볼륨이 삭제된다.

이 옵션으로 EC2 인스턴스 종료 시 EBS 행동을 제어할 수 있다.

Use case: 인스턴스가 종료될 때 루트 볼륨을 유지하고자 하는 경우(데이터를 저장할 경우), 루트 볼륨 삭제 속성을 비활성화 한다.

hands-on

+ search > format EBS volume attach EC2

EBS 볼륨의 가용 영역을 인스턴스와 맞춰줘야 한다.

EBS Snapshots Features

최대 75%까지 저렴한 archive tier, 스냅샷을 옮길 수 있는 기능
아카이브를 복원하는 데 24시간에서 최대 72시간이 걸린다.

EBS 휴지통: 스냅샷 삭제 시 recycle bin으로 이동(보관 기간: 1일 ~ 1년)
FSR(빠른 스냅샷 복원): 지연시간 없애는 기능

AMI Overview

아마존 머신 이미지, EC2 인스턴스를 통해 만든 이미지를 통칭

EC2 Instance Store

EC2 인스턴스는 가상 머신이지만 실제로는 하드웨어 서버에 연결되어 있다.
장기적으로 데이터를 저장할 스토리지는 될 수 없다.(장기 스토리지: EBS)

EBS Volume Types

gp2/gp3 (SSD): 범용 SSD 그룹, 절충안

io1/io2 (SSD): 최고 성능, 지연 시간이 낮음

st1 (HDD): 저비용

sc1 (HDD): 가장 비용이 적게 드는 볼륨

EBS Volume Types Use cases General Purpose SSD

범용 gp2, IOPS 프로비저닝

gp2: 짧은 지연 시간, 효율적인 비용의 스토리지

시스템 부팅 볼륨에서 크기는 1GiB - 16TiB

gp2/gp3가 비용 효과적인 스토리지

gp3에서는 IOPS 처리량을 독자적으로 설정할 수 있음

EBS Volume Types Use cases

데이터베이스 워크로드에 적합(스토리지를 이용하는 경우)

EBS Multi-Attach - io1/io2 family

하나의 EBS 볼륨을 같은 가용 영역에 있는 여러 EC2 인스턴스에 연결할 수 있도록 한다. 

각 인스턴스는 고성능 볼륨에 대한 high-performance volume을 갖는다.

해당 가용 영역 내에서만 EBS 볼륨 연결 가능

한 번에 16개의 EC2 인스턴스만 같은 볼륨에 연결할 수 있다.

EBS Encryption

저장 데이터가 볼륨 내부에 암호화된다
암호화가 동시다발적으로 일어난다.

암호화는 지연 시간에는 거의 영향이 없다.

KMS에서 암호화 키를 생성해 AES-256 암호화 표준을 갖는다.

스냅샷을 복사해 암호화를 푼걸 다시 암호화 활성화한다.

Encryption: encrypt an unencrypted EBS volume

EBS 볼륨 암호화 및 암호화 풀기

볼륨의 EBS 스냅샷을 생성하고, 복사 기능을 통해 EBS 스냅샷을 암호화한다.
-> 스냅샷을 이용해 새 EBS 볼륨을 생성하면 해당 볼륨도 암호화된다.
-> 암호화된 볼륨을 인스턴스 원본에 연결한다.

Amazon EFS - Elastic File System

EFS: 관리형 NFS, 네트워크 파일 시스템

네트워크 파일 시스템이므로 많은 EC2 인스턴스에 마운트될 수 있다.

EC2 인스턴스는 서로 다른 가용성 영역에 있을 수 있다.

가용성이 높고 확장성이 뛰어나며 가격이 비싸다.

Amazon EFS - Elastic File System

사용 사례: 콘텐츠 관리, 웹 서빙, 데이터 공유, wordpress

내부적으로 NFS 프로토콜을 사용한다.

윈도우가 아닌 Linux 기반 AMI와만 호환된다.

EFS - Storage Classes

언제 EFS를 사용해야 하는지, 네트워크 파일 시스템에 어떤 옵션을 설정해야 하는지 - 요구사항을 준수하고 검증

EBS vs EFS - Elastic Block Storage

EBS 볼륨과 EFS 파일 시스템의 차이

EBS 볼륨

1)한 번에 하나의 인스턴스에 첨부된다. (io1, io2 유형 볼륨의 다중 첨부 기능을 사용하는 경우 제외)

2) AZ 수준에서 잠긴다.

...

EFS는 EBS보다 가격대가 높다.

 

[Quiz#04]

1) us-east-1a에서의 EC2 인스턴스를 종료하여, 이 인스턴스에 연결된 EBS 볼륨을 사용할 수 있게 되었다. 팀원이 us-east-1b의 EC2 인스턴스에 이 볼륨을 연결하려 했으나, 연결이 불가능한 상태이다. 이 경우, EBS 볼륨은 가용 영역으로 제한되어 있으므로(특정 AZ에 맞춰 생성되므로) 스냅샷을 활용하여 다른 AZ 간의 이전을 가능하게 한다.

2) AMI는 특정 AWS 리전에 국한되고, 각 AWS 리전에는 고유한 AMI가 있다.

3) EC2 인스턴스를 생성할 때 부팅 볼륨으로는 gp2, gp3, io1, io2, Magnetic(표준) EBS 볼륨 유형만을 사용할 수 있다.

4) EBS 다중 연결이란? 동일한 EBS 볼륨을 동일한 AZ에 있는 다수의 EC2 인스턴스에 연결할 수 있다.

5) EFS는 네트워크 파일 시스템(NFS)으로 여러 AZ 상에 있는 EC2 인스턴스에 동일한 파일 시스템을 마운트할 수 있게 해준다.

6) EC2 인스턴스 스토어는 최적의 디스크 I/O 성능을 제공한다.(EC2 인스턴스 종료 시, 캐시가 소실되어도 문제가 없는 상황)

7) 기반 스토리지에 310,000의 IOPS가 필요한 고성능 데이터베이스를 실행할 경우, 이는 IOPS 기준이므로 EC2 인스턴스 스토어를 선택해야 한다.

- EC2 인스턴스에서 데이터베이스를 인스턴스 스토어를 사용하여 실행 가능하지만, EC2 인스턴스가 중지 시 데이터가 손실이라는 문제가 있다 (문제 없이 다시 시작할 수 있음). 한 가지 솔루션은 인스턴스 스토어가 있는 다른 EC2 인스턴스에서 복제 메커니즘을 설정하여 대기 복사본을 가질 수 있다는 것다. 또 다른 솔루션은 데이터에 대한 백업 메커니즘을 설정하는 것입니다. 요구 사항을 검증하기 위해 아키텍처를 설정하는 방법은 모두 사용자에게 달려 있다.

 

References

Udemy, Ultimate AWS Certified Solutions Architect Associate SAA-C03, Section 7

 

728x90
728x90

'Networking > AWS' 카테고리의 다른 글

[AWS] SAA-C03#08: VPC lab(1)  (0) 2024.06.28
[AWS] SAA-C03#07: ELB & ASG  (0) 2024.06.25
[AWS] SAA-C03#05: EC2 - solution architect associate level  (0) 2024.06.19
[AWS] SAA-C03#04: EC2  (0) 2024.06.18
[AWS] SAA-C03#03: IAM, CLI/CloudShell  (0) 2024.06.18
728x90
반응형

Placements Groups

Cluster, Spread(분산, 각 EC2 인스턴스가 여러 AZ에 걸쳐 서로 다른 물리적 하드웨어(랙)에 배치), Partition(분할)

 

hands-on

EC2- Network & security > Placement Groups

Launch an instance > Advanced details - Placement group에서 설정

Elastic Network Interfaces (ENI)

VPC의 논리적 구성 요소, 가상 네트워크 카드
EC2 인스턴스가 네트워크에 액세스할 수 있게 해준다.

https://aws.amazon.com/blogs/aws/new-elastic-network-interfaces-in-the-virtual-private-cloud/

EC2 Hibernate

절전 모드, 인스턴스 부팅이 빨라진다.

백그라운드에서 RAM에 기록되었던 인 메모리 상태는 루트 경로의 EBS 볼륨에 기록된다.

인스턴스를 종료하면 RAM은 삭제되지만, EBS 볼륨에는 여전히 RAM이 덤프된 게 있으니 인스턴스를 다시 실행하면 디스크에서 RAM을 불러와 EC2 인스턴스 메모리로 가져간다.

 

hands--on

Launch an instance > Advanced details - Stop-Hibernate behavior: Enable

루트 볼륨에 RAM을 저장할 수 있는 공간, 즉 EC2 인스턴스를 저장할 공간이 충분한지 확인 루트 EBS 볼륨이 암호화되었는지 확인

-> Configure storage - Advanced 설정

EC2 Instance connect 시 최근 재시작부터 가동된 시간

uptime

 

[Quiz#03]

탄력적 네트워크 인터페이스(ENI)는 다른 AZ에 있는 EC2 인스턴스와 연결될 수 없다.(특정 AZ로 국한된다.)

EC2 인스턴스 RAM은 150GB 미만이어야 함, 절전 모드를 활성화하기 위해서는 EC2 인스턴스 루트 볼륨 유형은 EBS 볼륨이어야 함
EC2 절전 모드는 온디맨드 및 예약 인스턴스를 지원함

 

References

Udemy, Ultimate AWS Certified Solutions Architect Associate SAA-C03

 

728x90
728x90

'Networking > AWS' 카테고리의 다른 글

[AWS] SAA-C03#07: ELB & ASG  (0) 2024.06.25
[AWS] SAA-C03#06: EC2 instance storage  (0) 2024.06.21
[AWS] SAA-C03#04: EC2  (0) 2024.06.18
[AWS] SAA-C03#03: IAM, CLI/CloudShell  (0) 2024.06.18
[AWS] SAA-C03#02: IAM  (0) 2024.06.17
728x90
반응형

Amazon EC2

EC2: Elastic compute cloud, AWS에서 제공하는 서비스형 infrastructure

EC2 sizing & configuration options

AWS에서 임대하는 가상 서버인 EC2에서 어떤 것을 선택? EC2 인스턴스 운영체제로 어떤 것을 선택?

OS: Linux, Windows, Mac OS

CPU(compute power & cores), RAM(random-access memory), 부트스트랩 스크립트 등

EC2 User Data

bootstrapping: 머신이 작동될 때 명령을 시작하는 것, 스크립트는 처음 실행할 때 시작

사용자 데이터 스크립트에 작업을 추가할수록 부팅 시 인스턴스가 할 일이 늘어난다.

모든 명령문은 sudo로 실행된다.

EC2 instance types: example

네트워크 성능은 낮음에서 중간 사이

t2 제품군에서 large로 변환하면, 네트워크 성능은 중간, c5d.4xlarge는 CPU, memory, storage 등 달라진다.

t2.micro가 AWS 프리티어

Hands-On: Launching an EC2 Instance running Linux

EC2 인스턴스에서 웹 서버 생성

User data

#!/bin/bash
# Use this for your user data (script from top to bottom)
# install httpd (Linux 2 version)
yum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html

인스턴스 수명 주기 중 단 한번만 실행, 몇 가지를 업데이트하고 HTTP 코드

EC2 Instance Types - Overview

https://aws.amazon.com/ec2/instance-types

 

컴퓨팅 - Amazon EC2 인스턴스 유형 - AWS

 

aws.amazon.com

AWS naming convention: example - m5.2xlarge

m: instance class
5: generation
2xlarge: 더 많은 메모리와 사이즈

EC2 Instance Types

compute-intensive tasks
ec2instances.info

Introduction to Security Groups

보안 그룹, 허용 규칙만 포함된다. 보안 그룹끼리 참조할 수도 있다.

EC2 인스턴스에 액세스하려고 할 경우 인스턴스 주변 보안 그룹을 생성해야 한다.(방화벽 생성) -> 보안 그룹은 규칙을 가지게 된다. 그 규칙은 인바운드 트래픽의 여부인데, 외부에서 EC2 인스턴스로 들어오는 것이 허용되면 아웃바운드 트래픽도 수행할 수 있다. 현재 위치에서 인터넷으로 들어오는 것.

Security Groups Deeper Dive

보안 그룹은 EC2 인스턴스의 방화벽이다. 포트로의 액세스를 통제하며 인증된 IP 주소의 범위를 확인해 IPv4인지 IPv6인지 확인한다.

인바운드 네트워크/아웃바운드 네트워크를 통제한다.

Security Groups Good to know

여러 인스턴스에 연결할 수 있다.
보안 그룹과 인스턴스 간의 일대일 관계는 없다.

여러 보안 그룹을 연결할 수 있다.

지역을 전환하면 새 보안 그룹을 생성하거나 다른 VPC를 생성해야 한다.

보안 그룹은 EC2 외부에 있다. -> 트래픽이 차단되면 EC2 인스턴스로는 확인할 수 없다. (EC2 외부의 방화벽이므로)

SSH 액세스를 위해 하나의 별도 보안 그룹을 유지하는 것이 좋다.

time out으로 애플리케이션에 접근할 수 없으면, 보안 그룹의 문제이다.

연결 거부 오류(connection refused)이면 트래픽은 통과했지만, 애플리케이션 문제이거나 실행되지 않는 등 문제이다.

기본적으로 인바운드 트래픽은 blocked, 아웃바운드 트래픽은 authorised

Referencing other security groups Diagram

인바운드 큐칙은 보안 그룹 1의 인바운드를 보안 그룹 2에 허용하는 것
로드 밸런서에서도 나온다.

Classic Ports to know

22: SSH(리눅스 인스턴스 로그인 시)

21: FTP / 22: SFTP / 80: HTTP / 443: HTTPS

3389: RDP(Remote Desktop Protocol, 윈도우 인스턴스에 로그인 시 사용)

 

HTTP, SSH 등 어떤 것을 시도할 때 time out이 되면, 100% EC2 보안 그룹 때문이다.(EC2 > Security Groups)

How to SSH into your EC2 Instance

ssh ec2-user@(public ipv4 address)
ssh -i EC2Tutorial.pem ec2-user@(public ipv4 address)
chmod 0400 EC2Tutorial.pem (소유자의 읽기 권한)

 

aws iam list-users 안되는 경우, 자격증명을 찾을 수 없어 aws configure 실행

개인 정보를 입력해두면 이 계정 상의 누구라도 다시 EC2 인스턴스 커넥트 등을 통해 EC2 인스턴스에 접근해서 자격 증명 정보를 실행할 수 있음 -> IAM API key 입력하지 말 것

그 대신 IAM role 이용: 역할을 EC2 인스턴스에 연결해서 자격 증명을 제공

Instances > Actions > Security - Modify IAM role

EC2 Spot Instances

Not suitable for critical jobs or databases

EC2 Dedicated Instances

전용 인스턴스란 자신만의 인스턴스를 자신만의 하드웨어에 갖는다는 것인 반면,

전용 호스트는 물리적 서버 자체에 대한 접근권을 갖고 낮은 수준의 하드웨어에 대한 가시성을 제공해준다.

Which purchasing option is right for me?

On demand - Reserved - Saving Plans - Spot instances - Dedicated Hosts - Capacity Reservations

How to terminate Spot Instances?

원하는 인스턴스 수, 최대 가격, 시작 사양 등 정의 (AMI 등), 언제부터 언제까지 유효한지 등
일회성 요청 or 영구 인스턴스 요청
일회성 요청: 스팟 요청 시 인스턴스 생성 및 스팟 요청은 사라짐
영구 요청: 스팟 요청이 유효한 기간 동안 인스턴스 수도 유효함, 인스턴스가 중지되거나 스팟 가격 기준으로 종료되는 경우

스팟 요청을 취소하고 -> 스팟 인스턴스를 종료

Spot Fleets

스팟 플릿에 스팟 인스턴스를 할당하는 전략을 정의해야 한다.

1) lowestPrice(최저 가격): 스팟 플릿은 가장 낮은 가격인 풀에서 인스턴스를 시작하기 때문에 비용이 최적화된다. 워크로드가 매우 짧은 경우 좋은 옵션

2) diversified: 스팟 인스턴스는 내가 정의한 모든 풀에 분산된다. 가용성과 긴 워크로드에 적합하다.(한 풀이 사라져도 다른 풀은 여전히 활성화되어 있기 때문)

3) capacityOptimized(용량 최적화): 원하는 인스턴스 수에 맞는 최적의 용량을 가진 풀을 갖게 된다.

4) priceCapacityOptimized(recommended)(가격 용량 최적화): 사용 가능한 용량이 가장 큰 풀을 선택하고 그 중 가격이 가장 낮은 풀을 선택, 대부분의 워크로드에 가장 적합한 선택

Spot Fleets: 사용하면 여러 개의 런치 풀과 여러 인스턴스 유형을 정의할 수 있다. 원시 전력만 신경쓰면 된다. 자동으로 가장 낮은 가격으로 스팟 인스턴스 풀을 선택해 추가 비용 절감 가능

- 간단한 스팟 인스턴스 요청을 하는 경우: 원하는 인스턴스 유형과 AZ(Availability Zone)를 정확히 알고 있는 경우
- 스팟 플릿을 요청하는 경우: 조건을 만족하는 모든 인스턴스 유형과 모든 AZ를 선택하라는 것(조건 예: 낮은 가격)

 

[Quiz#02]

1. 스팟 인스턴스는 단기적인 워크로드에 적합하고, 가장 저렴한 EC2 구매 옵션, EC2 인스턴스를 손실할 우려가 있기 때문에 신뢰도가 떨어진다.(데이터베이스 혹은 중요 업무에는 적합하지 않다.)

2. EC2 인스턴스 내/외의 트래픽을 제어하기 위해 보안 그룹을 사용한다.

3. EC2 예약 인스턴스는 1년 혹은 3년의 기간으로만 예약이 가능하다.

4. 컴퓨팅 최적화 EC2 인스턴스는 고성능 프로세서(배치 처리, 미디어 트랜스코딩, 고성능 컴퓨팅, 과학적 모델링 및 머신 러닝, 전용 게이밍 서버 등)가 필요한 집중 컴퓨팅 워크로드에 적합하다. (고성능 컴퓨팅: HPC)

5. 온디맨드 인스턴스는 가격 예측이 가능한 짧은 경우에 적합, 예약 인스턴스는 장기적인 워크로드에 적합하다.(1년 혹은 3년의 기간)

6. 메모리 최적화 EC2 인스턴스는 메모리에 대규모 데이터 세트가 필요한 워크로드에 적합하다.

7. 스토리지 최적화 EC2 인스턴스는 로컬 스토리지의 대규모 데이터 세트에 대해 높은 수준의, 그리고 순차적인 읽기/쓰기 액세스 권한이 필요한 워크로드에 적합하다.

8. 전용 호스트는 높은 수준의 규정 준수가 필요한 기업, 혹은 복잡한 라이선스 모델을 가진 소프트웨어에 적합하다. 가장 비싼 EC2 구매 옵션, 물리적 코어 및 기반 네트워크 소켓 가시성을 기반으로 비용을 책정할 때, 가시성을 확보하기 좋은 구매 옵션

9. 스팟 플릿은 스팟 인스턴스의 집합이고, 선택적으로 온디맨드 인스턴스이다. 스팟 플릿은 가장 낮은 가격으로 스팟 인스턴스를 자동으로 요청할 수 있게 해준다.

 

References

Udemy, Ultimate AWS Certified Solutions Architect Associate SAA-C03

 

728x90
728x90

'Networking > AWS' 카테고리의 다른 글

[AWS] SAA-C03#06: EC2 instance storage  (0) 2024.06.21
[AWS] SAA-C03#05: EC2 - solution architect associate level  (0) 2024.06.19
[AWS] SAA-C03#03: IAM, CLI/CloudShell  (0) 2024.06.18
[AWS] SAA-C03#02: IAM  (0) 2024.06.17
[AWS] SAA-C03#01: basic  (0) 2024.06.14
728x90
반응형

How can users access AWS?

three options: AWS Management Console, Command Line Interface(CLI), Software Developer Kit(SDK)

don't share your access keys

What's the AWS CLI?

AWS 서비스들과 상호작용할 수 있도록 도와주는 도구 (e.g., aws s3 cp)

What's the AWS SDK?

프로그래밍을 위한 액세스가 가능하도록 하는 것, 코딩을 통해 애플리케이션 내 자체적으로 지원, 프로그래밍 언어

 

search > aws cli install macos

aws --version

aws-cli/2.16.10 Python/3.11.8 Darwin/23.5.0 exe/x86_64

 

IAM > Users > (account) > Create access key

region: ap-northeast-2

aws iam list-users

 

AWS에 액세스하기 위해서는 관리 콘솔을 사용하거나 액세스 키와 비밀 액세스 키를 구성하여 CLI을 구성할 수 있다.

 

AWS CloudShell는 다음의 AWS 리전에서 사용할 수 있다.

  • US East (Ohio)
  • US East (N. Virginia)
  • US West (N. California)
  • US West (Oregon)
  • Asia Pacific (Mumbai)
  • Asia Pacific (Osaka)
  • Asia Pacific (Seoul)
  • Asia Pacific (Sydney)
  • Asia Pacific (Singapore)
  • Asia Pacific (Tokyo)
  • Canada (Central)
  • Europe (Frankfurt)
  • Europe (Ireland)
  • Europe (London)
  • Europe (Paris)
  • Europe (Stockholm)
  • South America (São Paulo)

CloudShell: AWS 클라우드에서 무료로 사용 가능한 터미널

IAM Roles for Services

EC2 인스턴스: 가상 서버, AWS에서 어떤 작업을 수행하려고 할 때 권한을 부여하기 위해 IAM Role을 만들어 이들을 하나의 개체로 만든다. EC2 인스턴스가 AWS에 있는 어떤 정보에 접근(액세스)하려고 할 때 IAM Role을 사용한다.

Common roles: EC2 instance roles, Lambda function roles, roles for CloudFormation

IAM Security Tools

IAM Credentials Reports (account-level)
IAM Accesss Advisor (user-level)

IAM Guidelines &  Best Practices

one physical user = one AWS user

never share IAM users & access keys

IAM Section - Summary

Users, Group, Policies, Roles, Security, AWS CLI, AWS SDK, Access Keys, Audit

 

-

[Quiz#01]

IAM 사용자 그룹은 다른 사용자 그룹에 속할 수 없다. IAM 사용자만을 포함할 수 있다.

IAM 정책의 문장은 시드, 효과, 원칙, 조치, 리소스, 조건으로 구성된다. (버전은 IAM 정책 자체의 일부이며, 문장의 일부가 아니다.)

 

References

Udemy, Ultimate AWS Certified Solutions Architect Associate SAA-C03

 

728x90
728x90

'Networking > AWS' 카테고리의 다른 글

[AWS] SAA-C03#06: EC2 instance storage  (0) 2024.06.21
[AWS] SAA-C03#05: EC2 - solution architect associate level  (0) 2024.06.19
[AWS] SAA-C03#04: EC2  (0) 2024.06.18
[AWS] SAA-C03#02: IAM  (0) 2024.06.17
[AWS] SAA-C03#01: basic  (0) 2024.06.14
728x90
반응형

Route 53

리전이 필요하지 않음: Global

ref: aws global infrastructure > AWS regional services 제공 서비스 및 가용성 확인

IAM: Users & Groups

Identity and Access Management, Global service
사용자 생성, 그룹에 배치하기 때문에 글로벌 서비스에 해당
Root account created by default + Users
- Groups은 사용자만 배치할 수 있음
- 그룹에 포함되지 않은 사용자가 있을 수 있음(비추천)

- 한 사용자가 다수의 그룹에 속할 수 있음

 

사용자와 그룹을 구성하는 이유

IAM: Permissions

사용자, 그룹에게 JSON 문서를 지정할 수 있음

최소 권한의 원칙(least privilege principle) 부여

 

IAM은 글로벌 서비스라 선택할 리전이 없음, 즉 IAM에서 사용자를 생성하면 어디에서나 사용할 수 있음

root를 사용하는 것은 바람직하지 않음, 사용자 생성 필요

IAM Policies Structure

Consists of

1) Version: 2012-10-17 - 정책 언어 버전

2) Id: 정책 식별(optional)

3) Statement

Ststement consists of

(1) Sid: 문장 ID, 문장 식별자(optional)

(2) Effect: 문장이 특정 API에 접근하는걸 허용할 지 거부할 지(Allow/Deny)

(3) Principal: 특정 정책이 적용될 사용자, 계정, 역할

(4) Action: API 호출 목록

(5) Resource: 적용될 action의 리소스 목록

 

-

[Troubleshooting#01]

Access denied

You don't have permission to iam:ListUsers. To request access, copy the following text and send it to your AWS administrator. Learn more about troubleshooting access denied errors. 

root 계정 IAM > Users > 계정 Permissions policies (0) > Add permissions > Attach policies directly - IAMReadOnlyAccess

 

User group was not created.
User: arn:aws:iam::058264561455:user/saraheee is not authorized to perform: iam:CreateGroup on resource: arn:aws:iam::058264561455:group/dev because no identity-based policy allows the iam:CreateGroup action

 

References

Udemy, Ultimate AWS Certified Solutions Architect Associate SAA-C03

 

728x90
728x90

'Networking > AWS' 카테고리의 다른 글

[AWS] SAA-C03#06: EC2 instance storage  (0) 2024.06.21
[AWS] SAA-C03#05: EC2 - solution architect associate level  (0) 2024.06.19
[AWS] SAA-C03#04: EC2  (0) 2024.06.18
[AWS] SAA-C03#03: IAM, CLI/CloudShell  (0) 2024.06.18
[AWS] SAA-C03#01: basic  (0) 2024.06.14
728x90
반응형

AWS is a Cloud Provider
use on demand and scale easily

Services

AWS Regions

all around the world, names can be us-east-1, eu-west-3

a region is a cluster of data centers

How to choose an AWS Region?

1) Compliance(법률 준수): with data governance and legal requirements

2) Proximity(접근성) to customers: reduced latency

3) Available services within a Region

4) Pricing(요금): pricing varies region to region and is transparent in the service pricing page

AWS Availability Zones

Each region has many availability zones

(usually 3, min is 3, max is 6)

example: ap-southeast-2a, ap-southeast-2b, ap-southeast-2c

- they're separate from each other

- they're connected with high bandwidth, ultra-low latency networking

Tour of the AWS Console

Identity and Access Management (IAM)
Route 53 (DNS service)

 

References

Udemy, Ultimate AWS Certified Solutions Architect Associate SAA-C03

 

728x90
728x90

'Networking > AWS' 카테고리의 다른 글

[AWS] SAA-C03#06: EC2 instance storage  (0) 2024.06.21
[AWS] SAA-C03#05: EC2 - solution architect associate level  (0) 2024.06.19
[AWS] SAA-C03#04: EC2  (0) 2024.06.18
[AWS] SAA-C03#03: IAM, CLI/CloudShell  (0) 2024.06.18
[AWS] SAA-C03#02: IAM  (0) 2024.06.17
728x90
반응형

SGD (Stochastic Gradient Descent)

Laplace Mechanism
Gaussian Mechanism
Exponential Mechanism
Local Sensitivity Sampling (LSS)
Multiplicative Weights Exponential Mechanism (MWEM)
High-Dimensional Matrix Mechanism (HDMM)
Multiplicative Weights Update (MWU)
Projected Gradient Descent (PGD)
PrivBayes
DualQuery

 

1. 경사 하강법(Stochastic Gradient Descent, SGD)

장점
연속적인 최적화: SGD는 연속적인 최적화를 통해 합성 데이터를 생성할 수 있어, 쿼리 결과에 대한 차이가 최소화된다.
확장성: 대규모 데이터셋에서도 효과적으로 작동한다.

유연성: 다양한 데이터셋과 쿼리 유형에 적용할 수 있다.
단점
수렴 문제: 학습률(lr)과 같은 하이퍼파라미터에 민감하며, 잘못 설정된 경우 수렴하지 않을 수 있다.
비선형 관계: 데이터의 비선형 관계를 다루는 데 한계가 있을 수 있다.

2. Multiplicative Weights Update (MWU) Mechanism

MWU 메커니즘은 적응적으로 쿼리를 선택하고, 각 쿼리의 응답을 업데이트하는 방법이다. 이 방법은 데이터의 각 레코드에 가중치를 할당하고, 각 쿼리 응답에 따라 가중치를 업데이트한다.
장점
적응적 쿼리 선택: 가장 정보가 많은 쿼리를 선택하여 효율성을 높인다.
프라이버시 보호: 프라이버시 예산을 효율적으로 사용한다.
단점
복잡성: 구현이 복잡하고, 계산 비용이 높을 수 있다.
적용 범위 제한: 일부 특정 쿼리 유형에만 효과적일 수 있다.

3. High-Dimensional Matrix Mechanism (HDMM)

HDMM은 고차원 데이터에 대해 최적화된 방식으로 쿼리를 처리하는 메커니즘이다. 쿼리 집합에 대한 응답을 선형 결합으로 표현하고, 이를 통해 최적의 노이즈 추가 방법을 찾아낸다.
장점
고차원 데이터 처리: 고차원 데이터셋에 대해 효과적으로 작동한다.
최적화된 노이즈 추가: 노이즈 추가를 최적화하여 정확도를 높인다.
단점
계산 복잡성: 계산 비용이 높아 대규모 데이터셋에 적용하기 어려울 수 있다.
제한된 쿼리 유형: 일부 쿼리 유형에 제한적일 수 있다.

4. Projected Gradient Descent (PGD)

PGD는 경사 하강법을 사용하는 투영 메커니즘 중 하나로, 최적화 과정에서 정규화 제약 조건을 적용한다. 이는 주어진 제약 조건 내에서 최적의 해를 찾는 데 효과적이다.
장점
정확도: 제약 조건 내에서 최적화하므로, 정확한 결과를 얻을 수 있다.
제약 조건 적용: 다양한 제약 조건을 쉽게 적용할 수 있다.
단점
수렴 문제: 학습률과 같은 하이퍼파라미터에 민감하며, 잘못 설정된 경우 수렴하지 않을 수 있다.
복잡성: 구현이 복잡할 수 있다.

 

5. Local Sensitivity Sampling (LSS)

주요 개념

국소 민감도 (Local Sensitivity): 특정 데이터셋에서 특정 쿼리에 대한 민감도를 계산한다. 이는 데이터셋의 특정 부분에서 쿼리 결과의 변동성을 측정한다.
노이즈 추가: 민감도에 따라 적절한 노이즈를 추가하여 프라이버시를 보호한다.
장점
효율적 노이즈 추가: 국소 민감도를 사용하여 보다 효율적으로 노이즈를 추가할 수 있다.
높은 정확도: 민감도에 맞춰 노이즈를 추가함으로써 데이터의 유용성을 유지한다.
단점
복잡성: 민감도를 계산하는 과정이 복잡할 수 있다.
특정 쿼리에 맞춤: 특정 쿼리에 대해 민감도를 계산하므로, 모든 유형의 쿼리에 적용하기 어려울 수 있다.

6. Private Gaussian Mechanism (PGM)

PGM은 Gaussian 노이즈를 추가하여 차등 프라이버시를 보장하는 메커니즘이다. Gaussian 노이즈는 데이터의 평균을 중심으로 정규 분포를 따르는 노이즈를 추가한다.
주요 개념
글로벌 민감도 (Global Sensitivity): 데이터셋 전체에서 특정 쿼리에 대한 민감도를 계산한다. 이는 데이터셋에서 최악의 경우에 쿼리 결과가 얼마나 변할 수 있는지를 측정한다.
Gaussian 노이즈: 정규 분포를 따르는 노이즈를 추가하여 프라이버시를 보호한다.
장점
프라이버시 강화: Gaussian 노이즈를 사용하여 데이터의 민감한 정보를 효과적으로 보호할 수 있다.
적용 범위: 다양한 유형의 데이터셋과 쿼리에 적용할 수 있다.
단점
노이즈 크기: 글로벌 민감도를 기준으로 노이즈를 추가하므로, 데이터셋의 크기와 민감도에 따라 노이즈가 커질 수 있다.
데이터 유용성: 노이즈가 커질수록 데이터의 유용성이 떨어질 수 있다.

 

7. PrivBayes

PrivBayes는 차등 프라이버시를 보장하는 베이지안 네트워크 기반의 합성 데이터 생성 기법이다. 원본 데이터의 분포를 학습하고, 그 분포를 기반으로 합성 데이터를 생성한다.
장점
정확한 데이터 생성: 원본 데이터의 통계적 특성을 잘 반영한 합성 데이터를 생성할 수 있다.
유용성: 다양한 데이터 분석 및 머신러닝 모델 학습에 사용할 수 있다.
단점
복잡성: 베이지안 네트워크 학습과 파라미터 추정 과정이 복잡하고 계산 비용이 높을 수 있다.
스케일링 문제: 매우 큰 데이터셋에 적용하기 어려울 수 있다.

8. DualQuery

DualQuery는 차등 프라이버시를 보장하는 데이터 쿼리 응답 기법이다. 이 방법은 데이터의 중요한 통계적 쿼리에 대한 정확한 응답을 제공하기 위해 노이즈를 적응적으로 조절한다.

장점
높은 정확도: 적응적 노이즈 조절을 통해 정확한 쿼리 응답을 제공할 수 있다.
적응성: 중요도가 높은 쿼리에 더 적합한 노이즈 수준을 선택할 수 있다.
단점
복잡성: 적응적 노이즈 조절 및 쿼리 선택 과정이 복잡하고 계산 비용이 높을 수 있다.
제한된 쿼리 응답: 특정 유형의 쿼리에 대해서만 적용할 수 있다.

9. MWEM (Multiplicative Weights Exponential Mechanism)

MWEM은 차등 프라이버시를 보장하면서 데이터의 분포를 추정하기 위한 기법이다. 이 방법은 데이터의 가중치를 반복적으로 업데이트하여 실제 데이터 분포에 가까운 분포를 생성한다.

주요 개념
Multiplicative Weights: 데이터의 각 레코드에 가중치를 할당하고, 반복적으로 업데이트한다.
Exponential Mechanism: 쿼리 응답에 노이즈를 추가하여 차등 프라이버시를 보장한다.
장점
정확한 분포 추정: 반복적인 업데이트를 통해 실제 데이터 분포에 가까운 분포를 생성할 수 있다.
적응성: 다양한 쿼리 유형에 대해 적용할 수 있다.
단점
계산 비용: 반복적인 가중치 업데이트 과정이 복잡하고 계산 비용이 높을 수 있다.
수렴 문제: 반복 과정에서 수렴하지 않을 위험이 있다.

 

상황별추천

대규모 데이터셋:

SGD: 확장성이 좋고, 대규모 데이터셋에서 효과적으로 작동한다.
PGD: 제약 조건이 있는 최적화 문제에 효과적이다.

고차원 데이터셋:

HDMM: 고차원 데이터에 최적화된 방식으로 쿼리를 처리한다.

적응적 쿼리 응답:

MWU: 적응적 노이즈 조절로 높은 정확도를 유지할 수 있다.
DualQuery: 중요한 쿼리에 대한 높은 정확도를 유지할 수 있다.

프라이버시 보호와 데이터 유용성:

MWEM: 반복적인 업데이트를 통한 정확한 분포 추정이 가능한다.
PrivBayes: 원본 데이터의 통계적 특성을 잘 반영한 합성 데이터를 생성할 수 있다.

복잡한 조건부 의존성 처리:

PrivBayes: 베이지안 네트워크를 사용하여 복잡한 조건부 의존성을 처리할 수 있다.

 

PrivBayes: 원본 데이터의 통계적 특성을 잘 반영한 합성 데이터를 생성할 수 있지만, 계산 비용이 높다.
DualQuery: 적응적 노이즈 조절을 통해 높은 정확도의 쿼리 응답을 제공하지만, 구현이 복잡할 수 있다.
MWEM: 다양한 쿼리 유형에 적용할 수 있으며, 반복적인 업데이트를 통해 정확한 분포를 추정할 수 있지만, 계산 비용이 높을 수 있다.

상위호환 관계

1. SGD < PGD

제약 조건을 추가하여 최적화 문제를 해결할 수 있다.

- PGD: 제약 조건을 적용한 경사 하강법, 데이터의 특정 조건을 만족해야 하는 최적화 문제에 적합하다.

2. Laplace < Gaussian Mechanism

고차원 데이터에 적합, 델타 파라미터 사용하여 노이즈를 추가한다.

3. MWU < MWEM

쿼리 응답과 데이터 분포 추정에 대해 더 복잡하고 정밀한 업데이트를 수행한다.

4. LSS < PGM

국소 민감도를 사용하여 노이즈 추가하는 방식에서, 글로벌 민감도를 기반으로 Gaussian 노이즈를 추가한다.

 


High-Dimensional Matrix Mechanism (HDMM)
PrivBayes
DualQuery

 

 

728x90
728x90
728x90
반응형

1. 원핫 인코딩 (One-Hot Encoding)

설명: 각 범주를 이진 벡터로 변환한다. 각 벡터는 하나의 1과 나머지 0으로 구성된다.
장점: 단순하고 직관적, 범주 간 순서나 크기를 가정하지 않음
단점: 차원이 높아질 수 있음, 범주가 많을 경우 메모리 사용량이 증가함
적합성: 많은 노이즈를 추가해야 하는 경우가 많아질 수 있으며, 고차원 데이터는 계산 복잡도를 증가시킬 수 있다.

2. 레이블 인코딩 (Label Encoding)

설명: 각 범주를 고유한 정수로 매핑한다.
장점: 단순하고 메모리 효율적, 차원이 증가하지 않음
단점: 범주 간 순서나 크기를 가정하게 되어 모델이 이를 잘못 해석할 수 있음
적합성: 범주 간의 순서나 크기 정보가 노출될 수 있어 적합하지 않을 수 있다.

3. 순서 인코딩 (Ordinal Encoding)

설명: 범주형 데이터를 순서가 있는 정수로 변환한다.
장점: 순서가 있는 데이터를 잘 표현할 수 있음, 메모리 효율적
단점: 범주 간의 거리를 동일하게 가정, 범주 간 순서가 중요하지 않은 경우 부적절할 수 있음
적합성: 순서가 중요한 경우 유용하지만, 범주 간 순서 정보가 노출될 수 있어 적합하지 않을 수 있다.

4. 바이너리 인코딩 (Binary Encoding)

설명: 각 범주를 고유한 숫자로 매핑하고, 이 숫자를 이진수로 변환한다.
장점: 차원이 원핫 인코딩보다 낮음, 원핫 인코딩과 레이블 인코딩의 중간 정도의 복잡도와 메모리 사용량을 가짐
단점: 복잡도가 증가할 수 있음, 일부 정보가 손실될 수 있음
적합성: 차원이 적당히 낮고, 범주 간의 순서 정보가 직접적으로 노출되지 않아 적합하다.

 

바이너리 인코딩은, 
차원 감소: 원핫 인코딩보다 낮은 차원을 가지므로 계산 복잡도가 줄어든다.
정보 노출 최소화: 범주 간의 순서나 크기 정보가 직접적으로 노출되지 않는다.
프라이버시 보호: 적당한 수준의 노이즈를 추가하여 프라이버시를 보호할 수 있다.

 

728x90
728x90

+ Recent posts