- Amazon VPC
- Virtual Private Cloud
- 사용자가 정의한, 논리적으로 격리된 가상의 프라이빗 네트워크 환경
- Amazon VPC 구성
- 리전 선택 및 IP 주소 범위 설정→ 가용 영역 내 서브넷 정의→ Internet Gateway 설정→ 라우팅 테이블 구성→ 네트워크 보안 구성
- Amazon EC2
- Elastic Compute Cloud
- AWS 클라우드에서 확장 가능한 컴퓨팅 용량 제공
- 가상 서버 구축, 보안 및 네트워크 구성, 스토리지 관리 가능
- AMI
- Amazon Machine Image
- 인스턴스 시작에 필요한 정보 제공
- 동일한 구성으로 여러 인스턴스가 필요할 때 한 AMI에서 여러 인스턴스 시작 가능
- Elastic Load Balancing
- 들어오는 애플리케이션 트래픽을 자동으로 분산시킨다.
- EC2 인스턴스, 컨테이너, IP 주소, Lambda, 가상 어플 라이언스
- 네트워크 트래픽 분산을 통한 애플리케이션 확장성 개선
- 트래픽에 따라 자동 조정
- 들어오는 애플리케이션 트래픽을 자동으로 분산시킨다.
실습
- IAM 생성
- AdministratorAccess, IAMUserChangePassword 퍼미션 추가
- VPC 생성
- VPC- VPC 생성 클릭
- 이름 태그: VPC-Lab
- 가용 영역 수: 1
- 퍼블릭 서브넷 수: 1
- 프라이빗 서브넷 수: 0
- ap-northeast-2a 퍼블릭 서브넷 CIDR 블록: 10.0.0.0/24
- VPC 엔드포인트: 없음
- VPC 생성 클릭
- VPC, 서브넷 이름 수정
- 위에서 만든 VPC 이름을 VPC-Lab으로 수정
- 만들어진 서브넷도 public subnet A로 이름 수정
- 서브넷 생성
- VPC- 서브넷- 서브넷 생성 클릭
- VPC ID: 방금 만든 VPC-Lab 클릭
- 서브넷 이름: public subnet C
- 가용 영역: ap-northeast-2c
- IPv4 서브넷 CIDR 블록: 10.0.20.0/24
- 서브넷 생성 클릭
- 서브넷 편집
- 방금 만든 public subnet C 체크하여 작업- 라우팅 테이블 편집 클릭
- 라우팅 테이블 ID: 위에서 만든 VPC-Lab 선택
- 저장 클릭
- 보안 그룹 생성
- VPC- 보안- 보안 그룹 클릭
- 보안 그룹 생성 클릭
- 기본 세부 정보
- 보안 그룹 이름: webserver-sg
- 설명: security group for web servers
- VPC: VPC-Lab 클릭
- 인바운드 규칙
- 규칙 추가 클릭
- 규칙 1
- 유형: SSH, 소스: 내 IP
- 규칙 2
- 유형: HTTP, 소스: 내 IP
- 규칙 1
- 규칙 추가 클릭
- 아웃바운드 규칙
- 유형: 모든 트래픽, 대상 유형: Anywhere-IPv4
- 보안 그룹 생성 클릭
- EC2 인스턴스 생성
- EC2- 인스턴스 시작 클릭
- 이름: webserver 1
- AMI: Amazon Linux 2 AMI (HVM) - Kernel 5. 10, SSD Volumne Type 클릭
- 키 페어 생성
- 이름: keypair-seoul
- 유형: RSA
- 파일 형식: .pem
- 네트워크 설정
- 편집 클릭
- VPC: VPC-Lab 선택
- 서브넷: public subnet A 선택
- 퍼블릭 IP 자동 할당: 활성화
- 방화벽(보안그룹): 기존 보안 그룹 선택 클릭
- 일반 보안 그룹: 위에서 만든 webserver-sg 클릭
- 고급 세부 정보
- 사용자 데이터
- 아래 코드 복사하여 붙여 넣기
- 코드
-
#!/bin/sh # Install a LAMP stack sudo amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2 sudo yum -y install httpd php-mbstring sudo yum -y install git # Start the web server sudo chkconfig httpd on sudo systemctl start httpd # Install the web pages for our lab if [ ! -f /var/www/html/aws-boarding-pass-webapp.tar.gz ]; then cd /var/www/html wget -O 'techcamp-webapp-2024.zip' 'https://ws-assets-prod-iad-r-icn-ced060f0d38bc0b0.s3.ap-northeast-2.amazonaws.com/600420b7-5c4c-498f-9b80-bc7798963ba3/techcamp-webapp-2024.zip' unzip techcamp-webapp-2024.zip sudo mv techcamp-webapp-2024/* . sudo rm -rf techcamp-webapp-2024 sudo rm -rf techcamp-webapp-2024.zip fi # Install the AWS SDK for PHP if [ ! -f /var/www/html/aws.zip ]; then cd /var/www/html sudo mkdir vendor cd vendor sudo wget https://docs.aws.amazon.com/aws-sdk-php/v3/download/aws.zip sudo unzip aws.zip fi # Update existing packages sudo yum -y update
-
- 코드
- 아래 코드 복사하여 붙여 넣기
- 사용자 데이터
- 인스턴스 시작 클릭
- 인스턴스 접속
- 인스턴스- 해당 인스턴스 체크
- 퍼블릭 IPv4 주소 복사 후 접속
- 접속 시 Welcome to the AWS IMD 출력
- AMI (Amazon Machine Image) 생성
- EC2- 인스턴스 이동
- 위에서 만든 인스턴스 체크 후 작업- 이미지 및 템플릿- 이미지 생성 클릭
- 이미지 이름: webserver-ami
- 이미지 설명: webserver-ami
- 이미지 생성 클릭
- EC2- 이미지- AMI 이동하면 생성한 이미지 확인 가능
- AMI 기반 인스턴스 생성
- 위에서 만든 AMI 체크 후 AMI로 인스턴스 시작 클릭
- 이름: webserver 2
- 키 페어: keypair-seoul
- 네트워크 설정 편집 클릭
- VPC: VPC-Lab 클릭
- 서브넷: public subnet C
- 퍼블릭 IP 자동 할당: 활성화
- 방화벽: 기존 보안 그룹 선택
- 일반 보안 그룹: webserver-sg
- 인스턴스 시작 클릭
- AMI 기반 인스턴스 접속
- 인스턴스- 해당 인스턴스 체크
- 퍼블릭 IPv4 주소 복사 후 접속
- 접속 시 Welcome to the AWS IMD 출력
- 로드밸런서 구성
- EC2- 로드 밸런싱- 로드밸런서 이동
- 로드 밸런서 생성 클릭
- Application Load Balancer 생성 클릭
- 이름: web-alb
- 네트워크 매핑
- VPC: VPC-Lab
- 매핑- 가용 영역
- ap-northeast-2a (apne2-az1) 체크
- ap-northeast-2c (apne2-az3) 체크
- 보안 그룹
- 새 보안 그룹 생성 클릭
- 이름: webalb-sg
- 설명: security group for load balancer
- VPC: VPC-Lab
- 인바운드 규칙: 유형: HTTP, 소스: 내 IP
- 보안 그룹 생성 완료
- 위에서 만든 보안 그룹으로 지정
- 새 보안 그룹 생성 클릭
- 리스너 및 라우팅
- 대상 그룹 생성 클릭
- 기본 구성: 인스턴스
- 이름: webserver-tg
- 프로토콜: HTTP, 포트: 80
- VPC: VPC-Lab
- 대상 등록
- 위에서 만든 두 개의 인스턴스 체크 후 아래의 보류 중인 것으로 포함 버튼 클릭
- 보류 중인 대상 등록 클릭
- 위에서 만든 대상 그룹으로 지정
- 대상 그룹 생성 클릭
- 로드 밸런서 생성 클릭
- 인바운드 규칙 편집
- EC2- 네트워크 및 보안- 보안 그룹 이동
- webserver-sg 클릭 후 작업- 인바운드 규칙 편집 클릭
- 기존 HTTP 규칙 삭제
- 규칙 추가
- 유형: HTTP
- 소스: 사용자 지정. webalb-sg 클릭
- 로드밸런서 접속
- EC2- 해당 로드밸런서 체크
- DNS 이름 주소 복사 후 접속
- 접속 시 Welcome to the AWS IMD 출력
- 새로고침 시 InstanceId와 Availability Zone 값이 변경된다.
728x90
'Conference & Lecture' 카테고리의 다른 글
[웨비나] AWS TechCamp / Amazon DataZone을 통해 멀티 어카운트 환경에서 데이터 거버넌스 구현 (0) | 2024.09.05 |
---|---|
[웨비나] AWS TechCamp / AWS Clean Rooms를 활용한 프라이빗한 데이터 공유 환경 구축 (0) | 2024.09.04 |
[웨비나] AWS TechCamp / 서버리스로 웹 애플리케이션 구축 (0) | 2024.09.03 |
[특강] 학교 특강 / 서비스의 전체 단계 (0) | 2024.05.25 |
[특강] 학교 특강 / 개발자의 업무 수행과 기술 (0) | 2024.05.25 |