Azure
스토리지 계정 만들기
스토리지 계정 이름은 특별하게 주세용
(나머지는 전부 디폴트 값!)
리소스로 이동
데이터 스토리지 > 컨테이너
현재는 퍼블릭이 아니기 때문에 보이지 않음!
SAS(Share Access Sign) 생성 : 토큰을 주어서 일시적으로 다운을 받을 수 있게 만드는 것
-리소스 그룹 삭제-
AWS
인스턴스 만들기
도메인 조인 디렉터리 : Active Directory를 통해서 지금 만든 서버에 접근여부를 셋팅하는 고
IAM 인스턴스 프로파일: SyStem Manager 통해서도 접근 가능
최대 절전 중지 방식 : 절전모드
종료 방지 : EC2가 쉽게 삭제되지 않도록 도와주는 기능
중지 방지 : power off 방지
세부 CloudWatch 모니터링 : 기본은 5분임! 세부는 1분 간격으로 살펴보는 기능(비용 발생함)
크레딧 사양 : CPU 사용량을 보고 자동으로 CPU 크기를 scale up 시켜줌
배치 그룹 : 데이터센터가 있는데 몇 층에 몇번 캐비넷에 EC2를 배치시킬 것인지 전략을 세워 실행해줌
스팟 인스턴스 : 종량제 방식보다 90%이상 저렴함
+ 내가 이용하는 와중에도 경매는 실행이 되고 나보다 높은 금액을 부르는 고객에게 넘어감
테넌시 : EC2 인스턴스가 물리적 하드웨어에 분산되는 방식을 정의하고 요금에 영향을 줌
bastion-nat
--------AWS NAT 인스턴스 설정-------------
#!/bin/bash
cd /tmp
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
yum install -y unzip mysql
unzip awscliv2.zip
./aws/install
timedatectl set-timezone Asia/Seoul
sysctl -w net.ipv4.ip_forward=1
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
yum install -y iptables-services
service iptables save
NAT 인스턴스의 역할을 하기 위해서 반드시! 소스/대상 확인 대상 변경을 "중지" 시켜주어야 함.
가끔씩 이 '중지'가 풀리는 경우도 있기 때문에 체크를 해주세용
기본적으로 인스턴스는 트래픽이 자신이 목적지가 아닌 IP 트래픽이 들어왔을 경우 폐기하는데
반대로 인스턴스에서 나가는 트래픽의 출발지 IP가 자기자신이 아닌 경우도 폐기한다.
NAT Instance는 masquerade(마스커레이드)를 통해서 출발지 IP와 포트 번호를 변경하고 기록하고
이후, 라우팅 테이블에 따라서 인터넷 게이트웨이로 트래픽을 보내게 된다.
즉, Private EC2에서 보내는 출발지 IP와 포트 번호를 변경하기 때문에「소스/대상 확인 비활성화」를 할 필요가 있음!!
(결론: NAT instance로 사용하기 위해서 꼭 소스/대상 확인 대상을 "중지"시켜야함)
라우팅테이블 수정
인스턴스 만들기
AMI는 이걸로!!
pub ip가 없으면 이 vm이 pub subnet에 있더라도 인터넷 연결이 되지 않음
#!/bin/bash
timedatectl set-timezone Asia/Seoul
yum install -y httpd
systemctl enable --now httpd
echo "<html>
<head>
<title>My WEB01</title>
</head>
<body>
<h1>Hello, WEB01!</h1>
<p>This is a simple HTML page generated using echo command.</p>
</body>
</html>" > /var/www/html/index.html
인스턴스 하나 더 만들기
AMI는 저걸로 하면 안됨!!
#!/bin/bash
timedatectl set-timezone Asia/Seoul
apt update
apt install -y apache2
echo "<html>
<head>
<title>My WEB02</title>
</head>
<body>
<h1>Hello, WEB02!</h1>
<p>This is a simple HTML page generated using echo command.</p>
</body>
</html>" > /var/www/html/index.html
인스턴스 연결하기
각각의 private IP로 Ping은 되나 curl이 되지 않음
ssh -i my-key.pem ec2-user@[webserver 프라이빗 ip]
ssh -i my-key.pem ubuntu@[dbserver 프라이빗 ip]
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8081 -j DNAT --to 10.106.73.235:80
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8082 -j DNAT --to 10.106.109.140:80
curl ifconfig.io
각 각 web01 / web02의 private IP임
my-sg-web의 보안그룹에 아직 8081/8082의 포트가 추가가 안되었기 때문에 아직 설정된 것이 아님..
so..
my-sg-web 보안그룹 인바운드 규칙 넣어주기
8082로 접근이 가능하였음!!
sudo iptables -nL -t nat
80이 열려있어야 함
참고: https://blog.naver.com/alice_k106/221305928714
sudo hostnamectl set-hostname bastion-nat
사용자는 반드시 ALB를 들어오게 됨
그리고 ALB에서 WAF가 트래픽 분석을 함(이상하다 싶으면 차단신호를 보냄)
$ ssh -i my-key.pem ec2-user@10.106.73.235
$ sudo hostnamectl set-hostname webserver
$ ssh -i my-key.pem ubuntu@10.106.109.140
$ sudo hostnamectl set-hostname dbserver
웹 서버
sudo yum install -y httpd
디비 서버
$ sudo apt update
$ sudo apt install mariadb-server nfs-common -y
$ sudo mysql_secure_installation
$ sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
#bind-address = 127.0.0.1
$ sudo systemctl restart mysql
$ sudo mysql -u root -p
CREATE USER 'wpuser'@'%' IDENTIFIED BY 'wppass';
CREATE DATABASE IF NOT EXISTS wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'%';
quit
'Azure' 카테고리의 다른 글
azure-webapp 구축하기 (0) | 2024.04.17 |
---|---|
Azure 관련 용어 (0) | 2024.04.16 |
Azure-webapp 만들기 (0) | 2024.04.16 |
Azure 2 (0) | 2024.01.16 |
Azure 1 (0) | 2024.01.15 |