AWS에서 mac1.metal 테라포밍

5232 단어 terraformawstutorial

Updated on the 23rd of October, 2021: Terraform AWS provider now supports Dedicated Hosts natively



2021년 11월 AWSannounced에서 Mac mini 인스턴스를 지원합니다.

나는 이 솔루션이 가지고 있는 많은 제약에도 불구하고 이것이 엄청나다고 생각합니다. 이 오퍼링은 기존 AWS 인프라에 macOS CI/CD를 원활하게 통합할 수 있는 기회를 제공합니다.

그래서 다음은 Terraform을 사용하여 전용 호스트와 인스턴스를 모두 생성하는 빠른 시작 예입니다.

예제에서 단순성을 위해 일부 하드코딩된 값을 사용했습니다.

resource "aws_ec2_host" "example_host" {
  instance_type     = "mac1.metal"
  availability_zone = "us-east-1a"
}

resource "aws_instance" "example_instance" {
  ami           = data.aws_ami.mac1metal.id
  host_id       = aws_ec2_host.example_host.id
  instance_type = "mac1.metal"
  subnet_id     = data.aws_subnet.example_subnet.id
}

data "aws_subnet" "example_subnet" {
  availability_zone = "us-east-1a"
  filter {
    name   = "tag:Tier" # you should omit this filter if you don't distinguish your subnets on private and public 
    values = ["private"]
  }
}

data "aws_ami" "mac1metal" {
  owners      = ["amazon"]
  most_recent = true
  filter {
    name   = "name"
    values = ["amzn-ec2-macos-11*"] # get latest BigSur AMI
  }
}

그렇게 간단합니다. 이제 이를 CI 시스템에 통합하고 기본 호스트가 있는 Mac 인스턴스를 번들로 가질 수 있습니다.

💡 전문가 팁: aws_ec2_instance_type_offerings Data Source를 활용하고 해당 출력을 aws_subnet 소스와 함께 사용하여 가용성 영역 하드코딩을 방지할 수 있습니다.

코드를 보다 균일하고 재사용 가능하게 만들려면 특정 매개변수(예: instance_type 또는 availability_zone )를 입력 변수로 허용하는 Terraform module 으로 코드를 래핑할 수 있습니다.

기사가 마음에 드셨다면 소셜 네트워크에 공유하여 저를 응원해주세요 🙏




.ltag__user__id__51518 .follow-action-button {
배경색: #ffffff !important;
색상: #4f5d75 !중요;
테두리 색상: #4f5d75 !중요;
}



세르히 바실렌코 팔로우



I am an engineer from Ukraine. I like astronomy and everything related to DevOps. I thrive on developing great product offerings, great people, and great teams.

좋은 웹페이지 즐겨찾기