0. EC2 생성 설정

- 퍼블릭 IP 할당 부분이 새롭게 생성한 VPC를 활용하면 비활성화 되어있다
- 이를 해결하기 위해 VPC의 서브넷 부분에서 각 가용영역에서 설정 필요

- 서브넷 설정 편집 들어가기

- 퍼블릭 IPv4 주소 자동 할당 활성화 체크
- 이 작업을 2a, 2b, 2c, 2d 영역에서 각각 다 해준다.

- EC2 생성 시 퍼블릭 IP 자동 할당 부분이 활성화 되어 있는걸 확인할 수 있다.

- VPC별로 보안그룹이 존재하기 때문에 새로운 VPC를 사용하면 보안그룹을 생성할 필요가 있음
1. Amazon RDS(Relational Datanase Service); AWS 데이터베이스 서비스
* SQL 문장을 활용
* 완전관리형 서비스 : 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같은 시간 소모적인 관리 작업을 자동화하면서 비용 효율적이고 크기 조정 가능한 용량을 제공

- Aurora (Mysql Compatible) : 기존의 Mysql과 PostgreSQL을 용량과 성능을 향상시켜서 출시
- mysql 선택

- Community - 무료 버전

- 프로덕션 : 맨마지막 부분에 출시해서 비즈니스로 승화시키는 템플릿; 최종 운영에다 런칭
- 프리티어 : 비용이 나오지 않도록 자동으로 셋팅
- 가용성 및 내구성 : 하나의 데이터베이스가 잘못되면 다른 데이터베이스로 옮기는 것 - 프리티어 템플릿 사용시비용 문제로 비활성화됨

- 이름, 마스터 사용자 이름, 마스터 암호를 설정

- 인스턴스는 db.t2.micro 와 db.t3.micro를 무료로 지원; 성능이 좋은 db.t3.micro 선택; 한달에 750시간 무료
- 스토리지 자동 조정 : 온프레미스는 물리적으로 디스크를 확장하지 않는이상 자동 조정이 어렵지만, AWS에서는 가능
- 최대 스토리지 임계값 : Scale up; Vertical, 스토리지가 최대로 증가할 수 있는 용량 설정

- 퍼블릭 엑세스 : 아니요; Bastion host로 접근 필요 -> 퍼블릭 IP가 없기 때문에; Bastion host는 웹서버로 이용할 예정


- 새 보안 그룹 생성 필요 : 웹서버가 2a 가용영역에 있기 떄문에 두 서버를 같이두면 가용영역 사용 불가시 두 서버다 이용 못할 수 있음
- 모니터링 기능은 필요하지 않기 때문에 체크 안함


- 추가 구성 설정시 DB만드는 부분을 생략 가능
$ sudo apt update -y
$ sudo apt-get install -y mariadb-server
$ sudo mysql_secure_installation
$ sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
#bind-address = 127.0.0.1
$ sudo systemctl restart mysql
$ sudo mysql -u root -p
CREATE USER 'wpuser'@'%' IDENTIFIED BY 'wppass';
CREATE DATABASE IF NOT EXISTS wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'%';
quit
- 이부분을 자동으로 수행


- 데이터베이스 생성 버튼 누르기

- Route53으로 설정한 도메인(blog.yunhyeong.shop);webserver 접속시도
- 위와 같이 되면 접속 성공
sudo yum install -y httpd php php-mysql php-gd php-mbstring wget unzip
wget https://ko.wordpress.org/wordpress-4.8.2-ko_KR.zip
cd /var/www/html
sudo unzip /home/ec2-user/wordpress-4.8.2-ko_KR.zip
sudo mv ./wordpress/* .
sudo chown -R apache:apache /var/www/* // recursive 옵션 해당 경로를 apache 소유로 변경
sudo systemctl restart httpd
sudo sestatus // disabled
sudo systemctl enable httpd
- 위에서부터 순서대로 진행하여 워드프레스 설치
mysql
sudo yum install -y mysql
mysql -h database-1.cghdvtao1swe.ap-northeast-2.rds.amazonaws.com -u admin -pdatabase-1.cghdvtao1swe.ap-northeast-2.rds.amazonaws.com
- Mysql 설치 여부 확인 후 설치를 진행하고 DB 서버 접속 진행
- But, 출발지 아이피가 강의장 아이피여서 접속이 안됨 -> 보안그룹 수정

- RDS 서비스에서 보안그룹 항목으로 들어가기

- 인바운드 규칙 편집 버튼 클릭

- 소스 IP를 강의장 IP가 아니라 웹서버 IP로 설정 -> 웹서버가 Bastion host 역할을 하도록 만든다
mysql -h database-1.cghdvtao1swe.ap-northeast-2.rds.amazonaws.com -u admin -pdatabase-1.cghdvtao1swe.ap-northeast-2.rds.amazonaws.com
- DB 서버 접속 재시도 -> 성공

- 브라우저를 통해 웹서버에 접근하면 다음과 같이 워드프레스에 접근할 수 있다
2. Window 서버 VM 생성

- 이름 : winserver
- 버전을 Windows Server 2019 Base로 선택한다

- 인스턴스 유형 : t2.micro로 선택


- 서브넷 가용영역은 신경써서 2c로 해주는게 좋다
- 퍼블릭 IP 자동 할당을 활성화하고 보안그룹을 생성한다
- 보안 그룹에서 3389 포트(원격 데스크톱)를 열어주면, 강의장 PC로 원격 접속이 가능해진다
- 그리고 HTTPS와 ICMP-all은 위치 무관으로 설정해 어디서든 해당포트로 접근이 가능하도록 만든다.

- 8GB의 크기로는 스토리지가 부족할 수 있기 때문에 넉넉하게 30GB으로 설정한다
- 그리고 뒤에나오는 최대 절전 중지방식을 활성화 하기 위해서는 암호화가 필요하다 - KMS 서비스의 기본키를 활용하여 암호화를 한다.

- 최대절전 중지(실행하면 모든 프로세스가 동결되고, RAM의 콘텐츠를 EBS 루트 볼륨에 저장한 다음 일상적인 종료를 수행)모드를 활성화 한다.

- 레코드 생성을 눌러 Route53 실습 때와 마찬가지로 ip주소를 적어주고 레코드 타입을 A레코드로 해준다.

- 인스턴스 화면에서 winserver를 생성하고 연결 버튼을 누른다.

- RDP 클라이언트 항목에서 원격 테스크톱 다운로드를 눌러 원격 프로그램을 설치한다.


- 이후 암호 가져오기를 눌러 암호를 생성하고 원격 프로그램을 실행하여 원격으로 EC2에 연결한다.
'Cloud Solution Architect > AWS' 카테고리의 다른 글
AWS - Autoscaling Group, Bastion host (0) | 2023.04.27 |
---|---|
AWS - VPC peering, Volume생성, Snapshot, AMI (0) | 2023.04.25 |
AWS - AMI, VPC, Route53 (0) | 2023.04.13 |
AWS - EBS, EFS, S3 (0) | 2023.04.12 |
AWS - EC2 (0) | 2023.04.11 |