【101】【Terraform】【AWS】VPCとサブネットを設定する。
この記事を読むとTerraformを使ってAWSのVPCとサブネットの設定を行うことができます。
環境設定
terraformの環境設定はこの記事で
VPC
terraformを学ぶとAWSを復習できます。
まずterraformを使ってVPCを作成しましょう。
そもそもVPCとは何でしょうか?
この本でとても分かりやすい例えが書いてありました。
VPCとはルーターやハブなどを用意して環境を整える作業です。
resource "aws_vpc" "docker_ubuntu" {
cidr_block = "10.0.0.0/16"
// DNSサーバーによる名前解決を有効にする
enable_dns_support = true
// パブリックDNSホスト名を自動的に割り当てる
enable_dns_hostnames = true
tags = {
Name = "docker_ubuntu"
}
}
IPアドレス
cidr_block = "10.0.0.0/16"って何でしたっけ?
/16や/24はよく使われる切のよい区切りです。
10.0.0.0/16の場合、10.0.0.0~10.0.255.255の範囲、65536個のIPアドレスを使うという意味です。
10.0.0.0/24の場合、10.0.0.0~10.0.0.255までの範囲、255個のIPアドレスを使うという意味になります。
IPアドレスのネットワーク部とホスト部
/16の場合、下二桁が0.0~255.255という範囲でしたね。
これらをホスト部といいます。
つまり、10.0.0.0/16のホスト部は、下二桁の0.0です。
可変しない、10.0がネットワーク部です。
まとめると、
10.0. | 0.0 /16
ネットワーク部 ホスト部
となります。
/24の場合、下1桁が00~255という範囲でしたね。
つまり、10.0.0.0/24のホスト部は、下1桁の0です。
可変しない、10.0.0がネットワーク部です。
10.0.0 | 0 /24
ネットワーク部 ホスト部
となります。
サブネット
サブネットの設定です。
resource "aws_subnet" "public" {
cidr_block = "10.0.1.0/24"
vpc_id = aws_vpc.docker_ubuntu.id
// このサブネットで起動したインスタンスに自動的に
// IPアドレスを割り当ててくれる
map_public_ip_on_launch = true
availability_zone = "ap-northeast-1a"
tags = {
Name = "docker_ubuntu_subnet_public_basic_1a"
}
}
先程作ったVPCからサブネットを作りました。
なぜサブネットを作るのでしょうか?
サブネットとはネットワークを分割することです。
例えば、学校でインターネットを使ってて、教員用のサブネットと、生徒用のサブネットを分けてネットワークを構築します。
サブネットの2つの利点
物理的な隔離とセキュリティで利点がありあます。
物理的な隔離
この例でいうと、生徒用のサブネットで仮に障害が発生しても、教員用のサブネットは影響がなく安全性が保たれます。
セキュリティ面
サブネットに分けておくと、生徒に見られたくない秘匿情報を教員用サブネットのみで共有でき、安全性が保たれます。
関連記事
参考文献
実践Terraform AWSにおけるシステム設計とベストプラクティス (技術の泉シリーズ(NextPublishing)) オンデマンド (ペーパーバック)
Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂3版
最後に
私がブログを書く目的は、素晴らしい本や、素晴らしい方々の技術記事を知って頂きたいからです。ぜひ、上記の参考文献を見て下さい。(noteなので広告とかは一切ありません。)
現在、株式会社grabssに行くために最後の悪あがきをしています!!
過去の活動
30日間でブログ記事を100件投稿しました。
トータルの投稿数
この記事は101件目の投稿です。
よろしければ、スキボタン及びサポートお願いします。勉強の励みになります。
この記事が気に入ったらサポートをしてみませんか?