見出し画像

【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件目の投稿です。

よろしければ、スキボタン及びサポートお願いします。勉強の励みになります。


この記事が気に入ったらサポートをしてみませんか?