반응형
Terraform을 사용한 인바운드 규칙에 EC2 인스턴스의 IP 참조
테라폼은 처음인데요.
인바운드 규칙 내에서 NGINX 서버(프라이빗 서브넷)에 액세스할 수 있는 Bastion Host(공용 서브넷에 위치)에 대한 액세스 권한을 부여하는 Security Group을 만들려고 합니다.
기계에서 바스티온으로 SSH하고 바스티온에서 NGINX 서버로 SSH를 전송할 수 있습니다
기술적으로 테라폼 Init을 하면 Bastion Host의 IP가 "생성"되기 때문에 어떤 방법을 사용해야 할지 모르겠습니다.
Variables를 사용할 수 있다고 생각했는데 솔직히 방법을 모르겠어요. 바스티온에 정적 IP를 부여해야 할까요? 그래서 보안 그룹 HCL 코드의 입력 부분에서 IP를 "작성"할 수 있습니까?
아래 코드에 대해 몇 가지 코멘트를 달았습니다. 제 질문을 이해하는 데 도움이 되었으면 좋겠습니다.
resource "aws_security_group" "public_sg" {
vpc_id = aws_vpc.vpc_server_nginx.id
ingress { # SSH from my machine Inbound Rule
protocol = "tcp"
from_port = 22
to_port = 22
cidr_blocks = ["187.74.121.76/32"]
}
ingress { # SSH from Bastion to NGINX Server Inbound Rule
protocol = "tcp"
from_port = 22
to_port = 22
cidr_blocks = [] # How to refer the IP of the Bastion Host?
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
tags = {
Name = "Security Group Name"
}
}
Nginx 서버와 Bastion 서버는 별도의 보안 그룹을 사용해야 합니다. 그런 다음 Nginx 서버의 Security Group에서 Security Group 규칙에 IP 주소 대신 Security Group ID를 지정하여 Bastion 호스트의 Security Group에서 액세스를 허용합니다.
반응형
'개발하자' 카테고리의 다른 글
python에서 사용자 지정 메시지로 오류를 던지고 종료하는 방법 (0) | 2023.09.30 |
---|---|
쿠버네티스 포트와 컨테이너 이름에 허용되는 문자는 무엇인가? (0) | 2023.09.30 |
사용자 지정 Svelte 저장소를 비동기적으로 초기화 (0) | 2023.09.29 |
장치에 공간이 남아 있지 않습니다. 예상치 못한 일입니다. 볼륨 마운트.kubernetes 클러스터의 볼륨에 대한 설정 실패 (0) | 2023.09.28 |
주피터 노트북 사용 권한을 로드하는 동안 오류가 발생했습니다. iynb (0) | 2023.09.27 |