【103】【AWS】【Terraform】EC2インスタンスの作成_仮想サーバーを構築する
この記事を読むとterraformを使ってAWSのEC2インスタンスを設定することができます。
この記事までで、仮想サーバーを構築する準備ができまた。
それでは仮想サーバーを作りましよう。
EC2インスタンスの設定
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 3.27"
}
}
required_version = ">= 0.14.9"
}
provider "aws" {
profile = "default"
region = "ap-northeast-1"
}
resource "aws_instance" "app_server" {
// このamiはUbuntuです
ami = "ami-0df99b3a8349462c6"
// ami = "ami-02892a4ea9bfa2192"
instance_type = "t3.micro"
//キーペアの設定
key_name = aws_key_pair.auth.id
//パブリックIPアドレスを自動的に割り当てる
associate_public_ip_address = true
subnet_id = aws_subnet.public.id
//セキュリティグループ
vpc_security_group_ids = [aws_security_group.docker_ubuntu.id]
tags = {
Name = "ExampleAppServerInstance"
}
}
resource "aws_key_pair" "auth" {
key_name = var.key_name
public_key = var.public_key
}
これで完了ですが、セキュリティグループやキーペアの設定も含まれています。
両者は必須の設定です。
セキュリティグループについて
キーペアについて
基本的な設定
これらを除くと、基本的な設定は
amiの選択
基本性能(インスタンスタイプ)
ストレージ領域
この3つになります。
一度、AWSコンソールで設定すると、どんな種類のamiやどんなインスタンスタイプ(基本性能)があるか、理解しやすいと思います。
セキュリティグループやキーペアを省略すると下記のような形になります。
resource "aws_instance" "app_server" {
// このamiはUbuntuです
ami = "ami-0df99b3a8349462c6"
// ami = "ami-02892a4ea9bfa2192"
instance_type = "t3.micro"
tags = {
Name = "ExampleAppServerInstance"
}
}
//ストレージのサイズの変更
resource "aws_ebs_volume" "example" {
availability_zone = "ap-northeast-1a"
size = 20
tags = {
Name = "terraform_example_1004"
}
}
関連記事
参考文献
実践Terraform AWSにおけるシステム設計とベストプラクティス (技術の泉シリーズ(NextPublishing)) オンデマンド (ペーパーバック)
Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂3版
最後に
私がブログを書く目的は、素晴らしい本や、素晴らしい方々の技術記事を知って頂きたいからです。ぜひ、上記の参考文献を見て下さい。(noteなので広告とかは一切ありません。)
現在、株式会社grabssに行くために最後の悪あがきをしています!!
過去の活動
30日間でブログ記事を100件投稿しました。
トータルの投稿数
この記事は103件目の投稿です。
よろしければ、スキボタン及びサポートお願いします。勉強の励みになります。
この記事が気に入ったらサポートをしてみませんか?