티스토리 뷰

728x90
반응형

- 글을 작성하게 된 원인 

보통의 인터페이스 통신을 위해서 다량의 리스너를 만들어야함에 따른 단순노가다를 줄이기 위함입니다.

해당 글을 참고하여 스크립트를 작성하시면 자동으로도 만들수 있는 프로그램이 만들어질 수 있을 겁니다.

 

- 해당 시나리오 

ALB가 하나 있습니다.

리스너를 50개 만들어야합니다.

대상은 EC2 2대입니다.

- 환경 참고

클라이언트 정보 : 

AWS 환경 : 

멀티어카운트의 SSO 환경으로 Profile을 사용하고 운영기준입니다.

 

1. SSO 로그인을 합니다. - 크롬브라우저 버전 : 131.0.6778.140(공식 빌드) (64비트)

sso 로그인화면
로그인완료

2. AWS cli 권한을 습득합니다.

위에서 로그인했던 크롬브라우저에서 유지하고 윈도우즈 파워쉘을 실행하여 기존 프로파일 등록했던 내용으로 권한을 받습니다. 현재 운영측으로 할 거여서 운영 프로파일로 세션접속합니다.

## aws sso 로그인
aws sso login --profile prod1

sso 세션로그인 시도

위의 명령어 친 이후에는 앞전 로그인하신 크롬브라우저에 인증요청화면이 아래와 같이 뜹니다.

눌러주시고
엑세스 허용
이렇게 브라우저와 파워셀에 완료가 뜹니다.

자 이제 aws cli를 테스트합니다.

가장 단순한 s3 조회를 해봅니다.

## s3 조회
aws s3 ls --profile prod1

 

운영측의 데이터가 잘 조회되네요. 굿

3. 대상 그룹을 생성합니다.(SCP정책이 있어 태그없으면 못만들기에 태그도 동시에 만들도록 합니다.)

## 대상그룹 생성 (태그포함)
aws elbv2 create-target-group --name [회사코드]-tg-prd-[서비스명]-[포트번호] --protocol HTTP --port [포트번호] --vpc-id [VPC ID] --target-type instance --profile prod1 --tags Key=Service,Value=[서비스명]

설명
--name [회사코드]-tg-prd-[서비스명]-[포트번호] : 대상그룹의 이름인데 회사에 정해진 네이밍규칙을 따르죠~
[포트번호] : 숫자만 넣어야죠~
--protocol HTTP : 대문자여야죠~ 소문자해보면 알게되요~
--port [포트번호]  : 실제 대상에 대한 포트죠 숫자만 넣어야죠~
[VPC ID] : vpc id 는 넣어야죠~
--target-type instance : 앞서 시나리오처럼 대상은 인스턴스였죠~
--profile prod1 : 여기는 sso환경이라 저장하신 프로파일을 지정해야 하겠죠~ 저는 prod1을 운영으로 등록한거니 취향~
--tags Key=Service,Value=[서비스명] : 서비스코드정도로 생각해야죠~ 한글안되니~

예시)
aws elbv2 create-target-group --name acom-tg-prd-aservice-80 --protocol HTTP --port 80 --vpc-id vpc-11111111111111111 --target-type instance --profile prod1 --tags Key=Service,Value=aservice

정상적으로 기입하고 잘 실행하면 파워셀 화면이 아래와 같이 뜰거에요.

여기서 생성된 TargetGroupArn 을 잘 복사하세요~

위의 생성된 대상 그룹의 Arn정보를 복사해놓습니다. 뒤에 써야해요 ㅎㅎ

4. 만들어진 대상 그룹을 인스턴스 2대에 연결합니다.

## 해당 대상 그룹에 인스턴스 연결
aws elbv2 register-targets --target-group-arn [대상그룹 Arn] --targets Id=[대상인스턴스id1] Id=[대상인스턴스id2] --profile prod1

아래의 그림처럼 에러없이 커맨트창 뜨면 된거에요~ 당연히 컨솔에서 확인은 해야쥬~ 다하고서는 ㅎㅎ

에러없이 정상적~

5. 기존 ALB에 리스너를 만듭니다.

## 리스너 생성
aws elbv2 create-listener --load-balancer-arn [ALB Arn] --protocol HTTP --port [번호] --default-actions Type=forward,TargetGroupArn=[대상그룹Arn] --profile prod1

아래의 그림과 같이 완료~

이제 컨솔에서 확인해봐요~

## 참고사이트 공식

https://docs.aws.amazon.com/cli/latest/reference/elbv2/

 

elbv2 — AWS CLI 1.36.23 Command Reference

Note: You are viewing the documentation for an older major version of the AWS CLI (version 1). AWS CLI version 2, the latest major version of AWS CLI, is now stable and recommended for general use. To view this page for the AWS CLI version 2, click here. F

docs.aws.amazon.com

이렇게 참고하시면 자동 스크립트만드는 것은 뚝딱이실듯요~

 

위의 한과정으로 샘플링해서 50개 등록을 완전 잘마치었습니다. 참고로 ELB 리스너 50개 이상에 대한 limit해제 필수입니다.~ 

절대 단순노가다는 한번으로 족하고 다음에는 효율적으로~

728x90
반응형
Comments