오픈 스택 정전으로 인해 깨져서 재 설치함.
스냅샷 찍는 것을 잊지말자
메인 주제는 Hybrid 클라우드가 메인 주제이다.
총 6개의 제품을 사용해봤다는 걸 복습, 증거 남기려고임.
트래픽이 Route53 을 통과하는 것이 아님
경로를 지정만 해줌
https://aws.amazon.com/ko/blogs/korea/amazon-route-53-application-recovery-controller/
Route53 - 상태검사 - 상태 검사 생성
호스팅 영역 클릭 - 레코드 생성 클릭
레코드 이름 : gslb
트래픽 라우팅 대상 : 서울리전 alb | 도쿄리전
라우팅 정책 : 장애 조치
장애 조치 레코드 유형 : 기본(active) | 보조(passive)
상태확인ID : active | passive
아래에 다른 레코드 추가 눌러서 도쿄리전도 추가함.
HAproxy를 개입시켰기에 가능함 .
https://gslb.wonyyy.shop/ 로 접속
서울에 장애를 발생시켜 도쿄로 붙게 하기
서울 HAproxy를 멈춰서
[ec2-user@ip-10-19-36-88 ~]$ sudo systemctl stop haproxy
[ec2-user@ip-10-19-36-88 ~]$ sudo systemctl status haproxy
● haproxy.service - HAProxy Load Balancer
Loaded: loaded (/usr/lib/systemd/system/haproxy.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Mon 2022-06-20 02:34:17 UTC; 9s ago
https://gslb.wonyyy.shop/ 로 접속하면 서울 서버가 죽었음에도 정상 작동확인
서울 도메인으로 들어가면 502 badgateway가 뜨지만 도쿄 도메인으로 접속하면 정상적으로 접속된다. 따라서 도쿄리전으로 로드밸런싱이 된 것을 확인
도쿄 리전도 멈추고 서울리전 가동
[ec2-user@ip-10-19-36-88 ~]$ sudo systemctl start haproxy
https://www.alibabacloud.com/ko/knowledge/what-is-vpn
libre swan 설치해야함 오픈스택에
--- route53(GSLB 구현)
--- AWS VPN 연결(하이브리드 클라우드 구현)
--- AWS Storage Gateway(온프레미스 애플리케이션에 사실상 무제한의 클라우드 스토리지 액세스 제공)
--- AWS VPN 설정
고객게이트웨이
가상 프라이빗 게이트웨이
사이트 간 VPN 연결
정적 라우팅 192.168.0.0/21
로컬 IPv4 네트워크 CIDR
192.168.0.0/21
원격 IPv4 네트워크 CIDR
172.31.0.0/16
구성다운로드
라우팅 테이블
192.168.0.0/21 vgw-01841bd5f4180dcbb
172.31.0.0/16 local
0.0.0.0/0 igw-0615aa4e569769057
---
Libreswan은 "IPsec" 및 인터넷 키 교환 ( "IKE" ) 을 사용하여 가장 널리 지원되고 표준화된 VPN 프로토콜의 무료 소프트웨어 구현입니다 . 이러한 표준은 IETF ( Internet Engineering Task Force )에서 생성 및 유지 관리합니다.
dnf install -y libreswan
systemctl enable --now ipsec
# vi /etc/sysctl.conf
net.ipv4.ip_forward = 1 // 리눅스를 라우터시스템으로 만드는 명령어
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
for vpn in /proc/sys/net/ipv4/conf/*;
do echo 0 > $vpn/accept_redirects;
echo 0 > $vpn/send_redirects;
done
sysctl -p
site-to-site VPN 연결 - 연결 생성 클릭
VP-GW 도 EFS 인스턴스와 닿아야한다.
// vpn에 접속하는 작업, 가용성을 높이기 위해 두개의 터널생성
# vi /etc/ipsec.d/aws.conf
conn Tunnel1
authby=secret
auto=start
left=%defaultroute
leftid=123.142.252.25
right=13.125.101.180
type=tunnel
ikelifetime=8h
keylife=1h
phase2alg=aes128-sha1;modp1024
ike=aes128-sha1;modp1024
keyingtries=%forever
keyexchange=ike
leftsubnet=192.168.0.0/20 // 학원네트워크
rightsubnet=10.19.0.0/16 // AWS 네트워크
dpddelay=10
dpdtimeout=30
dpdaction=restart_by_peer
overlapip=yes
conn Tunnel2
authby=secret
auto=start
left=%defaultroute
leftid=123.142.252.25
right=52.78.151.252
type=tunnel
ikelifetime=8h
keylife=1h
phase2alg=aes128-sha1;modp1024
ike=aes128-sha1;modp1024
keyingtries=%forever
keyexchange=ike
leftsubnet=192.168.0.0/20 // 학원네트워크
rightsubnet=10.19.0.0/16 // AWS 네트워크
dpddelay=10
dpdtimeout=30
dpdaction=restart_by_peer
overlapip=yes
# vi /etc/ipsec.d/aws.secrets
123.142.252.25 3.34.36.115: PSK "2m939K.KGiByiplD6DGUAsFEEmkApb10"
123.142.252.25 3.35.90.173: PSK "HjMIcLeAS_VgGVpXfEXtFW6sicPsbDNe"
systemctl restart ipsec
아래와 같이 AWS와 온 프레미스 환경이 통신 할 수 있다.
sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport 172.31.6.162:/ efs
mysql -h 172.31.28.207 -u admin -p
---
IKE란 ISAKMP와 IPSec에서 사용되는 키 관리 프로토콜이다. IKE는 상호 개체간에 인증된 보안
통신 채널을 생성한다.
이 과정을 수행하기 위해서는 상호간에 서로를 인증하고 필요한 키를 교환해야 한다. IKE를 통
한 협상 과정은 IKE 1단계(ISAKMP SA-Security Association)와 IKE 2단계(IPSec SA)로 구성된
다. 이렇게 두단계의 SA가 생성되면 두 개체간에 전송되는 패킷들은 IPSec을 통하여 암호화와
인증 기능을 보장받게 된다
---
# 연결 설정 기본값으로, 다른 connection에게 상속된다.
conn %default
ikelifetime=1440m # IKE Phase 1의 수명으로, 기본 1일.
keylife=60m # IKE Phase 2의 수명으로, 기본 1시간.
rekeymargin=3m # Phase 1 및 2의 SA 만료 전 n분에 SA 협상을 실행.
authby=secret
# ASA 연결을 위한 connection 추가
conn ASA
left=100.10.10.1 # SWAN의 외부 주소.
leftsubnet=192.168.0.0/24 # SWAN 내부 네트워크.
leftid=100.10.10.1 # SWAN의 식별자.
right=100.10.10.2 # ASA의 외부 주소.
rightsubnet=192.168.1.0/24 # ASA 내부 네트워크.
rightid=100.10.10.2 # ASA의 식별자.
auto=add # SWAN 실행 시 해당 conn을 로드하고 연결 대기.
ike=aes128-sha1-modp1536 # 보안 매개변수.
esp=aes128-sha1 # 터널 모드이므로 esp.
keyexchange=ikev2 # Phase 1에서 IKEv2 사용.
---
https://libreswan.org/man/ipsec.conf.5.html
퍼블릭 서브넷 rtb
프라이빗 서브넷 rtb
오픈스택 라우팅 테이블 세팅
seoul 인스턴스 mobaxterm 접속
오픈스택에서 iptables -F 해준뒤
오픈스택에서 systemctl restart ipsec 해준다.
오픈스택 인스턴스와 aws 인스턴스 끼리 ping 날려본다.
오픈스택 인스턴스 ip는 퍼블릭 ip로, aws 인스턴스는 프라이빗 ip로.
라우터 - 정적 경로에서
연결할 서버의 ip 대역과 라우터 앞단 정보를 넣으면 연결된다.