일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- WAF
- vpn
- 파이썬 개발 환경 설정
- compute engine create
- iam
- VPC
- EC2
- SSL
- python 개발환경 설정
- 보안그룹
- nat
- subnet 할당
- GCP
- 방화벽
- ACL
- 도커
- 볼륨
- 네트워크
- route53
- 로드밸런싱
- 정책설정
- 서버
- 영림원erp
- aws와 gcp 비교
- python 이란
- AWS
- 서비스 계정
- erp 구축프로젝트
- 방화벽 정책 설정
- 혠기록
- Today
- Total
혜잉이의 소소한 공간
[AWS#5] RDS 구성 본문
① VPC 생성
② 인터넷 게이트웨이 생성 및 VPC 연결
③ 퍼블릿 서브넷 1 생성
④ 퍼블릿 서브넷 2 생성
⑤ 퍼블릭 라우팅 테이블 1 생성(퍼블릭 서브넷 1 연결 및 인터넷 게이트웨이 기본 경로 등록)
⑥ 퍼블릭 라우팅 테이블 2 생성(퍼블릭 서브넷 2 연결 및 인터넷 게이트웨이 기본 경로 등록)
⑦ NAT 게이트웨이 생성
⑧ 프라이빗 서브넷 1 생성
⑨ 프라이빗 서브넷 2 생성
⑩ 프라이빗 라우팅 테이블 1 생성(프라이빗 서브넷 1 연결 및 NAT 게이트웨이 기본 경로 등록)
⑪ 프라이빗 라우팅 테이블 2 생성(프라이빗 서브넷 2 연결 및 NAT 게이트웨이 기본 경로 등록)
⑫ 프라이빗 보안 그룹 생성
⑬ 프라이빗 서브넷 1(가용 영역 1)에 EC2 인스턴스 생성
⑭ 프라이빗 서브넷 2(가용 영역 2)에 EC2 인스턴스 생성
⑮ 애플리케이션 로드 밸랜서 생성
- 이름 정의
MyVPC02
MyIGW
MyPublicSubnet1
MyPublicSubnet2
MyPublicRouting1
MyPublicRouting2
MyNatGW
MyPrivateSubnet1
MyPrivateSubnet2
MyPrivateRouting1
MyPrivateRouting2
MyPrivateSecugroup
PermitHTTP(80), HTTPS(443), SSH(22) and ICMP
Myweb1
Myweb2
MyALBtargetgroup
MyALB
1. VPC 생성 및 IGW 연결
2. 퍼블릭 서브넷 및 라우팅 테이블 생성
3. NAT GW 생성 및 프라이빗 생성 및 연결
# NAT 게이트웨이 생성
# 프라이빗 서브넷 생성
# 프라이빗 라우팅 생성 및 서브넷 연결
4. 보안그룹 생성 및 EC2 생성
# EC2 보안그룹 생성
5. 로드밸런싱 생성
# 대상그룹 생성
* 상태 검사란 ?
로드밸런서가 EC2인스턴스에게 주기적으로 http 요청 메시지를 보냄
응답이 오면 EC2 인스턴스를 로드밸런서 대상으로 냅둠.
응답이 없다면 EC2 인스턴스가 동작하지 않는다라고 판단하고 대상그룹에서 삭제
(동작 여부 판단)
- 아래 보류중인 것으로 포함을 클릭할 것.
- 생성하게 되면 EC2 인스턴스 2개에게 부하분산해서 트래픽을 전달.
# 로드밸런서 생성
* 로드밸런서는 퍼블릭 영역에 생성하는 것.
6. RDS 생성
AWS 에서 설치된 DB 사용 (SaaS)
- 이름 정의
MyDBSecurgroup
주석 - Permit MySQL(3306)
mydbsubnetgroup
mydb
# 보안그룹 생성
EC2를 통해서 접속, 웹서버로부터 데이터를 받고 저장하기 위해서는 해당 포트가 오픈되어 있어야함.
# RDS 서브넷 그룹 생성
# DB 생성
- 위에서 개발/테스트를 선택했기 때문에 기본값은 복제본 생성하지 않음.
EC2인스턴스를 통해서만 접근해야함.
외부에서는 접근할 수 없는 구조.
컴퓨팅 리소스를 연결하게 되면 해당 EC2 인스턴스를 통해서만 접근 할 수 있음.
작업 -> EC2연결 -> myweb1, myweb2 연결
# EC2를 통해서 DB 접근하기 위한 준비 단계
[root@MyWeb1 ~]# yum -y install mariadb105 php php-mysqlnd
[root@MyWeb1 ~]# rpm -qa mariadb105 php8.3 php8.3-mysqlnd
# DB 로그인
[root@MyWeb1 ~]# mysql -h mydb.cluster-cj22ysq84grc.ap-northeast-2.rds.amazonaws.com -u dbadmin -p
MySQL [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| testdb |
+--------------------+
# DB 테이블 생성
MySQL [testdb]> create table users (id int, name varchar(255), password varchar(255));
Query OK, 0 rows affected (0.039 sec)
# DB테이블 정보 추가
MySQL [testdb]> insert into users values(1, 'lee', 'test1');
nsert intQuery OK, 1 row affected (0.004 sec)
o
MySQL [testdb]> users values(2, 'kim', 'test2');
insert into users values(3, 'park', 'test3');insert into users values(2, 'kim', 'test2');
Query OK, 1 row affected (0.004 sec)
MySQL [testdb]> insert into users values(3, 'park', 'test3');
Query OK, 1 row affected (0.003 sec)
# EC2인스턴스 PHP 파일 생성
[root@MyWeb1 ~]# vi /var/www/html/dbconnect.php
<?php
$servername = "RDS 엔드포인트 이름";
$username = "dbadmin";
$password = "toor1234.";
$conn = new mysqli($servername, $username, $password);
if ($conn->connect_error) {
die("Mysql5.7 connection failed: " . $conn->connect_error);
}
echo "Mysql5.7 connection was successful.";
?>
[root@MyWeb1 ~]# systemctl restart httpd
* ALB를 통해서 접근. 처음에는 not found 발생할 수 있음을 참고할 것.
[root@MyWeb1 ~]# vi /var/www/html/select.php
(붙여넣을 땐 a하고서 쉬프트 + 인설트키)
<?php
$servername = "RDS 엔드포인트 DNS 이름";
$username = "dbadmin";
$password = "toor1234.";
$dbname = "testdb";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Mysql5.7 connection failed: " . $conn->connect_error);
}
$sql = "select id, name, password from users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. " " . $row["password"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
[root@MyWeb1 ~]# systemctl restart httpd
'Cloud > AWS' 카테고리의 다른 글
[AWS#7] Auto Scaling & RDS 이중 (0) | 2025.01.19 |
---|---|
[AWS#6] Lambda (1) | 2025.01.18 |
[AWS#4] VPC 구성 (0) | 2025.01.15 |
[AWS#3] S3 서비스 (0) | 2025.01.15 |
[AWS#2] 계정 생성 및 MFA 인증 (0) | 2025.01.15 |