0부터 시작하는 AWS 공부 - RDS & Bastion Host 구성하기

Jaehong Lee·2022년 11월 3일
2
post-thumbnail

RDS 데이터베이스

데이터베이스 생성

  • 위와 같이 이름과 엔진 선택

  • 템플릿은 프리 티어로 설정한다

  • 식별자와 사용자 설정

  • 스토리지 설정

  • 프리티어는 다중 AZ 배포를 지원하지 않는다

  • 연결에서 VPC 와 서브넷 설정

  • 연결 설정. 퍼블릭 액세스는 외부에서 인터넷을 통해 접속하는 것을 설정하는 것이다. 이는 설정 이후에 다시 설정을 변경할 수 없다

  • 추가 구성은 위와 같이 설정한다

  • 암호화를 비활성화 하고, 유지 관리에서 마이너 버전 관리 자동 업그레이드를 사용 안함으로 설정한다

데이터베이스를 생성하자


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 를 지정하자

인스턴스를 생성하자

  • 프라이빗 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 주소를 할당해주자

  • 탄력적 Ip 주소 연결을 누르자

  • Ip 주소를 연결하자

  • 탄력적 Ip 로 외부에서 web 인스턴스에 직접 SSH 접속이 가능하다

php 설치

접속한 web 인스턴스에서 아래 작업을 하자

[ec2-user@ip-10-0-1-81 ~]$ cat index.php
<?php
$servername = "localhost";
$username = "username";
$password = "password";

// Create connection
$conn = mysqli_connect($servername, $username, $password);

// Check connection
if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>
  • index.php 작성
sudo yum -y install php php-mysql
  • php 와 php-mysql 을 설치하자

이제 해당 인스턴스와 연결된 탄력적 Ip 로 접속해보자

profile
멋진 엔지니어가 될 때까지

0개의 댓글