0526-AWS

hyejin·2022년 5월 29일
0

1. 인스턴스 생성(구형 버전) - WEB01

◆ Amazon Machine Image(AMI) 선택

-> Amazon Linux 2 AMI (HVM) - Kernel 5.10, SSD Volume Type 선택

◆ 인스턴스 유형 선택

-> t2.micro 선택

◆ 인스턴스 세부 정보 구성

-> 네트워크 : 기본값
-> 서브넷 : ap-northeast-2a
-> 퍼블릭 IP 자동 할당 : 활성화
*퍼블릭 IP 자동 할당이 비활성화가 되면 IP를 받을 수 없음

#!bin/bash
yum install -y httpd
systemctl enable --now httpd
echo "<h1>WEB01(AL2)</h1>" > /var/www/html/index.html

◆ 스토리지 추가

-> 암호화 사용하지 않음 선택
*암호화 : 암호화를 사용하면 지연 발생

◆ 태그 추가

-> 키 : Name
-> 값 : WEB01

◆ 보안 그룹 구성

-> 기존 보안 그룹 선택 : SG-WEB

◆ 키 생성

-> 새 키 페어 생성 : aws-key
-> RSA(비대칭 방식)

  • 인스턴스 생성 확인

  • 퍼블릭 IP 접속

mobaxterm 실행

  • ec2로 접속

  • 메모리 확인
$ lsblk
$ df -h    //디스크 여유 공간
$ free -h  //메모리 확인

2. 인스턴스 생성 - WEB02 (신형 버전)

-> 새로운 환경으로 생성
-> 한페이지 내에서 설정

◆ 이름 및 태그

-> 이름 : WEB02

◆ 애플리케이션 및 OS 이미지(Amazon Machine Image)

-> Ubuntu Server 18.04 LTS(HVM), SSD Volume Type 선택
-> bionic이 나오면 18.04와 관련있다는 의미

◆ 인스턴스 유형

-> t2.micro 선택

◆ 키 페어(로그인)

-> 만들어놓은 aws-key 선택

◆ 네트워크 설정

-> 서브넷 : ap-northeast-2c로 변경
-> 보안그룹: 기존의 SG-WEB 선택

◆ 스토리지 구성

-> 루트 볼륨 : 콜드보다 처리량 최적화가 좀 더 빠름

◆ 고급 세부 정보

#!/bin/bash
apt update
apt install -y apache2
echo "<h1>WEB02(Ubuntu18)</h1>" > /var/www/html/index.html

-> 사용자 데이터에 내용 추가
-> enable 할 필요없음

◆ 요약

  • 인스턴스 생성 확인

  • 퍼블릭 IP 접속

2. 로드밸런서 생성 - NLB

  • ALB = L7 S/W 유사(port, content 가지고 분산->NLB보다 높은 층에서 기능을 흡수해 content를 읽을 수 있음)
  • NLB = L4 S/W 유사(port 가지고 분산-> port번호만 읽기 가능)

◆ 로드 밸런서 유형

-> Network Load Balancer 선택

◆ 기본 구성

-> 이름 : ELB-NLB
-> 체계 : 인터넷 경계
-> IP 주소 유형 : IPv4

◆ 네트워크 매핑

-> VPC : 기본 VPC 선택
-> 매핑 : 가용영역을 한개씩 설정했기 때문에 현재는 서브넷이 한개만 존재
-> ap-northeast-2a / ap-northeast-2c 선택

◆ 리스너 및 라우팅

  • 그룹 세부 정보 지정

-> 대상 유형 : 인스턴스
-> 대상 그룹 이름 : TG-NLB
-> 사용 가능한 인스턴스 선택 후 아래에 보류 중 것으로 포함 클릭

-> 방금 만든 대상그룹 선택

※ 대상그룹-> 선택

-> heathy면 정상작동

  • DNS 이름 확인

  • DNS 이름으로 접속

  • firefox로 접속

-> 라운드 로빈이 아니기 때문에 한곳에서 새로고침할 때 바뀌지 않는게 정상....
-> 다른 웹사이트에서 다르게 나오면 정상

  • ALB는 라운드로빈 방식 사용; 순차적 접근방식
  • NLB는 Least connection 방식; 최소연결 방식

-> sticky 설정 가능

3. 로드밸런서 생성 - ALB

◆ 로드밸런서 유형

◆ 기본 구성

-> 이름 : ELB-ALB
-> 체계 : 인터넷 경계
-> IP 주소 유형 : IPv4

◆ 네트워크 매핑

◆ 보안 그룹

  • 보안 그룹 생성

-> 이름 : SG-ALB
-> 설명 : SG-ALB
-> 인바운드 규칙 추가 : HTTP / Anywhere IPv4

-> 보안그룹 : SG-ALB 선택

◆ 리스너 및 라우팅

  • 대상 그룹 생성

-> 리스터 HTTP:80

-> 대상 유형 : 인스턴스
-> 이름 : TG-ALB

♣ 보안그룹 > SG-WEB

- 특정 ip 만 허용

  • HTTP ::/0 삭제
  • HTTP 0.0.0.0/0 삭제 후 내 IP 선택

*방화벽은 특정 ip 차단은 불가능, 허용만 가능

- 출발지 필터링

-> HTTP 추가 / 소스 부분 SG-ALB 선택

mobaxterm 실행

  • ec2-user에 aws.tar 업로드
  • ubuntu에 azure.tar 업로드

  • ec2-user에서
$ sudo mkdir /var/www/html/food

sudo tar -xvf aws.tar -C /var/www/html/food/

-> 아카이브가 /var/www/html/food 폴더에 풀림

  • ubuntu에서
$ sudo mkdir /var/www/html/sale
$ sudo tar -xvf azure.tar -C /var/www/html/sale/

-> 아카이브가 /var/www/html/sale 폴더에 풀림

콘솔에서

  • 대상그룹 생성
  1. WEB01 생성

-> TG-FOOD

-> WEB01만 등록

-> TG-SALE

-> WEB02만 등록

  • 로드밸런서
    ELB-ALB에서 리스너 > 규칙 보기/편집 선택

◆ 규칙삽입

-> 경로 : /food*
-> TG-FOOD

-> 경로 : /sale*
-> TG-SALE

  • ELB-ALB DNS 이름 뒤에 /food 붙인 후 접속
http://elb-alb-2009797991.ap-northeast-2.elb.amazonaws.com/food/

  • ELB-ALB DNS 이름 뒤에 /food 붙인 후 접속
http://elb-alb-2009797991.ap-northeast-2.elb.amazonaws.com/sale/

  • 대상그룹 생성

-> 이름 : TG-FIREFOX

-> WEB01만 선택 (firefox로 이동)

-> 이름 : TG-MOBILE

-> WEB02만 선택

  • 규칙 추가

  • Chrome : 두 개 반복

  • Firefox : WEB01만

  • IE : 두 개 반복

  • 모바일 : WEB02만

0개의 댓글