일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 보안 규칙
- interconnect
- Clean Code
- AWS
- gcp
- IAM
- devops
- docker
- github
- 자격증
- direnv
- Google Cloud Platform
- Terraform Cloud
- pub/sub
- MIG
- cloud armor
- vpc peering
- VAGRANT
- 후기
- 우테캠
- cicd
- vm
- Java
- CentOS
- kubernetes
- cloud function
- cloud
- Uptime Check
- terraform
- Python
- Today
- Total
EMD Blog
ALB와 CloudFront를 사용할 때 VirtualHost 사용 테스트 본문
Virtual Host를 위해 CloudFront 원본 요청 헤더에 호스트를 포함시키려면 레거시 캐시 설정에서 호스트 헤더 설정이 필요함.
https://aws.amazon.com/ko/premiumsupport/knowledge-center/configure-cloudfront-to-forward-headers/
원본 요청 헤더에 호스트를 포함 시켜서 ALB에 요청 시 ALB는 어떻게 호스트를 IIS로 전달할 것인지 고민 필요.
다음과 같은 방법을 조사해봐야함.
- ALB에 호스트기반 라우팅 설정 후 CloudFront의 헤더 호스트를 읽어 적절하게 라우팅
- ALB에서도 요청 헤더에 호스트 정보를 담아 전달
1번의 경우 가능은 한 것으로 보임. 하지만 결국 Host에 따라 적절하게 콘텐츠를 반환해주는 것은 IIS임. 때문에 ALB에서 제공해주는 라우팅 기능은 Host에 따라 /path1, /path2 이런식으로 라우팅 해주는 것인 한계임. 이 말은 IIS에서 Virtual Host 설정을 할 필요는 없다는 뜻.
그런데 ALB 옵션을 보면 preserve_host_header 옵션이 있는 것을 확인할 수 있음. 이 옵션은 호스트 타겟 그룹내 서버에 호스트헤더를 전달할 것인지 결정하는 옵션임.
이 옵션을 활성화해서 2번 방식으로 진행이 되는지 테스트 하였음.
즉, Cloudfront > ALB로 요청 시 헤더에 호스트 정보를 담아 전달하고 ALB에서도 마찬가지로 헤더에 호스트를 담아 IIS로 전달하는 방식
테스트를 위해 그누보드로 간단하게 샘플 어플리케이션과 VirtualHost (각각 test.emadam.shop, test2.emadam.shop)을 구성.
테스트 결과 잘 작동됨을 확인하였음.
'Public Cloud > AWS' 카테고리의 다른 글
[후기] AWS Certified DevOps Engineer - Professional (DOP-C02) 취득 (0) | 2024.07.13 |
---|---|
Github Actions에서 OIDC를 통해 AWS에 액세스 (0) | 2023.01.05 |
EKS에서 Cluster의 IAM role과 Service account IAM role (0) | 2022.12.19 |
Bastion Host를 통한 RDS SQL Server 접속 (0) | 2022.10.22 |
AWS Session Manager를 통한 RDP 연결 (0) | 2022.09.07 |