Blog

備忘録

【Terraform】005. EC2インスタンスにElastic IPを設定する - AWS

はじめに

本投稿では、EC2インスタンスをプロビジョニングする際にElastic IPを設定する方法について記載しています。

作業環境

$  hostnamectl status
 Static hostname: terraform
       Icon name: computer-container
         Chassis: container
      Machine ID: ---
         Boot ID: ---
  Virtualization: lxc
Operating System: Ubuntu 22.04 LTS                
          Kernel: Linux 5.4.0-113-generic
    Architecture: x86-64

※ SHELLは、Bashを利用しています。

設定例

Elastic IP を設定


Elastic IPを設定するには、「aws_eip」を記述する必要があります。
また、「output」を指定して、割当られたElastic IPを実行結果として出力することできます。

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 4.16"
    }
  }

  required_version = ">= 1.2.0"
}

provider "aws" {
  # 東京リージョン
  region = "ap-northeast-1"
}

resource "aws_instance" "app_server" {
  # Canonical, Ubuntu, 22.04 LTS, amd64 jammy image build on 2022-06-09
  ami           = "ami-07200fa04af91f087"
  instance_type = "t2.micro"
  key_name      = "awskey"

  tags = {
    Name = "ExampleAppServerInstance"
  }
}

# Elastic IP をEC2インスタンスに設定する設定
resource "aws_eip" "app_server" {
  instance = aws_instance.app_server.id
  vpc      = true
}

output "aws_eip_ip" {
  value = aws_eip.app_server.public_ip
}

無事にプロビジョニングが完了した場合、以下のようにElastic IPで割り当てられたIPが出力されます。

参考サイト