카테고리 없음

AWS 클라우드를 활용한 홈페이지 구축 가이드 (EC2와 MySQL)

idea9329 2025. 1. 7. 21:06
반응형

 

안녕하세요! 이 글은 AWS 클라우드를 활용하여 1년 무료로 EC2 인스턴스를 생성하고, 도메인을 연결하여 간단한 홈페이지를 구축하는 방법을 안내합니다. 초보자도 따라하기 쉽게 작성했으며, 검색 엔진에 잘 노출될 수 있도록 최적화했습니다.


1. AWS 가입 및 1년 무료 계정 설정

1.1 AWS 회원 가입

  1. AWS 홈페이지에 접속합니다.
  2. 회원가입을 진행하고, 신용카드를 등록합니다. (1년 무료로 사용할 수 있지만, 사용량 초과 시 요금이 발생할 수 있으니 주의하세요.)
  3. 이메일 인증 및 전화번호 인증을 완료합니다.

1.2 AWS Management Console 로그인

  1. 가입 후 AWS Management Console에 로그인합니다.
  2. 'EC2' 서비스를 검색하여 EC2 대시보드로 이동합니다.

2. EC2 인스턴스 생성

2.1 무료 티어로 EC2 생성

  1. "인스턴스 시작" 버튼 클릭.
  2. 다음 설정을 선택합니다.
    • 운영 체제(OS): Amazon Linux 2 (64-bit)
    • 인스턴스 유형: t2.micro (무료 티어)
  3. 키 페어(Key Pair) 생성 및 다운로드:
    • SSH로 접속하기 위해 키 페어를 생성합니다.
    • 파일(.pem)을 안전한 곳에 저장하세요.
  4. 보안 그룹(Security Group) 설정:
    • HTTP(80) SSH(22) 트래픽을 허용합니다.

2.2 EC2 시작

  1. 설정 완료 후 인스턴스를 시작합니다.
  2. 대시보드에서 퍼블릭 IPv4 주소를 확인합니다.

3. 도메인 구매 및 연결

3.1 도메인 구매

  1. 가비아, 후이즈 등에서 도메인을 구매합니다.
  2. AWS Route 53 서비스를 이용하여 도메인을 연결할 수 있습니다.

3.2 Route 53에 도메인 등록

  1. AWS Management Console에서 Route 53으로 이동.
  2. "Hosted Zone" 생성 후 구매한 도메인을 입력.
  3. Route 53에서 제공하는 네임서버 정보를 도메인 구매 사이트에 등록.

4. EC2에 LAMP 스택 설치 (Linux, Apache, MySQL, PHP)

4.1 EC2 접속

  1. 터미널 또는 푸티(PuTTY)로 EC2에 접속합니다.
    ssh -i "키파일.pem" ec2-user@퍼블릭IP

4.2 Apache 설치

  1. Apache 웹 서버 설치:
    sudo yum update -y
    sudo yum install -y httpd
  2. Apache 시작 및 부팅 시 자동 실행 설정:
    sudo systemctl start httpd
    sudo systemctl enable httpd

4.3 MySQL 설치

  1. MySQL 설치:
    sudo yum install -y mariadb-server
  2. MySQL 시작 및 부팅 시 자동 실행 설정:
    sudo systemctl start mariadb
    sudo systemctl enable mariadb

4.4 PHP 설치

  1. PHP 설치:
    sudo yum install -y php php-mysqlnd
  2. Apache와 PHP 연동:
    sudo systemctl restart httpd

5. 간단한 홈페이지 업로드

5.1 기본 HTML 파일 생성

  1. Apache 기본 디렉토리로 이동:
    cd /var/www/html
  2. HTML 파일 생성:
    sudo echo "<h1>환영합니다! 홈페이지가 정상적으로 동작합니다.</h1>" > index.html

5.2 퍼블릭 IP로 테스트

  • 브라우저에서 http://퍼블릭IP로 접속하여 HTML 페이지가 표시되는지 확인합니다.

6. 데이터베이스 연동

6.1 MySQL 설정

  1. MySQL 초기 설정 실행:
    • root 비밀번호 설정
    • 익명 사용자 제거
    • 테스트 데이터베이스 삭제
  2. sudo mysql_secure_installation
  3. MySQL에 데이터베이스 및 사용자 생성:
  4. mysql -u root -p CREATE DATABASE mydb; CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword'; GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'%'; FLUSH PRIVILEGES;

6.2 PHP로 DB 연동

  1. PHP 파일 생성:
    sudo nano /var/www/html/db_test.php
  2. 아래 코드를 입력:
    <?php
    $conn = new mysqli('localhost', 'myuser', 'mypassword', 'mydb');
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }
    echo "Database connection successful!";
    ?>
  3. 브라우저에서 http://퍼블릭IP/db_test.php로 접속하여 확인합니다.

7. HTTPS 설정 (선택 사항)

  1. Certbot으로 무료 SSL 인증서 발급:
    sudo yum install -y certbot python3-certbot-apache
    sudo certbot --apache
  2. 브라우저에서 https://도메인으로 접속하여 SSL 연결을 확인합니다.

이 과정을 따라하면 AWS 클라우드에서 도메인 연결과 함께 간단한 홈페이지를 구축할 수 있습니다. 추가적으로 HTTPS 보안을 설정하면 더 안전한 환경을 제공할 수 있습니다. 필요한 부분에 대해 질문이 있다면 언제든 말씀해주세요! 😊

반응형