ネットワーク:VPC、サブネット、Security Group
クラウドネットワークリソースを構築します。
「ネットワーク:VPC、サブネット、Security Group」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
サーバーにはネットワークが必要
インスタンスが何かと通信するには、ネットワーク環境が必要です。プライベートネットワーク、サブネット、ファイアウォールルールを用意します。Ansible なら 3 つすべてを構築できます。🌐
VPC から始める
VPC は AWS 内に構築する分離されたプライベートネットワークです。ec2_vpc_net モジュールは、指定した CIDR ブロックから VPC を作成します。
amazon.aws.ec2_vpc_net:
name: app-vpc
cidr_block: 10.0.0.0/16CIDR でアドレス範囲を定義する
cidr_block は、VPC が保有するプライベート IP の数を設定します。/16 なら、分割して利用できるアドレスはおよそ 65,000 個です。
サブネットを切り出す
subnet は VPC の一部で、通常はアベイラビリティーゾーンごとに 1 つ作成します。ec2_vpc_subnet が VPC 内に作成します。
amazon.aws.ec2_vpc_subnet:
vpc_id: "{{ vpc.vpc.id }}"
cidr: 10.0.1.0/24パブリックサブネットとプライベートサブネット
インターネットゲートウェイに到達するルートがあるサブネットはパブリックです。それ以外はプライベートで、外部インターネットから隠されています。
セキュリティグループはファイアウォール
security group はインスタンスを取り囲むステートフルなファイアウォールです。ec2_security_group で、受信を許可する通信を正確に定義します。
amazon.aws.ec2_security_group:
name: web-sg
description: web tier
vpc_id: "{{ vpc.vpc.id }}"受信ルールを許可する
rules の一覧でポートを開きます。ここでは、インターネット上のどこからでも HTTP が Web 層に到達できるようにします。
rules:
- proto: tcp
ports: [80]
cidr_ip: 0.0.0.0/0SSH を厳しく制限する
ポート 22 は全世界ではなく、自分の IP に限定してください。絞り込んだ cidr_ip によって、攻撃者をサーバーから締め出せます。
rules:
- proto: tcp
ports: [22]
cidr_ip: 203.0.113.5/32すべてを接続する
VPC を register し、その id をサブネットとセキュリティグループに渡してから、そのグループを EC2 インスタンスに関連付けます。すべてが id で接続されます。
amazon.aws.ec2_instance:
name: web-01
security_groups: [web-sg]
vpc_subnet_id: "{{ subnet.subnet.id }}"順序と冪等性
インスタンスより前にネットワークリソースを構築します。すべてのクラウドモジュールと同様に冪等性があるため、プレイを再実行しても安全です。
ゲートウェイでインターネットに接続する
internet gateway によって、パブリックサブネットから外部へ通信できるようになります。ec2_vpc_igw モジュールが VPC に接続します。
amazon.aws.ec2_vpc_igw:
vpc_id: "{{ vpc.vpc.id }}"
state: presentクイックチェック
Web サーバーに HTTP 通信だけを到達させたいとします。それを制御するリソースはどれですか。
まとめ
ネットワークを構築しました。分離のための VPC、配置先の subnet、ファイアウォールとなる security group を用意し、インスタンスに関連付けました。✨
よくある質問
「ネットワーク:VPC、サブネット、Security Group」レッスンは無料ですか?
はい。「ネットワーク:VPC、サブネット、Security Group」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「ネットワーク:VPC、サブネット、Security Group」で何を学びますか?
クラウドネットワークリソースを構築します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「ネットワーク:VPC、サブネット、Security Group」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Cloud Collection と認証
- 宣言的に EC2 インスタンスを起動する
- ネットワーク:VPC、サブネット、Security Group
- プロビジョニングから設定までを一連の流れで行う