아마존 RDS 접속하기

지난 포스팅 가기

이번에는 지난 포스팅에 이어서, RDS에 접속해서 데이터가 저장될 테이블을 생성해보겠습니다.

목적은 특정한 Form을 제작해서 데이터를 테이블로 전달하는 페이지를 만드는 것입니다.

그것을 위해 우선은 특정한 방법을 통해서 RDS 에 접근해보겠습니다.

데이터 베이스 접속 방법

RDS 인스턴스에 접속을 위해서는 다음과 같은 방법을 사용 가능합니다. 

  1. MySQL 클라이언트 사용: 로컬 컴퓨터에 설치된 MySQL 클라이언트(예: MySQL Command Line Tool, MySQL Workbench)를 사용하여 RDS 인스턴스에 직접 연결합니다. 연결을 위해 필요한 RDS 인스턴스의 엔드포인트와 로그인 정보(사용자 이름과 비밀번호)가 필요합니다.

  2. 타사 데이터베이스 관리 도구 사용: phpMyAdmin, Adminer 등과 같은 웹 기반 MySQL 관리 도구를 사용하여 RDS에 접속할 수 있습니다. 이 도구들은 웹 서버에 설치되어야 하며, RDS 인스턴스로의 접속을 구성해야 합니다.

MySQL Workbench를 사용하여 RDS에 연결하는 방법:

  1. MySQL Workbench를 엽니다.
  2. ‘+’ 아이콘을 클릭하여 새로운 MySQL 연결을 생성합니다.
  3. 연결 설정에서 RDS 인스턴스의 엔드포인트를 호스트 이름으로 입력합니다.
  4. 사용할 포트(기본적으로 3306)를 입력합니다.
  5. 사용자 이름과 비밀번호를 입력합니다.
  6. ‘Test Connection’을 클릭하여 연결이 성공하는지 확인합니다.
  7. 연결이 성공하면, 해당 연결을 저장하고 사용할 수 있습니다.

phpMyAdmin을 사용하여 RDS에 연결하는 방법:

AWS EC2 인스턴스에 phpMyAdmin을 설치한 후, phpMyAdmin 구성 파일(config.inc.php)에서 RDS 인스턴스의 엔드포인트, 포트, 사용자 이름, 비밀번호를 사용하여 RDS 인스턴스로의 접속을 설정할 수 있습니다. 그 후에는 웹 브라우저를 통해 EC2 인스턴스에 설치된 phpMyAdmin에 접속하고, 여기서 RDS 데이터베이스를 관리할 수 있습니다.

위 방법 중 어느 것도 AWS에서 직접 제공하는 웹 인터페이스로 접속하는 것은 아니며, 일반적으로 관리를 위한 도구를 별도로 설정해야 합니다.

EC2 인스턴스에 phpMyAdmin 설치

위 많은 방법들 중 저는 브라우저 통해 들어가기 쉽도록 phpMyAdmin을 설치하는 방식으로 가보겠습니다.

1. EC2 인스턴스에 접속

SSH를 사용하여 EC2 인스턴스에 접속합니다.

오른쪽 코드는 만약 코드로 접속할 때의 예시이고..

그냥 Putty 이용하는 게 좋습니다. 

SSH 접속 방법을 모르겠다면 클릭

				
					ssh -i "your-key.pem" ec2-user@your-ec2-ip


				
			

2. phpMyAdmin 다운로드

웹 서버의 루트 디렉토리로 이동한 다음, phpMyAdmin을 다운로드합니다.

				
					cd /home/ec2-user
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.7/phpMyAdmin-4.9.7-all-languages.zip

				
			

3. 다운로드 한 것 압축 해제 

phpMyAdmin 압축 파일을 해제합니다.

				
					unzip phpMyAdmin-4.9.7-all-languages.zip
mv phpMyAdmin-4.9.7-all-languages phpMyAdmin

				
			

4. 구성 파일 설정 

phpMyAdmin 디렉토리 이동한 후, 구성 파일을 복사 및 수정합니다.
여기서 nano 로 편집기를 불러올 텐데,
이 편집기 안에서 컨트롤 + W 누른 다음에, $cfg 쓰고 엔터 누르면 바로 이동이 됩니다.
여기서 blowfish_secret 이 처음은 ‘ ‘ 으로 되어있는데, 기억할 만한 값을 넣어주세요.

 

				
					cd phpMyAdmin
cp config.sample.inc.php config.inc.php
nano config.inc.php


				
			

5. nginx 설정 업데이트

여기는 약간 복잡할 수 있습니다.
먼저 아래의 코드를 통해서 다시금 nano 편집기를 실행합시다.
그리고 server 블록의 데이터를 추가할 건데요.. 
이 부분은 여기를 클릭 에서 보다 자세하게 확인 가능합니다. 
				
					sudo nano /etc/nginx/nginx.conf

				
			

