Notice
Recent Posts
Recent Comments
Link
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Archives
Today
Total
관리 메뉴

쟝이의 세상

AWS에서 웹 애플리케이션 배포하기 위한 프로세스 본문

수업내용

AWS에서 웹 애플리케이션 배포하기 위한 프로세스

zyangee 2024. 10. 16. 12:27
사전에 먼저 도메인을 사 놓아야 합니다~!

📌 호스팅 영역 생성 및 네임서버 설정

✔️ 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 연결

비밀번호 없이 로그인 되는 것을 확인할 수 있음