diff --git "a/AWS/NETWORK/\354\204\234\353\270\214\353\204\267\352\263\274 \353\235\274\354\232\260\355\214\205 \355\205\214\354\235\264\353\270\224\354\235\204 \355\217\254\355\225\250\355\225\234 \353\204\244\355\212\270\354\233\214\355\201\254 \355\213\260\354\226\264 \354\203\235\354\204\261.md" "b/AWS/NETWORK/\354\204\234\353\270\214\353\204\267\352\263\274 \353\235\274\354\232\260\355\214\205 \355\205\214\354\235\264\353\270\224\354\235\204 \355\217\254\355\225\250\355\225\234 \353\204\244\355\212\270\354\233\214\355\201\254 \355\213\260\354\226\264 \354\203\235\354\204\261.md" new file mode 100644 index 0000000..40c5f61 --- /dev/null +++ "b/AWS/NETWORK/\354\204\234\353\270\214\353\204\267\352\263\274 \353\235\274\354\232\260\355\214\205 \355\205\214\354\235\264\353\270\224\354\235\204 \355\217\254\355\225\250\355\225\234 \353\204\244\355\212\270\354\233\214\355\201\254 \355\213\260\354\226\264 \354\203\235\354\204\261.md" @@ -0,0 +1,181 @@ +### 문제 설명 +- 리소스 분할 및 중복을 위해 개별 IP 공간으로 구성한 VPC 네트워크를 생성해야 함 +### 해결 방안 +- VPC 내에 라우팅 테이블을 생성한다. VPC의 다른 가용 영역에 서브넷 2개를 생성한다. + +### 복습해봅시다 - VPC 생성 + +*클라우드 리소스를 호스팅한 네트워크 구축* + - 그림 2-1과 같이 AMAZON VPC를 생성하고 이에 대한 CIDR 블록 구성 + + CIDR 이란? + - IP 주소와 그 서브넷 마스크를 나타내는 방법으로, 네트워크 주소 할당과 라우팅에 사용 + - CIDR 표기법은 IP 주소 뒤에 슬래시(`/`)를 붙이고, 그 뒤에 네트워크 프리픽스(서브넷 마스크의 길이)를 적습니다. 예를 들어, `192.168.0.0/24`와 같은 형태 + - **Virtual Private Cloud 생성** + Virtual Private Cloud(VPC)는 클라우드 내에서 호스팅되는 프라이빗 디지털 공간입니다. VPC를 사용하면 격리되고 안전한 환경에 워크로드를 프로비저닝할 수 있습니다. VPC는 연결된 디바이스 간에 데이터 패킷을 전송할 때 CIDR IP 주소를 사용합니다. + 출처 : AWS 공식 문서 + +1. IPV4 CIDR 블록을 가진 VPC를 생성. 주소 범위로 10.10.0.0/16을 사용. 주소 범위는 필요에 따라 다른 범위로 수정 가능 +``` +VPC_ID=$(aws ec2 create-vpc --cidr-block 10.10.0.0/23 \ +--tag-specifications \ +'ResourceType=vpc,Tags=[{Key=Name,Value=AWSCookbook202}]' \ +--output text --query Vpc.VpcId) +``` + +- **VPC_ID=...** + - 명령의 출력을 변수 `aws ec2`에 저장 +- **aws ec2 create-vpc:** + - `create-vpc`는 새로운 VPC를 생성하는 서브 명령어 +- **--cidr-block 10.10.0.0/23**: + - `--cidr-block`은 VPC의 IP 주소 범위를 지정 + - `10.10.0.0/23`은 이 VPC에 할당된 IP 주소 범위를 나타냅니다. 여기서 `/23`은 서브넷 마스크를 나타내며, 총 512개의 IP 주소를 포함 +- **--tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=AWSCookbook202}]'**: + - `--tag-specifications`는 VPC에 태그를 지정 + - `'ResourceType=vpc,Tags=[{Key=Name,Value=AWSCookbook202}]'`은 태그의 키가 `Name`이고 값이 `AWSCookbook202`인 태그를 VPC에 추가 +- **--output text**: + - `--output` 옵션은 명령의 출력 형식을 지정 + - `text`는 출력 형식을 간단한 텍스트 형식으로 지정 +- **--query Vpc.VpcId**: + - `--query` 옵션은 출력에서 특정 부분을 추출하는 데 사용 + - `Vpc.VpcId`는 생성된 VPC의 ID를 추출 +- 유효성 검사 **aws ec2 describe-vpcs --vpc-ids $VPC_ID** +``` +$ aws ec2 describe-vpcs --vpc-ids $VPC_ID +{ + "Vpcs": [ + { + "CidrBlock": "10.10.0.0/23", + "DhcpOptionsId": "dopt-0535c42b101c41626", + "State": "available", + "VpcId": "vpc-0d93a7f74b97eb1e7", + "OwnerId": "951192624022", + "InstanceTenancy": "default", + "CidrBlockAssociationSet": [ + { + "AssociationId": "vpc-cidr-assoc-03cda77518ce24302", + "CidrBlock": "10.10.0.0/23", + "CidrBlockState": { + "State": "associated" + } + } + ], + "IsDefault": false, + "Tags": [ + { + "Key": "Name", + "Value": "AWSCookbook202" + } + ] + } + ] +} +``` + +### 서브넷과 라우팅 테이블을 포함한 네트워크 티어 생성 +![[Pasted image 20240629175514.png]] + v +![[Pasted image 20240629175442.png]] + +**라우팅 테이블 (Route Table)** +- VPC의 서브넷 내의 트래픽이 어디로 향할지를 결정하는 규칙 집합 +- 각 서브넷은 하나의 라우팅 테이블과 연결되어 있음 + +**라우팅 테이블을 만드는 이유** +- 라우터란 목적지이고 라우팅 테이블은 각 목적지에 대한 이정표 +- 데이터는 라우터로 향하게 되며 네트워크 요청은 각각 정의 된 라우팅 테이블에 따라 작동 + ![[Pasted image 20240629180227.png]] + - 서브넷 A의 라우팅 테이블은 172.31.0.0/16 즉 VPC안의 네트워크 범위를 갖는 네트워크 요청은 로컬에서 찾도록 되어있음 + +1. **라우팅 테이블 생성, 이제 연결된 서브넷에 사용자 지정 트래픽 경로를 만들 수 있음. +``` +ROUTE_TABLE_ID=$(aws ec2 create-route-table --vpc-id $VPC_ID --tag-specifications \ 'ResourceType=route-table,Tags=[{Key=Name,Value=AWSCookbook282}]' --output text --query RouteTable.RouteTableId) +``` +- `ROUTE_TABLE_ID=$(...)`: 명령의 출력을 `ROUTE_TABLE_ID` 변수에 저장 +- `aws ec2 create-route-table`: 새로운 라우트 테이블을 생성하는 AWS CLI 명령 +- `--vpc-id $VPC_ID`: 이전에 생성한 VPC의 ID를 지정- +- `--tag-specifications 'ResourceType=route-table,Tags=[{Key=Name,Value=AWSCookbook282}]'`: 생성된 라우트 테이블에 태그를 지정, `Key`는 `Name`, `Value`는 `AWSCookbook202` +- `--output text`: 출력 형식을 텍스트로 지정 +- `--query RouteTable.RouteTableId`: 출력에서 라우트 테이블 ID만 추출 + +2. **각 AZ에 2개의 서브넷을 생성한다. 이제 VPC 용 리소스를 생성하기 위한 주소 공간을 사용할 수 있다. + **VPC에서 사용하는 사설 아이피 대역 + - 10.0.0.0 ~ 10.255.255.255(10/8 prefix) + - 172.16.0.0 ~ 172.31.255.255(182.16/12 prefix) + - 192.168.0.0 ~ 192.168.255.255(192.168/16 prefix) + + **서브넷 + - VPC를 잘개 쪼개는 과정 + - 서브넷은 VPC 안에 있는 VPC보다 더 작은 단위이기 때문에 당연히 서브넷 마스크가 더 높아지고 아이피범위가 더 작은 값을 가짐 + - 서브넷을 나누는 이유는 더 많은 네트워크망을 만들기 위함 +``` +# 첫 번째 서브넷 생성 +SUBNET_ID_1=$(aws ec2 create-subnet --vpc-id $VPC_ID \ +--cidr-block 10.10.0.0/24 --availability-zone ${AWS_REGION}a \ +--tag-specifications \ +'ResourceType=subnet,Tags=[{Key=Name,Value=AWSCookbook202a}]' \ +--output text --query Subnet.SubnetId) + +# 두 번째 서브넷 생성 +SUBNET_ID_2=$(aws ec2 create-subnet --vpc-id $VPC_ID \ +--cidr-block 10.10.1.0/24 --availability-zone ${AWS_REGION}b \ +--tag-specifications \ +'ResourceType=subnet,Tags=[{Key=Name,Value=AWSCookbook202b}]' \ +--output text --query Subnet.SubnetId) +``` +- **`create-subnet`**: 새로운 서브넷을 생성 +- **`--vpc-id $VPC_ID`**: 이전에 생성한 VPC의 ID를 지정 +- **`--cidr-block 10.10.0.0/24`**: 서브넷의 CIDR 블록을 지정 +- **`--availability-zone ${AWS_REGION}a`**: 서브넷이 속할 가용 영역을 지정 +- **`--tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=AWSCookbook202a}]'`**: 서브넷에 태그를 지정 +- **`--output text --query Subnet.SubnetId`**: 출력 형식을 텍스트로 지정하고, 서브넷 ID를 추출 + +3. **라우팅 테이블을 2개의 서브넷과 연결 +``` +# 첫 번째 서브넷에 라우팅 테이블 연결 +aws ec2 associate-route-table \ +--route-table-id $ROUTE_TABLE_ID --subnet-id $SUBNET_ID_1 + +# 두 번째 서브넷에 라우팅 테이블 연결 +aws ec2 associate-route-table \ +--route-table-id $ROUTE_TABLE_ID --subnet-id $SUBNET_ID_2 +``` +- **`associate-route-table`**: 라우팅 테이블을 서브넷에 연결하는 명령어 +- **`--route-table-id $ROUTE_TABLE_ID`**: 이전에 생성한 라우팅 테이블의 ID를 지정 +- **`--subnet-id $SUBNET_ID_1`**: 첫 번째 서브넷의 ID를 지정 +4. **서브넷 정보 조회** +``` +aws ec2 describe-subnets --subnet-ids $SUBNET_ID_1 $SUBNET_ID_2 +``` +- **`describe-subnets`**: 지정된 서브넷에 대한 정보를 반환하는 AWS CLI 명령어 +![[Pasted image 20240629183256.png]] +``` +aws ec2 describe-route-tables --route-table-ids $ROUTE_TABLE_ID +``` +![[Pasted image 20240629184023.png]] +1. **RouteTables**: + - 라우팅 테이블의 리스트 +2. **Associations**: + - 이 라우팅 테이블과 연관된 서브넷이나 게이트웨이의 리스트 +3. **PropagatingVgws**: + - 경로 전파를 허용하는 가상 게이트웨이 리스트 +4. **RouteTableId**: + - 라우팅 테이블의 ID +5. **Routes**: + - 이 라우팅 테이블에 정의된 경로들의 리스트 + - **DestinationCidrBlock**: 대상 CIDR 블록, `10.10.0.0/23`으로 설정되어 있음 + - **GatewayId**: 이 경로를 처리하는 게이트웨이의 ID, `local`은 VPC 내의 로컬 경로임을 의미 + - **Origin**: 경로의 생성 원본, `CreateRouteTable`은 이 경로가 라우팅 테이블 생성 시 기본적으로 만들어진 것임을 의미 + - **State**: 경로의 상태, `active`는 이 경로가 활성 상태임을 나타냅니다. +6. **Tags**: + - 라우팅 테이블에 설정된 태그들의 리스트 +7. **VpcId**: + - 이 라우팅 테이블이 속한 VPC의 ID +8. **OwnerId**: + - 라우팅 테이블의 소유자 AWS 계정 ID + + +### REFERENCE +https://aws.amazon.com/ko/what-is/cidr/ +https://medium.com/harrythegreat/aws-%EA%B0%80%EC%9E%A5%EC%89%BD%EA%B2%8C-vpc-%EA%B0%9C%EB%85%90%EC%9E%A1%EA%B8%B0-71eef95a7098 +https://velog.io/@chchaeun/AWS-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EA%B5%AC%EC%B6%95-2-VPC-%EA%B5%AC%EC%B6%95%EC%84%9C%EB%B8%8C%EB%84%B7-%EB%9D%BC%EC%9A%B0%ED%8C%85-%ED%85%8C%EC%9D%B4%EB%B8%94-%EC%9D%B8%ED%84%B0%EB%84%B7-%EA%B2%8C%EC%9D%B4%ED%8A%B8%EC%9B%A8%EC%9D%B4 \ No newline at end of file diff --git "a/AWS/NETWORK/\354\235\270\355\204\260\353\204\267 \352\262\214\354\235\264\355\212\270\354\233\250\354\235\264\353\245\274 \354\202\254\354\232\251\355\225\264 VPC\353\245\274 \354\235\270\355\204\260\353\204\267\354\227\220 \354\227\260\352\262\260.md" "b/AWS/NETWORK/\354\235\270\355\204\260\353\204\267 \352\262\214\354\235\264\355\212\270\354\233\250\354\235\264\353\245\274 \354\202\254\354\232\251\355\225\264 VPC\353\245\274 \354\235\270\355\204\260\353\204\267\354\227\220 \354\227\260\352\262\260.md" new file mode 100644 index 0000000..0c6fa24 --- /dev/null +++ "b/AWS/NETWORK/\354\235\270\355\204\260\353\204\267 \352\262\214\354\235\264\355\212\270\354\233\250\354\235\264\353\245\274 \354\202\254\354\232\251\355\225\264 VPC\353\245\274 \354\235\270\355\204\260\353\204\267\354\227\220 \354\227\260\352\262\260.md" @@ -0,0 +1,68 @@ +### 문제 설명 +- VPC의 서브넷에서 기존에 실행 중인 EC2 인스턴스가 인터넷을 통해 클라이언트와 통신해야한다. +### 해결 방안 +- 인터넷 게이트웨이를 생성해 VPC에 연결한다. EC2 인스턴스의 서브넷에서 인터넷 게이트웨이로 트래픽을 보내는 경로를 추가한다. 마지막으로 그림과 같이 탄력적 IP 주소를 생성해 인스턴스와 연결한다. +![[Pasted image 20240629192635.png]] +**인터넷 게이트웨이가 필요한 이유** +- 라우터와 라우팅 테이블을 통해 데이터는 라우터로 향하게 되며 네트워크 요청은 각각 정의된 라우팅 테이블에 따라 작동. +- 이때 라우팅 테이블은 VPC 안의 네트워크 범위를 갖는 네트워크 요청은 로컬에서 찾음 +- 하지만 네트워크 범위 외에 외부로 통하는 트래픽은 처리할 수 없기에 인터넷 게이트웨이 사용 + +**인터넷게이트웨이** +![[Pasted image 20240629193607.png]] +- VPC와 인터넷을 연결해주는 하나의 관문 +- 서브넷 B의 라우팅테이블에서 0.0.0.0/0으로 정의되어 있으며, 이는 모든 트래픽에 대하여 IGA(인터넷게이트웨이) A로 향한다는 뜻 +- 라우팅 테이블은 가장 먼저 목적지의 주소가 172.31.0.0/16에 매칭되는지를 확인한 후 매칭되지 않는다면 IGA A로 보냄 +- 인터넷과 연결 된 서브넷을 퍼블릭 서브넷, 인터넷과 연결 되지 않은 서브넷을 프라이빗 서브넷이라고 칭함 + +1. **인터넷 게이트웨이를 생성한다. +``` +INET_GATEWAY_ID=$(aws ec2 create-internet-gateway \ +--tag-specifications \ +'ResourceType=internet-gateway,Tags=[{Key=Name,Value=AWSCookbook202}]' \ +--output text --query InternetGateway.InternetGatewayId) +``` +- `INET_GATEWAY_ID=$(...)`: 명령의 출력을 `INET_GATEWAY_ID` 변수에 저장 +- `aws ec2 create-internet-gateway`: 새로운 인터넷 게이트웨이를 생성하는 AWS CLI 명령 +- `--tag-specifications 'ResourceType=internet-gateway,Tags=[{Key=Name,Value=AWSCookbook202}]'`: 생성된 인터넷 게이트웨이에 태그를 지정, `Key`는 `Name`, `Value`는 `AWSCookbook202` +- `--output text`: 출력 형식을 텍스트로 지정 +- `--query InternetGateway.InternetGatewayId`: 출력에서 인터넷 게이트웨이 ID만 추출 + +2. **인터넷 게이트웨이를 가진 기존 VPC에 연결한다 +``` +aws ec2 attach-internet-gateway \ +--internet-gateway-id $INET_GATEWAY_ID --vpc-id $VPC_ID +``` +- `aws ec2 attach-internet-gateway`: 인터넷 게이트웨이를 VPC에 연결 +- `--internet-gateway-id $INET_GATEWAY_ID`: 이전에 생성한 인터넷 게이트웨이의 ID를 지정, 변수 `$INET_GATEWAY_ID`에 저장된 값 +- `--vpc-id $VPC_ID`: 인터넷 게이트웨이를 연결할 VPC의 ID를 지정 + +3. **VPC의 각 라우팅 테이블에서 기본 경로 대상을 인터넷 게이트웨이로 설정하는 경로를 생성한다 +``` +aws ec2 create-route --route-table-id $ROUTE_TABLE_ID_1 \ +--destination-cidr-block 0.0.0.0/0 --gateway-id $INET_GATEWAY_ID +aws ec2 create-route --route-table-id $ROUTE_TABLE_ID_2 \ --destination-cidr-block 0.0.0.0/0 --gateway-id $INET_GATEWAY_ID +``` +- `aws ec2 create-route`: 새로운 라우트를 생성 +- `--route-table-id $ROUTE_TABLE_ID_1`: 첫 번째 라우트 테이블의 ID를 지정, 변수 `$ROUTE_TABLE_ID_1`에 저장된 값 +- `--destination-cidr-block 0.0.0.0/0`: 기본 경로를 지정하여 모든 트래픽을 라우트 +- `--gateway-id $INET_GATEWAY_ID`: 인터넷 게이트웨이의 ID를 지정, 변수 `$INET_GATEWAY_ID`에 저장된 값 +4. **EIP(탄력적 ip 주소)를 생성한다 +``` +ALLOCATION_ID=$(aws ec2 allocate-address --domain vpc \ +--output text --query AllocationId) +``` +- `ALLOCATION_ID=$(...)`: 명령의 출력을 `ALLOCATION_ID` 변수에 저장 +- `aws ec2 allocate-address`: 새로운 탄력적 IP 주소를 할당 +- `--domain vpc`: 탄력적 IP 주소를 VPC에 할당하도록 지정 +- `--output text`: 출력 형식을 텍스트로 지정 +- `--query AllocationId`: 출력에서 탄력적 IP 주소의 할당 ID만 추출 + +5. **EIP를 기존 EC2 인스턴스와 연결한다 +``` +aws ec2 associate-address \ +--instance-id $INSTANCE_ID --allocation-id $ALLOCATION_ID +``` +- `aws ec2 associate-address`: 탄력적 IP 주소를 인스턴스에 연결 +- `--instance-id $INSTANCE_ID`: 탄력적 IP 주소를 연결할 인스턴스의 ID를 지정 +- `--allocation-id $ALLOCATION_ID`: 탄력적 IP 주소의 할당 ID를 지정 \ No newline at end of file diff --git a/Network/Transport Layer/img /Pasted image 20231117142819.png b/Network/Transport Layer/img /Pasted image 20231117142819.png deleted file mode 100644 index 40f5cae..0000000 Binary files a/Network/Transport Layer/img /Pasted image 20231117142819.png and /dev/null differ diff --git a/Network/Transport Layer/img /Pasted image 20231117143127.png b/Network/Transport Layer/img /Pasted image 20231117143127.png deleted file mode 100644 index 085a2b2..0000000 Binary files a/Network/Transport Layer/img /Pasted image 20231117143127.png and /dev/null differ diff --git a/Network/Transport Layer/img /Pasted image 20231117143317.png b/Network/Transport Layer/img /Pasted image 20231117143317.png deleted file mode 100644 index 878c636..0000000 Binary files a/Network/Transport Layer/img /Pasted image 20231117143317.png and /dev/null differ diff --git a/Network/Transport Layer/img /Pasted image 20231117143710.png b/Network/Transport Layer/img /Pasted image 20231117143710.png deleted file mode 100644 index e92d8a6..0000000 Binary files a/Network/Transport Layer/img /Pasted image 20231117143710.png and /dev/null differ diff --git a/Network/Transport Layer/img /Pasted image 20231117144006.png b/Network/Transport Layer/img /Pasted image 20231117144006.png deleted file mode 100644 index 8a602a0..0000000 Binary files a/Network/Transport Layer/img /Pasted image 20231117144006.png and /dev/null differ diff --git a/Network/Transport Layer/img /Pasted image 20231117144031.png b/Network/Transport Layer/img /Pasted image 20231117144031.png deleted file mode 100644 index 38ca5f1..0000000 Binary files a/Network/Transport Layer/img /Pasted image 20231117144031.png and /dev/null differ diff --git a/Network/Transport Layer/img /Pasted image 20231117144734.png b/Network/Transport Layer/img /Pasted image 20231117144734.png deleted file mode 100644 index 4c4cb47..0000000 Binary files a/Network/Transport Layer/img /Pasted image 20231117144734.png and /dev/null differ diff --git a/Network/Transport Layer/img /Pasted image 20231117211342.png b/Network/Transport Layer/img /Pasted image 20231117211342.png deleted file mode 100644 index 9eecbff..0000000 Binary files a/Network/Transport Layer/img /Pasted image 20231117211342.png and /dev/null differ diff --git a/Network/Transport Layer/img /Pasted image 20231117211847.png b/Network/Transport Layer/img /Pasted image 20231117211847.png deleted file mode 100644 index 72d56f4..0000000 Binary files a/Network/Transport Layer/img /Pasted image 20231117211847.png and /dev/null differ diff --git a/Network/Transport Layer/img /Pasted image 20231117212108.png b/Network/Transport Layer/img /Pasted image 20231117212108.png deleted file mode 100644 index 0d2d71e..0000000 Binary files a/Network/Transport Layer/img /Pasted image 20231117212108.png and /dev/null differ diff --git a/Network/Transport Layer/img /Pasted image 20231117212546.png b/Network/Transport Layer/img /Pasted image 20231117212546.png deleted file mode 100644 index 19be2a7..0000000 Binary files a/Network/Transport Layer/img /Pasted image 20231117212546.png and /dev/null differ diff --git a/Network/Transport Layer/img /Pasted image 20231117214139.png b/Network/Transport Layer/img /Pasted image 20231117214139.png deleted file mode 100644 index 1d6c5e4..0000000 Binary files a/Network/Transport Layer/img /Pasted image 20231117214139.png and /dev/null differ diff --git a/Network/Transport Layer/img /Pasted image 20231117214549.png b/Network/Transport Layer/img /Pasted image 20231117214549.png deleted file mode 100644 index 1d6b050..0000000 Binary files a/Network/Transport Layer/img /Pasted image 20231117214549.png and /dev/null differ diff --git a/Network/Transport Layer/img /Pasted image 20231117224311.png b/Network/Transport Layer/img /Pasted image 20231117224311.png deleted file mode 100644 index 0758085..0000000 Binary files a/Network/Transport Layer/img /Pasted image 20231117224311.png and /dev/null differ diff --git a/Network/Transport Layer/img /Pasted image 20231117224554.png b/Network/Transport Layer/img /Pasted image 20231117224554.png deleted file mode 100644 index 2e19bc4..0000000 Binary files a/Network/Transport Layer/img /Pasted image 20231117224554.png and /dev/null differ diff --git a/Network/Transport Layer/img /Pasted image 20231117224804.png b/Network/Transport Layer/img /Pasted image 20231117224804.png deleted file mode 100644 index 59e0c24..0000000 Binary files a/Network/Transport Layer/img /Pasted image 20231117224804.png and /dev/null differ diff --git a/Pasted image 20240629175442.png b/Pasted image 20240629175442.png new file mode 100644 index 0000000..8be6b2c Binary files /dev/null and b/Pasted image 20240629175442.png differ diff --git a/Pasted image 20240629175514.png b/Pasted image 20240629175514.png new file mode 100644 index 0000000..4da55de Binary files /dev/null and b/Pasted image 20240629175514.png differ diff --git a/Pasted image 20240629180227.png b/Pasted image 20240629180227.png new file mode 100644 index 0000000..29bcbe7 Binary files /dev/null and b/Pasted image 20240629180227.png differ diff --git a/Pasted image 20240629183256.png b/Pasted image 20240629183256.png new file mode 100644 index 0000000..f0530e0 Binary files /dev/null and b/Pasted image 20240629183256.png differ diff --git a/Pasted image 20240629184023.png b/Pasted image 20240629184023.png new file mode 100644 index 0000000..de1e3c6 Binary files /dev/null and b/Pasted image 20240629184023.png differ diff --git a/Pasted image 20240629192635.png b/Pasted image 20240629192635.png new file mode 100644 index 0000000..91e4ba2 Binary files /dev/null and b/Pasted image 20240629192635.png differ diff --git a/Pasted image 20240629193008.png b/Pasted image 20240629193008.png new file mode 100644 index 0000000..fd74c48 Binary files /dev/null and b/Pasted image 20240629193008.png differ diff --git a/Pasted image 20240629193607.png b/Pasted image 20240629193607.png new file mode 100644 index 0000000..26e14e5 Binary files /dev/null and b/Pasted image 20240629193607.png differ diff --git a/Untitled.md b/Untitled.md new file mode 100644 index 0000000..e69de29 diff --git "a/review/week17/\354\234\240\354\212\271\355\225\234.md" "b/review/week17/\354\234\240\354\212\271\355\225\234.md" new file mode 100644 index 0000000..22bc162 --- /dev/null +++ "b/review/week17/\354\234\240\354\212\271\355\225\234.md" @@ -0,0 +1,22 @@ +### CloudWatch +AWS에서 제공하는 AWS 내 자원과 애플리케이션에 대한 모니터링 및 관리 서비스 +CloudWatch는 대시보드, 이벤트, 경보, 로그, 지표로 구성되어 있습니다. +### CloudWatch 지표 + +CloudWatch 지표는 **언제** 어떤 **항목**의 **값**이 무엇이었는지를 기록한 값으로 AWS 내의 대부분의 서비스 이력이 기록됩니다. + +예를 들어 EC2 인스턴스의 CPU 사용량, 네트워크 전송량, AutoScaling 그룹이 관리하는 인스턴스 수등의 값들이 지표로 남습니다. + +이런 값들을 별도로 설정하지 않아도 서비스를 이용하면 AWS에서 자동으로 기록해줍니다. + +기본으로 제공되는 지표 외에도 사용자가 지정한 지표들(회원 수, 비동기 작업 수, 접속자 수) 등의 값을 기록할 수 있습니다. + +단순 지표 뿐만 아니라 그래프 등 다양한 방법으로 시각화할 수 있습니다. + +ex ) 만약 EC2 인스턴스의 CPU 점유율을 보고 싶다 + +EC2 → namespace + +CPU 점유율 → 지표 값 + +이때 인스턴스 개별로 보거나 유형으로 묶어서 보거나 오토스케일링 그룹으로 묶어서 보는 것 → dimension \ No newline at end of file