0Pricing
DevOps Bootcamp · レッスン

ネットワーク: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/16

CIDR でアドレス範囲を定義する

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/0

SSH を厳しく制限する

ポート 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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Cloud Collection と認証
  2. 宣言的に EC2 インスタンスを起動する
  3. ネットワーク:VPC、サブネット、Security Group
  4. プロビジョニングから設定までを一連の流れで行う
← DevOps Bootcampに戻る