초보 개발자

AWS ASG 실습 본문

AWS SAA

AWS ASG 실습

taehyeki 2023. 2. 1. 08:00

Auto Scailing Group을 만들기 위해선

먼저 템플릿이 필요하다. 이 템플릿을 바탕으로 ASG가 인스턴스를 만든다.

이름을 정해주고 Auto Scailing 지침에 체크를 해주었다..

Auto Scaling 지침을 체크하면 서브넷을 고를 수가 없다.  반대로 체크 안하면 고를 수 있다.

오토 스캐일링은 특정 서브넷 네트워크를 특정하는데, 만약 시작템플릿에서 그와 다른 서브넷으로 못을 박아버리면, 오토스캐일과 충돌이 나기때문이 아닐까? 이런 경우에 오토스케일 자체가 생성이 안된다. 그래서 한번 실험을 해보았는데, 지침 체크를 해제하고 같은 vpc내에 있는 서브넷을 고르면 오토스케일이 생성이 된다. 그리고 내가 만약 1a퍼블릭을 지정했어도 오토스케일에서 지정한 서브넷에 생성이 된다. ( 1c private )

ami를 기본으로 정하고 인스턴스 용량도 프리티어로 해주었다.

 

 

아무튼 이렇게 기본값만 넣고 만들어주었다.

ASG를 생성해보자 먼저 이름을 적고, 위에서 만든 템플릿을 넣어주었다.

위에서 말한 내용이다. 오토스캐일 생성할 때 서브넷을 프라이빗으로 해주는 것이 좋다. 여기서 삽질을 엄청했고 지금도 그 이유를 잘 모르지만. 설명해보자면, 먼저 ELB와 ASG를 연결할때, ELB에서 로드밸런스 노드를 생성하기 위해 가용영역과 특정 서브넷 하나를 지정해야한다. 근데 여기서 외부 인터넷과 내부 서버를 연결하려면 인터넷 페이싱이란걸 (외부 ) 선택해야하기에 무조건 퍼블릭 서브넷을 지정해야한다.

 

반대로 내부 트래픽을 내부 서버에 전달하려면 내부라는 것을 클릭해야 한다.

 

그럼 나는 외부에서 접근할 것이니까 외부의 퍼블릭을 만들어주었고, 위에서 정한 서브넷, 프라이빗말고 퍼블릭 2개를 더 지정하여 총 4개의 서브넷을 만들었다. 따라서 저렇게 만들면 시작템플릿으로 인스턴스를 만들고 저 해당 서브넷에 집어 넣는다. 그럼 골고루 인스턴스가 만들어지는데, 여기서 퍼블릭에 생성된 것은 헬스체크에서 에러가 나버린다. 찾아보니 로드밸런서 노드가 있는 서브넷 즉 같은 퍼블릭 서브넷에 있는 인스턴스에는 전달을 안한다고 하는 글을 어디서 본 적이 있다. 그래서 그런가 싶은데 확실하진 않다.

 

이렇게 하면 오류가 안나고 모두 헬스체크가 잘된다.

로드밸런서에는 퍼블릭 서브넷을 설정하고, 오토스케일링에서는 프라이빗 서브넷을 선택한다.

그럼 인스턴스들은 모두 프라이빗 서브넷에서 생성이 되고, 퍼빌릭 서브넷에 있는 로드밸런서 노드들이 잘 분배해주는거 같다.

이 이외에는 오류가 발생할 수 있다. 나중에 이거에 대해 좀 더 찾아봐야겠다,.

시작템플릿을 덮어쓸 수 있어서  인스턴스의 옵션을 추가해줄 수 있다 일단 덮어쓰지 않고 만들겠다.

 

기존 로드 밸런서를 이용하여 만들어보자 (나는 근데 현재 로드밸런서가 없는 상태인데 체크가 가능하네? )

타겟그룹을 만들 때 VPC는 오토스케일과 같도록 지정해주었다.

이렇게 해서 시작템플릿과 오토스케일링을 만들어 연결하였다.

이 후에는 로드밸런서를 생성하여 대상그룹과 연결만 해주면 끝난다.

그 대상그룹은 오토스케일링이 알아서 만들어주기에 이것으로 연결이 끝난다.

 

 

'AWS SAA' 카테고리의 다른 글

AWS Route 53  (0) 2023.02.05
AWS RDS  (0) 2023.02.02
AWS ELB 실습  (0) 2023.01.30
AWS ELB, ASG  (0) 2023.01.29
AWS EFS 실습  (0) 2023.01.29