VPC피어링이란?
두 VPC 간에 트래픽을 라우팅할 수 있도록 하기 위한 두 VPC 사이의 네트워킹 연결
지원되지 않는 Peering
1. IPv4 CIDR 블록이 같을 경우
2. 여러개의 VPC 하려면 각각 피어링을 해줘야함
B와 C가 통신하려면 B C를 연결해야함. A를 통한 피어링 불가
3. 게이트웨이 또는 프라이빗 연결을 통한 엣지 간 라우팅 불가
ssh -i A인스턴스 키 ec2-user@A의 인스턴스 퍼블릭 IP
ssh -i B인스턴스 키 ec2-user@B의 인스턴스 퍼블릭 IP
sudo yum -y install httpd
$ sudo systemctl start httpd
$ sudo systmectl enable httpd
$ echo "TEST" > index.html
$ sudo cp index.html /var/www/html
$ curl B인스턴스의 private IP
TEST
백업, 소프트웨어 패치, 모니터링, 크기 조정, 복제 같은 시간 소모적인 데이터베이스 관리 태스크를 자동으로 관리해주는 서비스
EC2의 인스턴스를 이용하는 경우 백업, 업데이트 같은 부분은 사용자가 직접해야하지만 RDS사용시 자동으로 해주기 때문에 편리한 부분이 있음
스케일 업, 스케일 아웃
서버 확장을 위한 방법으로
스케일 업 : 서버를 여러 대 추가하여, 시스템을 확장
'로드밸런싱’이 필수적으로 동반
모든 서버가 동일한 데이터를 가지고 있어야 하므로, 데이터 변화가 적은 ‘웹 서버’에 적합한 방식
스케일 아웃 : 고성능의 부품, 서버로 교환하는 방법
한 대의 서버에서 모든 데이터를 처리하므로 데이터 갱신이 빈번하게 일어나는 ‘데이터베이스 서버’에 적합한 방식
Amazon Aurora
새로나온 기술
데이터베이스 서버는 데이터의 보안을 위해 외부 사용자가 접근할 수 없도록 private에 구성해야 함
위에서 만든 VPC A에서 만든 인스턴스를 public-webserver로 사용하고, 새로운 인스턴스를 생성해 VPC A의 private subnet에 연결해서 사용
ssh -i 키파일 ec2-user@웹서버의 퍼블릭 IP
[webserver ~]$ ls -al
total 16
drwx------ 3 ec2-user ec2-user 95 Mar 31 10:50 .
drwxr-xr-x 3 root root 22 Mar 31 10:39 ..
-rw------- 1 ec2-user ec2-user 16 Mar 31 10:50 .bash_history
-rw-r--r-- 1 ec2-user ec2-user 18 Jul 15 2020 .bash_logout
-rw-r--r-- 1 ec2-user ec2-user 193 Jul 15 2020 .bash_profile
-rw-r--r-- 1 ec2-user ec2-user 231 Jul 15 2020 .bashrc
drwx------ 2 ec2-user ec2-user 29 Mar 31 10:39 .ssh
[webserver ~]$ vim .ssh/key
[webserver ~]$ ls -l .ssh/key
-rw-rw-r-- 1 ec2-user ec2-user 1675 Mar 31 11:35 .ssh/key
[webserver ~]$ chmod 400 .ssh/key
[webserver ~]$ ssh -i .ssh/key ec2-user@db서버의 프라이빗 IP
$ sudo yum -y install mariadb-server mariadb
$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb
$ mysql_secure_installation
mysql_sercure_installation 설정 참조
MariaDB [mysql]> grant all privileges on *.* to root@'10.0.%' identified by '1';
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> exit
Bye
dbserver $ exit
logout
Connection to dbserver closed.
webserver $ mysql -u root -p -h 데이터베이스의 프라이빗 IP
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.68-MariaDB MariaDB Server
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)]>
$ mysql -u admin -p -h RDS 엔드포인트
접속이 되지않음
보안그룹의 IP가 자신의 IP로 자동설정되어있음
$ mysql -u admin -p -h RDS 엔드포인트
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 8.0.28 Source distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]>
$ sudo yum update -y
$ sudo yum install -y httpd24 php56 php56-mysqlnd
$ sudo service httpd start
$ sudo chkconfig httpd on
$ sudo groupadd www
$ sudo usermod -a -G www ec2-user
$ groups
ec2-user wheel www
$ sudo chown -R root:www /var/www
$ sudo chmod 2775 /var/www
$ find /var/www -type d -exec sudo chmod 2775 {} \;
$ find /var/www -type f -exec sudo chmod 0664 {} \;
$ cd /var/www
$ mkdir inc
$ cd inc
$ sudo vim dbinfo.inc
<?php
define('DB_SERVER', 'rds 엔드포인트');
define('DB_USERNAME', 'tutorial_user');
define('DB_PASSWORD', '비밀번호');
define('DB_DATABASE', 'sample');
?>
$ cd /var/www/html
$ sudo vim index.php
# 다운받은 파일 붙여넣고 저장