ㄹ. EFS를 통한 네트워크 파일 시스템 구성
: 마운트, 서로 다른 인스턴스의 자원 공유 가능하게 함
1) EFS 용 Security Group
VPC > 보안 그룹 생성
: (EC2 인스턴스와 EFS의 마운트 타겟)두 리소스 사이에 트래픽이 이동하는 것을 허용하는 보안 그룹 필요
보안 그룹 이름: lab-vpc-efs-sg

-> 소스: EC2 인스턴스에 적용되어있는 보안 그룹 선택
키: Name
값: lab-vpc-efs-sg
2) EFS 생성
- Availability
- Lifecycle
- Performance/Throughput mode
- Network
..
이름: lab-vpc-efs
스토리지 클래스: Standard
[ ] 자동 백업 활성화
처리량: 버스트
키: Name
값: lab-vpc-efs

-> 퍼블릭 서브넷

3) EFS - EC2 마운트
a. EFS 탑재 핼퍼 설치 및 마운트 포인트 생성(public-ec2-a1)

-> 마운트 전
> sudo yum install amazon-efs-utils -y // EFS 탑재 핼퍼 설치
> mkdir /var/www/html/efs // 마운트 포인트 생성
b. 마운트
파일시스템 > lab-vpc-efs > 연결 (코드 복사)
> cd /var/www/html
> sudo mount -t efs -o tls fs-06812ee81cd60125b:/ efs

> wget https://lab-s3-web-hosting-june.s3.amazonaws.com/car.jpg (섹션 1의 버킷 안 car.jpg, mycar.html의 객체 URL)
> wget https://lab-s3-web-hosting-june.s3.amazonaws.com/mycar.html

(+) public-ec2-c1도 동일하게 진행 (wget 제외)

=> wget 명령어로 파일을 불러오지 않았는데, 이미 존재한다. 마운트 했기 때문이다.
4) 웹 브라우저를 통한 EFS 마운트 테스트
a. 기본


b. public-ec2-a1의 mycar.html 내용 변경


=> public-ec2-c1의 웹페이지도 변경된 것 확인
ㅁ. Application Load Balancer를 통한 이중화 네트워크 구성 (1)
: public EC2를 타겟으로 하는 Application Load Balancer
1) Target Group 생성
- Target type
- Protocol/Port
- Target registration
...
대상 그룹 이름: lab-vpc-public-tg

2) Application Load Balancer 구성
- Scheme
- Network
- Security Group
- Lisner/Rule
...
(선수 작업) 보안 그룹 생성
보안 그룹 이름: lab-vpc-alb-public-sg

키: Name
값: lab-vpc-alb-public-sg
로드 밸런서 이름: lab-vpc-alb-public
보안 그룹: lab-vpc-alb-public-sg


3) 웹 브라우저를 통한 Application Load Balancer 작동 테스트
-> 로드 밸런서 DNS 이름

-> public-ec2-c1

-> public-ec2-a1
ㅂ. Bastion host와 NAT Gateway를 통한 Private EC2 인스턴스의 외부 통신 구성
1) Private Subnet에 EC2 생성
(private-ec2-a1)
Key pair: ec2-private-seoul
보안 그룹: private-ec2-sg


=> 그 외의 구성은 퍼블릭 EC2와 동일, 단, 사용자 데이터 제외
2) Public Subnet의 EC2를 통해 Private Subnet의 EC2에 접속
(public-ec2-a1)
> vi ec2-private-seoul.pem // ec2-private-seoul.pem 내용 복사
> chmod 400 ec2-private-seoul.pem
> ssh -i "ec2-private-seoul.pem" ec2-user@10.1.3.50 // private-ec2-a1


-> 외부와 통신 안됨
3) NAT Gateway 생성
이름: nat-gw-a1
서브넷: public-subnet-a1
탄력적 IP 할당
4) Route Table 설정
private-subnet-a1의 Route Table에 nat-gw-a1 추가

-> NAT Gateway를 통해 외부로 트래픽 나감
5) Private Subnet의 EC2의 외부 통신 테스트

-> 외부와 통신 됨
(+) private-ec2-c1, nat-gw-c1 생성 및 동일한 작업
public-ec2-a1에서 private-ec2-c1으로 접속 및 외부 통신 확인


ㅅ. Application Load Balancer를 통한 이중화 네트워크 구성 (2)
: private EC2를 타겟으로 하는 Application Load Balancer
=> Target Group에 Private 인스턴스 등록
1) Target Group 생성
이름: lab-vpc-alb-private-tg
키: Name
값: lab-vpc-alb-private-tg

2) Application Load Balancer 구성
(선수 작업) 보안 그룹 생성
보안 그룹 이름: lab-vpc-alb-private-sg

로드 밸런서 이름: lab-vpc-alb-private
=> 로드 밸런서에 Public 서브넷 등록

3) 웹 브라우저를 통한 Application Load Balancer 작동 테스트
-> 로드 밸런서 DNS 이름

-> private-ec2-c1

-> private-ec2-a1
'여러가지 > Docker & AWS' 카테고리의 다른 글
[섹션 4] Auto Scaling을 통한 확장성 및 탄력성 구현 (0) | 2023.11.24 |
---|---|
[섹션 3] 관계형 데이터베이스 서비스 구성 (1) | 2023.11.24 |
[섹션 2] LAMP 웹 서버 및 Application Load Balancer 구성(1) (1) | 2023.11.24 |
[섹션 1] 서버리스 정적 웹사이트 호스팅 및 성능 가속화 (0) | 2023.11.23 |
[인프런] 스스로 구축하는 AWS 클라우드 인프라 (1) | 2023.11.23 |