-
Azure IaaS Wordpress (6)부하 방지Azure 2022. 11. 16. 17:11
---
---
지금까지 한 것
Azure 가상네트워크
리눅스 가상머신 wordpress설치
azure database for MySQL
위 둘이 엔드포인트 설정해서 연결
보안 설정 추가해서 베스천 서비스
NSG수정
가상컴퓨터 이중화, 두대의 가상컴퓨터를 로드밸런서에 연결해서 배포
사용자는 HTTP로 공인 IP로 접근
공인 IP가 LB에 연결
LB가 두대의 가상 컴퓨터에 알아서 트래픽 분배
그 두대는 엔드포인트를 사용해서 DB에 접근
실제 wordpress를 관리하는 관리자 admini는 공인 IP를 통해서 베스천 서비스에 접근한다
베스천 서비스에서 각각의 가상 컴퓨터에 접근하는 그림
---
오늘 할건 실제론 두대 세대 갖고만 서비스를 할 수 있는게 아니고
커지고 있는 서비스를 하고 있는 업체는 기본적으로 사용자가 많아지거나 폭증하는것을 경험한다
그런것들을 대비하기 위해서는 서버들을 미리 준비해놓거나 이벤트에 대해서(어느정도 부하가 걸리면 서버를 추가..) 요구사항이 있다.
▽이중화 vs 오토스케일링 --둘이 다른 거라는 직관이 부족했었네
이중화는 재해같은것에 대비, 또는 하드웨어 업데이트 등으로 꺼질 수 있을 때고 서비스가 정지 하지 않기 위해
오토스케일링은 부하 대비, 조건에 따라 늘어나는 것
---
애저포탈 > scale set(=가상 머신 확장 집합)
Availability set이런거 선택하는 곳이 없다. 스케일셋 자체가 고가용성을 보장하기 때문에 - ▽다른 서버에 뿌려준다는건가?
이렇게, 퍼블릭 키는 저희가 애저에다가 넣어놨잖아요(아하?)
여기로 오면
이거 복사, 아까 공개 키에 넣기
그러면 실제 내가 갖고 있는 키값으로 여기저기 접근할 수 있다
---
디스크 표준 SSD
---
네트워킹 기존 가상네트워크
서브넷은 서브넷 2가 MySQL이랑 엔드포인트 설정이 안돼 있어서 서브넷 1로 해야해(지금 https://finepiz.tistory.com/551 다시 가보면 MySQL이 가상네트워크 안에 있지 않다)
또
고급, 기존에 있는 시큐리티 그룹
공용 IP 사용 안해 기존 두대랑 마찬가지로
네트워크 인터페이스 옵션 끝
부하분산장치 기존거
Azure LB Basic을 사용하면 Availability set과 vmss(가상머신확장집합)을 같이 사용할 수가 없다. 이렇게 두가지 선택이 되지 않아.
Azure LB standard를 사용하면 가상 컴퓨터도 배포돼있고, 스케일셋도 사용하는데 여러가지 서비스들을 계속해서 연결하는것이 가능
---
확장 중
2개만
수동
축소 정책은 저것들을 기준으로 늘렸다줄였다. 여기선 기본값으로
---
관리
업그레이드 모드
자동, 수동, 롤링
일단 우린 수동. 자세한 내용은 뒤에서
부트진단 끄기(아까같이)
---
상태
사용해도 되고, 안해도 되는데, 사용하면 실제 배포되는 가상 컴퓨터가 어떤 상태인지를 내가 체크하고 문제가 발생하면 가상 컴퓨터를 지우고 다시 배포하는 옵션
사용하지 않으면 가상컴퓨터를 띄우고 여러분들이 설정하는 것
사용하면 어플리케이션이 배포될때까지 기다리고 확인을 함
자동 복구를 켤수도 있고..
어플리케이션 배포 앞에서 수동으로 했기 때문에 우리 수동으로 할거야. 그러면 어플리케이션 상태를 모니터링 할 수 없기 때문에 사용 안함으로 넘어간대(무슨말인지)
---
고급
할당 정책
100개 어쩌고 : 100개 이상의 인스턴스가 하나의 서비스만을 위해 배포가 되느냐?
생각좀 해봐야 한다
지금 쓰고 있는 wordpress도 작은 사이즈인데, 얘를 100대 써도 서버비용만 월 100만원이 나온다.
프로덕션에서는 이걸 권장하지 않고, 권장하는 가장 작은 사이즈가 8만원, 10만원, 20만원 정도 있어. 그럼 그걸 100대 배포한다는건 이미 인프라적으로 1천만원 이상 투자를 할 수 있는 기업이다라는 것
근데 저기서 예를 하든 아니오를 하든 비용이 추가로 드는건 아니다.
분산 알고리즘은 이거든 저거든.. 여러분들이 확인하셔서 선택
Cloud-init : 알고 계시면 좋다
나머지 옵션 : 가상 컴퓨터에서 설명함
---
태그
env test
org microsoft
owner kimsejun
만들기
이런거 확인 할 수 있어. 업그레이드 모드가 Manual, 수동으로 배포한다고
---
vmss 리소스 페이지 > 인스턴스
난 2대 배포했는데 0번부터 3번까지 4대? 뭐임
가상 컴퓨터를 배포할 때 동일 시간대에 한꺼번에 배포를 하게 되는데, 아까 availability set을 설명했을 때 내용을 상기해보면 어디에 어떻게 배포하는지를 누가 관리? MS Azure가 보장해. 그렇게되면 4대를 배포했는데 1대 위에 2대 이상 배포될 수 있는 옵션이 어느정도 생길 수 있겠지? 그래서 그것보다 더 많은 대수를 배포하고(전부 과금이 되는것 아님, 배포하고 running상태가 됐을 때 과금)
새로고침을 해보면 두대만 남고 삭제가 돼 있다
이런식으로 가상컴퓨터 배포하는것을 조율해주는 것을 VMSS에서 알아서 관리해준다
배포를 최적화 하려고 저렇게 0 없어지고 2 없어진 것. 순서대로 아니라고 너무 상심하지 말 것
---
이게 vmss에다가 워드프레스를 설치해야 한다
인스턴스 > 클릭
연결해서 들어가도 되고
---
하지만 우리는 한꺼번에 배포할거야
확장으로 간다
추가
가상컴퓨터 만들때와 동일하다
만들기
스토리지 컨테이너에 있는 script파일 업로드
command수정
버전이 2.0이다 라고 명시가 돼 있다
---
인스턴스 가보면
최신 모델이 아니오 라고 돼 있다
익스텐션이라는걸 추가로 선택했는데. 쟤네둘은 익스텐션이 배포되지 않은 상황
이게 아까의 업그레이드 모드다.
자동이나 롤링은 확장을 추가하거나 크기를 바꾸면(vmss에 있는 모든 가상 컴퓨터의 사이즈가 다 바뀐다) 알아서 바뀜
우리는 수동으로 했으니
체크하고 업그레이드
예
이제 확장이 배포가 된다.
vmss를 사용하면, 모든 서버를 한꺼번에 업데이트하는건 굉장히 위험한 상황이야. 그래서 롤링업데이트를 하실건데 그걸 하나하나 하실수도 있고, 혹은 maintenance시간이라고 해서 새벽 1시부터 3시까지 는 점검시간이야 하고 서비스 못해요 서비스를 중단시켜놓은 상태에서 한꺼번에 업데이트를 하는 방법도 있다. 이런걸 선택사항으로 맡기는게 수동(매뉴얼)
자동은 한꺼번에 같이 업데이트
롤링은 n대씩 차근차근 업데이트하는걸 제공해준다
새로고침 해보면
---
LB의 설정을 다시 한번 확인
LB리소스 페이지 > 백엔드 풀
2대의 일반적인 가상머신
하나의 vmss(2대)
현재 LB뒷단에는 4대의 가상 컴퓨터가 있고, wordpress를 서비스하고 있다
'Azure' 카테고리의 다른 글
Azure IaaS Wordpress (7)오토스케일, 모니터 (1) 2022.11.16 Azure IaaS Wordpress (5)고가용성 옵션, 이중화, AppGW (0) 2022.11.16 Azure IaaS Wordpress (4)보안 추가 (2) 2022.11.16 Azure IaaS Wordpress (3)설치-DB, 엔드포인트추가 (0) 2022.11.14 Azure IaaS Wordpress (2)설치-Wordpress (0) 2022.11.14