설정 파일에 있는 server { …. } 에서, 

… 안에 정보가 엄청 많이 있죠? 여기에서 가장 하단에 그냥 아래 코드만 붙여 넣으면 됩니다. 

				
					location /phpmyadmin {
    root /home/ec2-user;
    index index.php index.html index.htm;
    location ~ ^/phpmyadmin/(.+\.php)$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; # 이 경로는 시스템에 따라 달라질 수 있음
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
        root /home/ec2-user;
    }
}

				
			

혹시 Error 500 메시지가 발생하나요? 

그렇다면 아래와 같은 문제 중 하나일 확률이 높습니다.
 
  1. Nginx 오류 로그 확인: Nginx 오류 로그 파일(/var/log/nginx/error.log)을 확인하여 구체적인 오류 메시지를 찾습니다. 이 로그는 문제 해결의 첫 번째 단계가 될 수 있습니다.

  2. 파일 권한 확인: phpMyAdmin 디렉토리와 파일들이 올바른 권한을 가지고 있는지 확인합니다. 웹 서버 사용자(nginx 또는 www-data 등)가 이 파일들을 읽을 수 있어야 합니다.

  3. PHP-FPM 상태 확인: PHP-FPM 서비스가 제대로 실행되고 있고, Nginx와의 소켓 연결이 올바르게 설정되었는지 확인합니다.

  4. PHP 오류 로그 확인: PHP의 오류 로그도 확인하여 phpMyAdmin이나 PHP 스크립트 실행 중에 발생하는 문제를 진단할 수 있습니다.

  5. phpMyAdmin 설정 파일 확인: config.inc.php 파일이 올바르게 설정되어 있는지 확인합니다. phpMyAdmin의 설정이 잘못되었거나 누락된 경우에도 내부 서버 오류가 발생할 수 있습니다.

  6. 서버의 리소스 확인: 때때로 메모리 부족과 같은 리소스 제한으로 인해 500 오류가 발생할 수 있습니다. EC2 인스턴스의 리소스 사용량을 확인해보세요.

  1. Nginx 오류 로그 확인:

    sh
    sudo tail -f /var/log/nginx/error.log

    이 명령어는 최근 Nginx 오류 로그를 보여주며, 발생한 오류의 세부 정보를 파악하는 데 도움이 됩니다.

  2. 파일 권한 확인: phpMyAdmin 디렉토리와 파일의 권한을 확인하기 위해 다음 명령어를 사용합니다.

    sh
    ls -l /path/to/phpMyAdmin

    여기서 /path/to/phpMyAdmin는 phpMyAdmin이 설치된 디렉토리의 경로입니다.

  3. PHP-FPM 상태 확인:

    sh
    sudo systemctl status php-fpm

    이 명령어는 PHP-FPM 서비스의 상태를 보여줍니다. 서비스가 실패하거나 비활성화된 경우 로그를 확인해야 할 수 있습니다.

  4. PHP 오류 로그 확인: PHP 오류 로그의 위치는 설정에 따라 다르지만, 일반적으로 다음 위치에서 찾을 수 있습니다.

    sh
    sudo tail -f /var/log/php-fpm/error.log

    만약 이 경로가 아니라면, php.ini 파일을 확인하여 로그의 정확한 위치를 찾아보세요.

  5. phpMyAdmin 설정 파일 확인: config.inc.php 파일을 에디터로 열어 올바르게 구성되어 있는지 검토합니다.

    sh
    nano /path/to/phpMyAdmin/config.inc.php

    이 파일은 phpMyAdmin의 데이터베이스 연결과 기타 설정 정보를 포함하고 있습니다.

  6. 서버의 리소스 확인: 다음 명령어들을 사용하여 CPU 사용률, 메모리 사용량, 디스크 사용량 등을 확인할 수 있습니다.

    • CPU와 메모리 사용량 확인:
      sh
      top
      또는
      sh
      htop
      (htop이 설치되어 있지 않다면, sudo yum install htop 또는 sudo apt install htop을 사용하여 설치할 수 있습니다.)
    • 디스크 사용량 확인:
      sh
      df -h
      이 명령어는 각 파티션의 사용 가능한 공간을 보여줍니다.
    • SWAP 사용량 확인:
      sh
      free -m
      이 명령어는 메모리와 스왑 영역의 사용량을 보여줍니다.

이러한 단계를 통해 시스템 리소스와 관련된 문제가 있는지, 그리고 phpMyAdmin 또는 PHP 관련 설정에 문제가 있는지 확인할 수 있습니다.