티스토리 뷰
1. AWS 관리 콘솔에서 서비스 > CloudFormation 서비스로 들어가 '스택 생성' 버튼 클릭
2. 아래쪽 Amazon S3 URL에 아래 URL을 입력한 후 '다음' 버튼 클릭
[URL] https://cloudneta-aws-book.s3.ap-northeast-2.amazonaws.com/chapter4/elblab.yaml
3. 스택 세부 정보 지정 페이지에서 스택 이름 'elblab'로 입력한 후
KeyName은 각자의 키 페어 파일를 선택한 후 '다음' 버튼 클릭
4. 스택 옵션 구성 페이지에서는 별도의 설정 없이 '다음' 버튼 클릭 후
elblab 검토에서는 별도의 설정 없이 '전송' 버튼 클릭해 스택 생성
5. AWS CloudFormation 기본 인프라를 배포하고 일정 시간(약 5분)이 지나
스택 상태가 'CREATE_COMPLETE'가 되면 모든 인프라 배포가 정상적으로 완료된 것을 확인
[참고] AWS CloudFormation으로 생성된 기본 인프라 자원 정보
생성 자원 | 이름 | 정보 |
VPC | MyVPC | 20.40.0.0/16 |
ELB-VPC | 10.40.0.0/16 | |
인터넷 게이트웨이 | My-IGW | |
ELB-IGW | ||
퍼블릭 라우팅 테이블 | MyPublicRT | My-IGW 연결 |
ELBPublicRT | ELB-IGW 연결 | |
서브넷 | My-Public-SN | MyVPC에 위치 [20.40.1.10/24] |
ELBPublicSN1 | ELB-VPC에 위치 [10.40.1.10/24] | |
ELBPublicSN2 | ELB-VPC에 위치 [10.40.1.10/24] | |
보안 그룹 | MySG | TCP 22, ICMP 허용 |
ELBSG | TCP 22/80, ICMP 허용, UDP 161 허용 | |
EC2 인스턴스 | MyEC2 | My-Public-SN에 위치 |
SERVER-1 | My-Public-SN1에 위치 | |
SERVER-2 | My-Public-SN2에 위치 | |
SERVER-3 | My-Public-SN2에 위치 |
6. SERVER-1 , 2에 설치된 툴과 파일 확인한 후
SERVER-1과 SERVER-2에 SSH로 접속하여 아래 명령어 입력
► SERVER-1에는 dev라는 폴더 생성, SERVER-2,3에는 mgt라는 폴더가 생성된 것 확인
# SERVER-1의 SSH 터미널
# 디렉터리(폴더) 트리 구조 출력
> tree /var/www/html
/var/www/html
├── dev
│ └── index.html
├── index.html
└── xff.php
$ xff.php 파일 정보 확인(웹에서 해당 파일 접근 시 접속자 정보가 출력되도록 만든 실습 파일)
> cat /var/www/html/xff.php
CloudNeta ELB Test Page
<?php
... (생략) ...
?>
# SERVER-2의 SSH 터미널
# 디렉터리(폴더) 트리 구조 출력
> tree /var/www/html
/var/www/html
├── index.html
├── mgt
│ └── index.html
└── xff.php
> cat /var/www/html/xff.php
7. MyEC2에서 SERVER-1, 2, 3으로 HTTP 서비스와 SNMP 서비스 확인함
SERVER-1
# MyEC2의 SSH 터미널
# SERVER-1, 2, 3의 퍼블릭 IP를 변수에 지정
> EC21=3.38.135.41
> EC22=13.125.253.109
> EC23=3.39.192.15
# 변수 지정 확인
> echo $EC21
3.38.135.41
> echo $EC22
13.125.253.109
> echo $EC23
3.39.192.15
# SERVER-1 웹 서비스 확인
> curl $EC21
<h1>ELB LAB Web Server-1</h1>
> curl $EC21/dev/
<h1>ELB LAB Web Page</h1>
> curl $EC21/mgt/
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>
</body></html>
> curl $EC21/xff.php
CloudNeta ELB Test Page
Fri, 26 Jan 24 11:58:45 +0900
Current CPU Load:0%
Last Client IP: 3.35.156.236
Server Public IP = 3.38.135.41
Server Private IP: 10.40.1.10
# SERVER-1 SNMP 서비스 확인
> snmpget -v2c -c public $EC21 1.3.6.1.2.1.1.5.0
SNMPv2-MIB::sysName.0 = STRING: SERVER-1
> snmpget -v2c -c public $EC21 1.3.6.1.2.1.1.3.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (135201) 0:22:32.01
SERVER-2, 3
# SERVER-2 웹 서비스 확인
> curl $EC22
> curl $EC22/dev/
> curl $EC22/mgt/
> curl $EC22/xff.php
# SERVER-2 SNMP 서비스 확인
> snmpget -v2c -c public $EC22 1.3.6.1.2.1.1.5.0
> snmpget -v2c -c public $EC22 1.3.6.1.2.1.1.3.0
# SERVER-3 웹 서비스 확인
> curl $EC23
> curl $EC23/dev/
> curl $EC23/mgt/
> curl $EC23/xff.php
# SERVER-3 SNMP 서비스 확인
> snmpget -v2c -c public $EC23 1.3.6.1.2.1.1.5.0
> snmpget -v2c -c public $EC23 1.3.6.1.2.1.1.3.0
[참고] SNMP에서 정의된 기본 OID 정보
1) 1.3.6.1.2.1.1.1.0 - sysDescr
- sysDescr 값은 장비 설명이며, 장비 제조사에 따라 크기에 차이가 있음
- 장비 정보를 출력할 때는 부가 정보로 출력
2) 1.3.6.1.2.1.1.2.0 - sysObjectID
- sysObjectID 값은 장비의 고유한 ID 값을 반환함
- 해당 값을 사용하여 장비 벤더, 장비 종류를 독자적으로 관리 가능
3) 1.3.6.1.2.1.1.3.0 - sysUpTime
- sysUpTime 값은 장비가 부팅되어 현재까지 동작한 milli-second 값이며, 쿼리할 때 업데이트 되는 정보
4) 1.3.6.1.2.1.1.5.0 - sysName
- sysName은 사용자가 장비에 설정한 장비 이름으로, 설정하지 않으면 Null 값을 출력함
- Null 값 출력시 해당 장비 이름은 IP 주소 혹은 장비 Alias 이름(별칭)으로 출력됨
'개인공부 > AWS' 카테고리의 다른 글
[AWS] ALB 경로 기반 로드 밸런싱 구성 (0) | 2024.01.26 |
---|---|
[AWS] ALB 생성 및 동작 과정 확인 (0) | 2024.01.26 |
[AWS] CloudFormation 기초 내용 정리 (0) | 2024.01.25 |
[AWS] 데이터베이스 서비스 (0) | 2024.01.25 |
[AWS] 스토리지 서비스 (0) | 2024.01.25 |