
오류를 해결하고 기록하느라 TIL 작성이 늦어졌지만, 작성해보고자 한다.
Terraform의 data 블록을 통해 다른 모듈의 상태 파일에서 값을 불러올 수 있다. 이를 통해 이미 구성된 리소스의 정보를 재사용할 수 있어, 모듈 간 의존성을 효율적으로 관리할 수 있다.
data "terraform_remote_state" "vpc" {
backend = "local" # 로컬 상태 파일 사용
config = {
path = "../vpc/terraform.tfstate"
}
}
module "bastion_instance_sg" {
source = "terraform-aws-modules/security-group/aws"
vpc_id = data.terraform_remote_state.vpc.outputs.vpc_id
...
위 예제에서 terraform_remote_state 블록은 VPC 모듈의 상태 파일(terraform.tfstate)에서 vpc_id를 가져와 현재 모듈에서 사용할 수 있도록 한다. 이를 통해, 각 모듈이 독립적으로 설계되면서도 필요한 경우 외부의 값을 공유받아 사용할 수 있다.
EC2 Instance Connect 대역 설정

기존에는 EC2 인스턴스 접근 대역을 0.0.0.0/0로 설정하여 어디서나 접근이 가능하도록 설정했으나, 보안 경고 메시지에 따라 특정 대역으로 SSH 접근을 제한할 필요성을 느끼게 되었다.
이에 따라 AWS의 리전별 EC2 Instance Connect의 접근 가능한 IP 대역을 조사하여 정리해보았다.
| IP 대역 | 리전 코드 | 리전 이름 |
|---|---|---|
| 18.206.107.24/29 | us-east-1 | 버지니아 북부 |
| 3.16.146.0/29 | us-east-2 | 오하이오 |
| 13.52.6.112/29 | us-west-1 | 캘리포니아 북부 |
| 18.237.140.160/29 | us-west-2 | 오레곤 |
| 13.233.177.0/29 | ap-south-1 | 뭄바이 |
| 13.209.1.56/29 | ap-northeast-2 | 서울 |
| 15.168.105.160/29 | ap-northeast-3 | 오사카 |
| 3.0.5.32/29 | ap-southeast-1 | 싱가포르 |
| 13.239.158.0/29 | ap-southeast-2 | 시드니 |
| 3.112.23.0/29 | ap-northeast-1 | 도쿄 |
| 35.183.92.176/29 | ca-central-1 | 캐나다 중부 |
| 3.120.181.40/29 | eu-central-1 | 프랑크푸르트 |
| 18.202.216.48/29 | eu-west-1 | 아일랜드 |
| 3.8.37.24/29 | eu-west-2 | 런던 |
| 35.180.112.80/29 | eu-west-3 | 파리 |
| 13.48.4.200/30 | eu-north-1 | 스톡홀름 |
| 18.228.70.32/29 | sa-east-1 | 상파울루 |
그러나 해당 대역으로 인바운드 규칙을 설정하니, 내 맥북에서 인스턴스에 접근을 하지 못한다.
필요한 경우에만 사용하는 것으로 해야겠다.