[AWS] EC2를 이용한 서버 구축

AWS EC2 인스턴스 시작

AWS EC2 프리티어는 최초 12개월 간 매달 최대 750 인스턴스 시간까지 사용 가능하다고 한다.
예전 토이 프로젝트 때 쓰던 인스턴스가 실행 중이던게 있어서 중지해줬다.
예전에 잘못하다가 종료를 중지로 착각하고 눌렀다가 망했던 기억이...

Ubuntu Server 18.04 LTS AMI 선택


프리 티어 사용 가능한 t2.micro 선택한다.


프리티어는 최대 30까지 가능하다 그래서 최대로 설정해본다.


인스턴스에 접근할 수 있는 키 페어를 다운받는다. 분실하지 않도록 주의!


WinSCP를 이용하여 AWS EC2 접속

WinSCP 프로그램을 실행하여 인스턴스에 접속한다. 퍼블릭 IPv4 주소로 접속하면 되고 사용자 이름은 ubuntu에 비밀번호는 입력하지 않는다.


고급 -> 인증 -> 개인키 파일에서 이전에 다운 받은 키 페어를 입력한다.


접속 완료!!


Nginx, PHP, MySQL 설치


nginx 설치
sudo apt update
sudo apt install nginx


인바인드 규칙에 HTTP 유형을 추가한다.

인스턴스 퍼블릭 IPv4 주소를 통해 접속 가능한 것을 볼 수 있다.



mysql 설치
sudo apt install mysql-server
sudo mysql_secure_installation

sudo mysql
php 설치
sudo add-apt-repository universe
sudo apt install php-fpm php-mysql

sudo vi /var/www/html/index.php
<?php
phpinfo();
?>

sudo vi /etc/nginx/sites-available/default
# index.php 추가
# 주석 해제, php7.2-fpm.sock으로 변경

nginx를 재시작한다.

sudo service nginx restart

주소창에 IPv4주소/index.php를 치면

php 정보 출력되는 것을 확인할 수 있다.
-> 제대로 되지 않았다면, 아마 index.php이름의 파일이 다운받아질 것이다.
root 주소가 /var/www/html 이므로, IPv4/var/www/html/index.php의 파일을 가져와라 의미.


외부에서 MySQL 접속


EC2 보안그룹 - 인바인드 규칙에서 다음과 같이 추가한다. 외부에서 접속이 가능하게 허용해주는 것이다. 자동으로 3306포트가 열린다.

create user '아이디'@'%' identified by '비밀번호';
grant all privileges on *.* to '아이디'@'%' identified by '비밀번호';
flush privileges;


sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
# bind-address : 0.0.0.0으로 수정

다음과 같은 코드를 통해 외부에서 mysql의 해당 계정으로 접속 가능하도록 해준다.

EC2 자체에 데이터베이스를 두는 것이 아닌, 따로 RDS를 사용할 것이므로 실제 접속은 나중에 해보기로!




-- 틀린 부분이 있다면 알려주시면 감사하겠습니다! --

좋은 웹페이지 즐겨찾기