쟝이의 세상
AWS에서 웹 애플리케이션 배포하기 위한 프로세스 본문
사전에 먼저 도메인을 사 놓아야 합니다~!
📌 호스팅 영역 생성 및 네임서버 설정
✔️ aws 페이지
호스팅 영역은 주로 DNS(Domain Name Server) 관리를 위한 설정이다.
도메인 이름에 내가 구매한 도메인 주소 입력하기 |
👇🏻 생성된 것 확인
✔️ 가비아 페이지
호스팅 영역을 생성한 후 나온 값(라우팅 대상)을 1차~4차에 입력 ** 맨 뒤의 .(점)은 빼고 입력하기 ** |
👇🏻 생성된 것 확인
📌 ACM(AWS Certificate Manager) - 인증서 요청 및 레코드 생성
✔️ 인증서 요청
인증서 요청 버튼 누르고 "다음"
- 기본 도메인 주소와 *.도메인 주소 -> 두 개를 입력 |
👇🏻 생성된 것 확인
✔️ 레코드 생성
Route 53 > 호스팅 영역 > 생성하고자 하는 호스팅 영역 클릭 > 레코드 생성
- 레코드 이름: [인증서의 CNAME 이름] - 레코드 유형: CNAME - 값: [인증서의 CNAME 값] |
👇🏻 생성된 것 확인
📌 VPC
✔️ VPC 생성
VPC > VPC 생성
- "VPC만" 클릭 - IPv4 CIDR : 10.250.0.0/16 |
👇🏻 생성된 것 확인
✔️ 서브넷 생성
VPC > 서브넷 > 서브넷 생성
가용영역 : 아시아 태평양(서울) / ~ 2a |
서브넷 이름: VEC-PRD-VPC-NGINX-PUB-2A IPv4 서브넷 CIDR 블록: 10.150.1.0/24 |
서브넷 이름: VEC-PRD-VPC-TOMCAT-PRI-2A IPv4 서브넷 CIDR 블록: 10.150.2.0/24 |
|
가용 영역 : 아시아 태평양(서울) / ~ 2c |
서브넷 이름: VEC-PRD-VPC-NGINX-PUB-2C IPv4 서브넷 CIDR 블록: 10.150.11.0/24 |
서브넷 이름: VEC-PRD-VPC-TOMCAT-PRI-2C IPv4 서브넷 CIDR 블록: 10.150.12.0/24 |
👇🏻 생성된 것 확인
✔️ 라우팅 테이블 생성
VPC > 라우팅 테이블 > 라우팅 테이블 생성 버튼 클릭
VPC: 라우팅 테이블을 설정할 VPC 선택 | |
라우팅 테이블 생성 |
1) VEC-PRD-RT-PUB 2) VEC-PRD-RT-PRI |
✔️ 서브넷 연결
라우팅 테이블 > 라우팅 테이블 선택 > 서브넷 연결 > 서브넷 연결 편집
라우팅 테이블 선택 > 서브넷 연결 > 서브넷 연결 편집 버튼 클릭 |
VEC-PRD-RT-PUB | VEC-PRD-RT-PUB-2A |
VEC-PRD-RT-PUB-2C | ||
VEC-PRD-RT-PRI | VEC-PRD-RT-PRI-2A | |
VEC-PRD-RT-PRI-2C |
👇🏻 연결 확인
✔️ 인터넷 게이트웨이 생성
인터넷 게이트웨이 > 인터넷 게이트웨이 생성
생성한 인터넷 게이트웨이 ID 선택 > 작업 > VPC에 연결 > 연결할 VPC 선택 > 인터넷 게이트웨이 연결
✔️ 라우팅 추가 **PUB 라우팅 테이블에만**
라우팅 테이블 > 라우팅 편집 > 라우팅 추가
- 대상 0.0.0.0/0 인터넷 게이트웨이 > 연결할 인터넷 게이트웨이 선택 |
👇🏻 연결 확인
✔️ 보안그룹 생성
보안그룹 > 보안그룹 생성
먼저 인바운드, 아웃바운드 규칙 모두 적용 없이 보안그룹만 생성하기
(VPC는 보안그룹을 적용할 서브넷이 있는 VPC 선택)
보안 그룹 | VEC-PRD-VPC-NGINX-PUB-2A |
VEC-PRD-VPC-TOMCAT-PRI-2A | |
VEC-PRD-VPC-NGINX-PUB-2C | |
VEC-PRD-VPC-TOMCAT-PRI-2C |
✔️ 인바운드 규칙 추가 **PUB 보안그룹에만**
보안그룹 선택 > 인바운드 규칙 편집 > 규칙 추가 3개
유형 | 소스 |
HTTPS | Anywhere-IPv4 |
HTTP | Anywhere-IPv4 |
SSH |
Anywhere-IPv4 |
👇🏻 생성 확인
📌 EC2
✔️ 키페어 생성
EC2 > 키 페어 > 키페어 생성
생성버튼을 눌러 다운로드 된 키페어(pem 파일)를 C:/keypair 폴더에 저장 |
📌 S3
✔️ 버킷 만들기
S3 > 버킷 만들기
- 버킷이름: [이름] (zyangee-as-demo) - 객체 소유권: ACL 활성화됨 선택 - 모든 퍼블릭 액세스 차단 "해제" - 체크해주기 -> 현재 설정으로 인해 이 버킷 ~ |
✔️ 버킷에 파일 업로드
버킷 선택 > 객체 > 업로드
👇🏻 업로드 완료
👇🏻 index.html 파일 코드 보기
<html>
<head>
<title>Amazon S3 Homepage Connected Success !!!</title>
<style>
body {margin-top: 40px; background-color: #333;}
</style>
</head>
<body>
<div style=color:white;text-align:center>
<h1>Amazon S3 Homepage Connected Success !!!</h1>
<h2>Congratulations!</h2>
<p><em>Your application is now running on a container in Amazon S3.</em></p>
</div>
</body>
</html>
📌 IAM
✔️ 역할 생성
IAM > 역할 > 역할 생성
- 엔터티 유형: AWS 서비스 - 사용 사례: EC2 - 권한 정책(추가): AmazonS3FullAccess 선택 - 역할 이름: s3fullaccess |
👇🏻 생성 결과
📌 EC2
✔️ 인스턴스 생성
EC2 > 인스턴스 > 인스턴스 시작
이름: VEC-PRD-HTTPD-PUB-2A
인스턴스 유형: t2.micro
키 페어: [생성했던 키 페어 선택] (로그인 할 때 키페어로 로그인을 함)
* 네트워크 설정 <편집>
@ vpc- 연결할 vpc 선택
@ 서브넷 - VEC-PRD-VPC-NGINX-PUB-2A 선택
@ 퍼블릭 IP 자동할당 - 활성화
@ 보안그룹 선택 - VEC-PRD-VPC-NGINX-PUB-SG-2A
> 고급 네트워크 구성
@ 기본 IP - 10.250.1.212
* 고급 세부정보
@ IAM 인스턴스 프로파일 - s3fullaccess 선택(생성한 역할 선택)
@ 사용자 데이터
#!/bin/bash yum install httpd -y service httpd start chkconfig httpd on aws s3 cp s3://zyangee-as-demo/index.html /var/www/html --region ap-northeast-2
위의 코드에서 s3://zyangee-as-demo는 s3 버킷 주소를 나타낸다.
👇🏻 생성 결과
📌 SSH 연결
✔️ MobaXterm 사용하여 SSH 연결
비밀번호 없이 로그인 되는 것을 확인할 수 있음
'수업내용' 카테고리의 다른 글
AWS EKS 사용 - Docker 컨테이너 구축, ECR에 이미지 푸시 (0) | 2024.10.21 |
---|---|
AWS에서 애플리케이션 로드 밸런서를 사용하여 EC2 인스턴스 관리, 배포 (0) | 2024.10.18 |
Kubernetes(Ingress) (0) | 2024.10.04 |
Kubernetes(yaml 파일 수정, service) (0) | 2024.09.30 |
Kubernetes 실습 (0) | 2024.09.27 |