RDS 데이터베이스
데이터베이스 생성
- 연결 설정. 퍼블릭 액세스는 외부에서 인터넷을 통해 접속하는 것을 설정하는 것이다. 이는 설정 이후에 다시 설정을 변경할 수 없다
- 암호화를 비활성화 하고, 유지 관리에서 마이너 버전 관리 자동 업그레이드를 사용 안함으로 설정한다
데이터베이스를 생성하자
Bastion Host
보안 그룹 생성
- 보안 그룹을 생성해주자. 이는 SSH 접속 및 Bastion Host 에서의 접속을 위한 보안 그룹이다
- 외부에서 SSH 를 통해 접속할 수 있게 설정하자
- Bastion Host 에서 WEB 서버로 접속가능하게 설정한다
- Bastion Host 에서 데이터베이스에 접속가능하게 설정한다
- 10.0.2.200/32 는 Bastion Host 의 Ip 이다. 우리는 Bastion Host 생성시 이 Ip 를 지정해주면 된다. 32 를 통해 하나의 Ip 만을 가리킨다
보안 그룹을 생성하자
보안 그룹 변경
- 인스턴스에 우클릭을 해서 보안에 들어가서 보안 그룹 변경에 들어가자
- RDS 에서는 데이터베이스에 들어가서 수정을 누르자
Bastion Host 생성 및 접속
ec2 에서 인스턴스를 생성하자
- 고급 네트워크 구성에서 새 인터페이스에 Ip 를 지정하자
인스턴스를 생성하자
Bastion Host 접속
- 잘 접속되었다. Ip 는 퍼블릭 Ip 주소, User 는 ec2-user, Key-Pair 는 지정한 Key-Pair 로 지정하여 Putty 로 접속하였다
데이터베이스 접속
Bastion Host 에서 데이터베이스에 접속해보자
[ec2-user@ip-10-0-2-200 ~]$ yum -y install mariadb
- Bastion Host 에서 mariadb-server 설치
[ec2-user@ip-10-0-2-200 ~]$ mysql -u admin -ptest1234 -h mydb1.cqp7tycwmbs4.ap-northeast-2.rds.amazonaws.com
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 98
Server version: 10.6.10-MariaDB managed by https://aws.amazon.com/rds/
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
- 엔드포인트로 접속하면 된다. 계정은 admin 이다
Bastion Host 에서 데이터베이스에 잘 접속된다
보안 그룹 추가 및 탄력적 Ip
web 인스턴스에 탄력적 Ip 를 연결하여 외부에서 SSH 로 직접 접속해보자
- 외부에서 임시로 web 인스턴스에 직접 SSH 접속이 가능하게 보안 그룹을 하나 만들고, 인스턴스에 보안 그룹을 추가하자
- 탄력적 Ip 로 외부에서 web 인스턴스에 직접 SSH 접속이 가능하다
php 설치
접속한 web 인스턴스에서 아래 작업을 하자
[ec2-user@ip-10-0-1-81 ~]$ cat index.php
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$conn = mysqli_connect($servername, $username, $password);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>
sudo yum -y install php php-mysql
이제 해당 인스턴스와 연결된 탄력적 Ip 로 접속해보자