1. はじめに
こんにちは!株式会社Definerの阪本です!
今回は、タイトルの通り「AWSの構築をやってみる」をご紹介したいと思います。
今回は、タイトルの通り「AWSの構築をやってみる」をご紹介したいと思います。
2. 目的・ユースケース
この記事では、「AWSを使って基本的なリソースを構築する」という目的に向けて、VPCなどの基本的なAWSサービスを活用します。
ITの現場で、「AWSを活用したベーシックな開発を始めたい」ときに、参考になる情報やプラクティスをまとめています。
ITの現場で、「AWSを活用したベーシックな開発を始めたい」ときに、参考になる情報やプラクティスをまとめています。
3. Terraformとは
Terraformとは、HashiCorp社が提供するInfrastructure as Code(IaC)サービスです。
IaCとは、インフラの構築をコード化して管理する手法です。
Terraformは、GO言語で書かれているAWS SDKを使用しています。
Terraformの特徴として、AWS、Azure、GCPなど、マルチクラウドに対応していることが挙げられます。
IaCとは、インフラの構築をコード化して管理する手法です。
Terraformは、GO言語で書かれているAWS SDKを使用しています。
Terraformの特徴として、AWS、Azure、GCPなど、マルチクラウドに対応していることが挙げられます。
4. TerraformでVPCとEC2を作ってみる
早速Terraformでリソースを作成していきます。
Terraformファイルは以下を使用します。
①クレデンシャルの指定
providerブロックで、クレデンシャルを指定します
IAMユーザのキーを入力します
また、ここでリージョンなども指定します
②リソースの指定
ここがAWSリソースを定義している部分です。
Terraformファイルは以下を使用します。
①クレデンシャルの指定
providerブロックで、クレデンシャルを指定します
IAMユーザのキーを入力します
また、ここでリージョンなども指定します
②リソースの指定
ここがAWSリソースを定義している部分です。
# Tokyoリージョンの場合は、AWSの対応評価からap-northeast-1を指定
provider "aws" {
access_key = "${access_key_here}"
secret_key = "${secret_access_key_here}"
region = "ap-northeast-1"
}
# VPCの構築情報を定義
resource "aws_vpc" "my_vpc" {
cidr_block = "10.0.0.0/16"
tags = {
Name = "vpc-example"
}
}
# Subnet情報を定義
resource "aws_subnet" "my_subnet" {
vpc_id = aws_vpc.my_vpc.id
cidr_block = "10.0.1.0/24"
availability_zone = "ap-northeast-1"
tags = {
Name = "subnet-example"
}
}
# network_interfaceを定義
resource "aws_network_interface" "foo" {
subnet_id = aws_subnet.my_subnet.id
private_ips = ["172.16.10.100"]
tags = {
Name = "primary_network_interface"
}
}
# AWS Amiの検索ロジックを定義
data "aws_ami" "ubuntu" {
most_recent = true
filter {
name = "name"
values = ["ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*"]
}
filter {
name = "virtualization-type"
values = ["hvm"]
}
owners = ["099720109477"] # Canonical
}
# Ec2を定義
resource "aws_instance" "foo" {
ami = data.aws_ami.ubuntu.id
instance_type = "t2.micro"
network_interface {
network_interface_id = aws_network_interface.foo.id
device_index = 0
}
credit_specification {
cpu_credits = "unlimited"
}
}
③Terraform実行
まずは「terraform init」コマンドを実行します。
次に、「terraform plan」コマンドで実行計画を策定します。
続いて「terraform apply」コマンドでリソースを作成します。
まずは「terraform init」コマンドを実行します。
次に、「terraform plan」コマンドで実行計画を策定します。
続いて「terraform apply」コマンドでリソースを作成します。
terraform init
terraform plan
terraform apply
5. AWS Consoleで作成したリソースを確認
①AWSConsole画面に、ログインします。
②VPCを検索し、VPC画面を開きます。

③Ec2を検索し、Ec2画面を開きます。

リソースが作成されていることを確認できました!
②VPCを検索し、VPC画面を開きます。

③Ec2を検索し、Ec2画面を開きます。

リソースが作成されていることを確認できました!
6. 引用・参考記事
自宅で学ぼう!AWS 初学者向けの勉強方法 6ステップ! | Amazon ...
【初心者】Amazon EKSを使ってみる (環境構築~サンプルアプリ ...
AWS ParallelClusterでHPCクラスタをお手軽に構築してみる ...
[初心者向け]VPC作成からEC2インスタンス起動までを構成図見 ...
AWSサーバー構築の手順とポイントをわかりやすく解説|コラム ...
[初心者向け]VPC作成からEC2インスタンス起動までを構成図見 ...
ネットワークの勉強方法を聞いてみた。 - AWS - Amazon
デバッグやトラブルシューティングにうれしいアップデート!IoT ...
AWS サポート|AWS
【初心者】Amazon EKSを使ってみる (環境構築~サンプルアプリ ...
AWS ParallelClusterでHPCクラスタをお手軽に構築してみる ...
[初心者向け]VPC作成からEC2インスタンス起動までを構成図見 ...
AWSサーバー構築の手順とポイントをわかりやすく解説|コラム ...
[初心者向け]VPC作成からEC2インスタンス起動までを構成図見 ...
ネットワークの勉強方法を聞いてみた。 - AWS - Amazon
デバッグやトラブルシューティングにうれしいアップデート!IoT ...
AWS サポート|AWS
7. 独自ソリューション「PrismScaler」について
8. お問合せ
本記事では、入門編として有益な情報を無料公開しています。ご相談やお問い合わせは「株式会社Definer」へ。
9. Definerに関して。
・ Definer Incは、ITの上流から下流まで一気通貫のワンストップソリューションをご提供しております。
・ AIやクラウドのITインフラなど、先進的なIT技術のコンサルティングから要件定義 / 設計開発 / 実装、保守運用に至るまでの統合的な支援にコミットしています。
・ DevOpsとCI/CDコンサルティングにより「少ないエンジニアで事業が成長する仕組みづくり」「エンジニアが喜ぶ、採用しやすい環境づくり」「高速なアジャイル開発環境」を実現しています。
・ また、自社プロダクトとしてPrismScalerを展開しております。PrismScalerは、AWS、Azure、GCPなどのマルチクラウド / ITインフラの高品質かつ迅速な、「自動構築」「自動監視」「問題検知」「構成可視化」を実現します。
・ AIやクラウドのITインフラなど、先進的なIT技術のコンサルティングから要件定義 / 設計開発 / 実装、保守運用に至るまでの統合的な支援にコミットしています。
・ DevOpsとCI/CDコンサルティングにより「少ないエンジニアで事業が成長する仕組みづくり」「エンジニアが喜ぶ、採用しやすい環境づくり」「高速なアジャイル開発環境」を実現しています。
・ また、自社プロダクトとしてPrismScalerを展開しております。PrismScalerは、AWS、Azure、GCPなどのマルチクラウド / ITインフラの高品質かつ迅速な、「自動構築」「自動監視」「問題検知」「構成可視化」を実現します。