OPS

[Terraform실습] 인스턴스

찻잔속청개구리 2022. 1. 10. 10:42
반응형

이번 포스팅에서는 기본적인 형태로 배스천, web, was 인스턴스를 만들다.
배스천은 퍼블릭서브넷 a존에 두고 프라이빗서브넷에 진입하기 위한 용도로 사용한다.
web과 was에는 각 웹서버와 WAS를 설치할 예정인데 오늘은 인스턴스만 만들어보도록 하자.

#배스천 resource "aws_instance" "bastion" { ami = "ami-xxxxxx" instance_type = "t2.micro" key_name = "honeydew" vpc_security_group_ids = [aws_security_group.sg_bastion.id] availability_zone = "ap-northeast-2a" private_ip = "192.168.0.11" subnet_id = aws_subnet.pubsuba.id iam_instance_profile = "honeydew_role" tags = { "Name" = "bastion_instance" } } #배스천에 집입하기 위한 EIP 생성 resource "aws_eip" "bastion_ip" { vpc = true instance = aws_instance.bastion.id depends_on = [aws_internet_gateway.igw] } output "bastion_public_ip" { value = aws_eip.bastion_ip.public_ip } #web resource "aws_instance" "web" { ami = "ami-xxxxxx" instance_type = "t2.micro" key_name = "honeydew" vpc_security_group_ids = [aws_security_group.sg_web.id] availability_zone = "ap-northeast-2a" private_ip = "192.168.2.11" subnet_id = aws_subnet.weba.id tags = { "Name" = "web_instance" } } #was resource "aws_instance" "was" { ami = "ami-xxxxxx" instance_type = "t2.micro" key_name = "honeydew" vpc_security_group_ids = [aws_security_group.sg_was.id] availability_zone = "ap-northeast-2a" private_ip = "192.168.4.11" subnet_id = aws_subnet.wasa.id tags = { "Name" = "was_instance" } }



1. aws 콘솔화면으로 3개의 인스턴스가 잘 생성된 걸 확인할 수 있다.


오류가 잘 생기는 부분인데, 지정한 프라이빗 주소로 인스턴스도 무사히 생성되었다.


그리고 이 배스천 퍼블릭 아이피를 통해 프라이빗 서브넷에 진입할 수 있다.

배스천 인스턴스의 ip인 ~0.11에서 web 인스턴스 ip인 ~.2.11로 들어가본다.

exit하고 이번에는 was 인스턴스 ip인 ~.4.11로 들어가본다.

잘 된다.

이상, 이번 포스트에서는 인스턴스 3개를 만들었고, 배스천 호스트를 통해 프라이빗서브넷에 있는 web과 was를 ssh로 들어가는 것까지 실습해보았다.

반응형