먼저 로드 밸런서 하나를 만들어줘야하는데 ec2에 왼쪽 탭에 로드 밸런서 탭이 존재해서 거기서 설치를 할 수 있습니다!
여기서 우리가 만들건 ALB라서 create 한 다음 scheme는 internet-facing을 골라서 진행했어요 (두개의 차이는 이제 vpc 내부에서 접근하냐 외부에서 접근하냐의 차이고 저는 외부에서 curl을 날려서 확인할 예정이어서 internet-facing을 선택했어요. 이걸 선택하려면 public subnet으로 vpc를 연결해야하는데 저 같은 경우엔 vpc를 하나 만들어서 서브넷 두개를 만들고 그걸 internet gateway로 연결했습니다 ~ ) vpc에서 mapping은 서브넷 두개 만들었던거 다 해줬어요 !
security group은 default를 선택했고 listener 그룹으론 80번 포트에 대해 대상 그룹을 설정했고 대상그룹은 아래에 람다 함수를 선택하고 같은 vpc로 add a function later 옵션을 선택했어요(전 health check도 확인할려고 나중에 추가했습니다 !!)
이제 람다 함수를 만들면 되는데 런타임은 python을 선택했고 아키텍쳐로는 x86_64를 선택했어요! 역할 같은 경우엔 기존 람다 권한을 가진 새 역할을 만들었고 여기에 vpc를 추가하기 위해서 람다 역할에 vpc 관련권한도 넣어줬어요.
이제 대상 그룹의 register 타겟을 통해 만든 함수를 넣은 다음에 처음에 만들었던 로드 밸런서 탭에서 아래처럼 규칙을 수정하는 버튼을 눌러서 원하는 경로에 대한 대상을 선택할 수 있어요!
아래처럼 해당 경로에 대해 특정 함수로 가도록 해줬습니다 ! 그리고 vpc나 해당 보안 그룹에 80번 포트에 대한 인바운드 규칙을 편집해줬고 로드밸런서의 dns name을 복사해서 규칙을 생성했던 경로로 날면 람다의 default로 들어간 응답이 오는걸 확인할 수 있어요!
여기서 더 다양하게 추가하려면 이제 대상 그룹으로 추가적으로 만들고 규칙을 수정해주면 됩니다 !
'Cloud > AWS' 카테고리의 다른 글
AWS Lambda 내용 정리 (0) | 2023.05.28 |
---|---|
AWS Cloudtrail & EventBridge를 이용해서 s3 작업에 대한 컨테이너 작업 (0) | 2023.04.05 |
AWS CodeDeploy에 대해 알아보기 (0) | 2023.04.02 |
AWS Kinesis Data Firehose를 consumer로 이용해서 AWS S3로 데이터 스트리밍 (0) | 2023.03.25 |
springboot + Mysql with AWS Lightsail (0) | 2022.11.04 |