티스토리 뷰
▣ Private 서브넷과 NAT 게이트웨이 연결

1. Private subnet 생성
>> VPC 진입 >> 서브넷 설정 >> my-pvt-2a ~ 2d까지 생성
>> 10.0.64.0/20 ~ 10.0.112.0/20 까지 생성 >>

2. 라우팅 테이블 생성(Private 서브넷 전용)
>> 라우팅 테이블 생성 >> my-pvt-rtb 이름 기입 >> vpc : my-vpc 선택 >> 라우팅 테이블 생
>> 서브넷 연결 (명시적으로 서브넷 연결을 해야함)


<게이트웨이 종류>
* 인터넷 게이트웨이 : 송/수신 가능 게이트웨이
* NAT 게이트웨이 : ipv4 용
* 송신 전용 게이트웨이 (ipv6용)
* Transit Gateway
2. NAT gateway 생성
EC2 >> 인스턴스 시작 >> 서버명 : dbserver / os : 우분투 >> 네트워크 설정 >>
서브넷 >> my-pvt-2b (목동) 선택 >> db전용 my-sg-db 설정 >>
인바운드 보안 그룹 규칙 : mysql 선택 >> IAM : ec2-role 선택 >>


3. 고급 세부 정보 사용자 데이터 추가
#!/bin/bash
timedatectl set-timezone Asia/Seoul
apt update && apt install -y apache2
4. 최종 인스턴스 생성
dbserver 접근 방법
# 초기 접속 불가
1) 에이전트 미설치
2) 게이트웨이 연결 X (공인IPX)
# 접속 방법
# 클라우드 쉘 접속
# docker 서버로 my-key.pem 전송
scp -i my-key.pem my-key.pem ec2-user@docker.innerinfo.cloud:/home/ec2-user/
# docker 서버로 ssh 접속
ssh -i my-key.pem ec2-user@docker.innerinfo.cloud
# docker 서버에서 db서버로 핑테스트
ping db.innerinfo.cloud
#
NAT 게이트웨이 (1:N)
# NAT 게이트웨이 생성
>> VPC >> NAT 게이트웨이 >> NAT 게이트웨이 생성 >> 서브넷 : my-pub-2d 선택 >>
연결 유형 : 퍼블릭 >>
# 에이전트 접속방법
>> dbserver 재기동 (자동 에이전트 설치)
# db서버 재기동
sudo reboot
# 윈도우 cmd에서 실생
aws ssm start-session --target i-043d2ee60cdc9fa5b
# 우분투 mariadb 설치
sudo su - ubuntu
sudo apt update
sudo apt install -y mariadb-server
# DB 와 WAS 서버 연동 실습
# mariadb root 계정 설정
sudo mysql_secure_installation
# mariadb 접속
sudo mysql -u root -p
# 사용자 계정 생성
CREATE USER 'wpuser'@'%' IDENTIFIED BY 'Test1234!';
CREATE DATABASE IF NOT EXISTS wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'%';
FLUSH PRIVILEGES;
quit
# 접속실패
[ec2-user@ip-10-0-18-163 ~]$ mysql -h db.innerinfo.cloud -u inner -p
-bash: mysql: command not found
# mariadb 명령어 설치해야함
sudo dnf install mariadb105 # mariadb 10.5 버전
# mariadb 보안 설정 해제
sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
# bind_address = 127.0.0.1 <-- 주석처리
# mariadb 접속
mysql -h db.innerinfo.cloud -u inner -p
# 기존 docker 서비스 제거
sudo systemctl disable --now docker
sudo docker rm -f dvwa
sudo docker stop && docker rm
# 신규 docker 워드프레스 설치
sudo dnf install -y httpd php php-mysqlnd php-gd
wget https://ko.wordpress.org/latest-ko_KR.zip
sudo unzip ~/latest-ko_KR.zip -d /var/www/html/
sudo mv ./wordpress/* . ## html폴더에서 실행할것
sudo chown -R apache:apache /var/www/*
sudo systemctl enable --now httpd
# DB <-> 워드프레스와 연동
# 접속
http://docker.innerinfo.cloud

# ALB를 통한 연결
보안 그룹과 NACL 차단
>> VPC >> 네트워크 ACL >>
VPN 연결
<사전 준비>
- vmware 설치
- 로키리눅스 9
# 온프레미스 서버 설치

# AWS VPN 설치
- 설치순서
>> VPC >> 가상 사설네트워크 >> 고객 게이트웨이

>> VPC >> 가상 사설네트워크 >> 가상 프라이빗 게이트웨이



>> VPC >> 가상 사설네트워크 >> Site-to-Site vpn 연결(유료)

=> vpn 연결생성

- 록키리눅스에서 오픈소스 VPN 설치
sudo dnf install -y libreswan
sudo vi /etc/sysctl.conf
# vi 편집으로 기입
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.accept_source_route = 0
#
sudo sysctl -p
- 구성 설정
sudo vi /etc/ipsec.d/aws.conf
conn Tunnel1
authby=secret
auto=start
left=%defaultroute
leftid=61.32.31.241 # 우리회사 공인 ip
right=3.37.85.107 # AWS 공인 ip (vpc tunnel 1)
type=tunnel
ikelifetime=8h
keylife=1h
phase2alg=aes128-sha1;modp1024
ike=aes128-sha1;modp1024
keyingtries=%forever
keyexchange=ike
leftsubnet=192.168.7.0/24
rightsubnet=10.0.0.0/16
dpddelay=10
dpdtimeout=30
dpdaction=restart_by_peer
overlapip=yes
conn Tunnel2
authby=secret
auto=start
left=%defaultroute
leftid=61.32.31.241 # 우리회사 공인 ip
right=52.78.164.59 # AWS 공인 ip (vpc tunnel 2)
type=tunnel
ikelifetime=8h
keylife=1h
phase2alg=aes128-sha1;modp1024
ike=aes128-sha1;modp1024
keyingtries=%forever
keyexchange=ike
leftsubnet=192.168.7.0/24
rightsubnet=10.0.0.0/16
dpddelay=10
dpdtimeout=30
dpdaction=restart_by_peer
overlapip=yes
- 터널 생성을 위한 키교환

#구성 다운로드 파일의 설정
sudo vi /etc/ipsec.d/aws.secrets
61.32.31.241 3.37.85.107: PSK "SXB67kP44aTwWaoF9x6t6MvJacaA6PJA"
61.32.31.241 52.78.164.59: PSK "NGcFbafRZNkLlKsvX1hs7Addz3Dgm_ig"
# 기동 명령어
sudo systemctl enable --now ipsec
- 라우팅 테이블 설정

- VPN 연결상태 확인
