2021.07.19 プロが教えるAmazon EC2立ち上げ前の事前準備

Amazon EC2をスムーズかつ安全に立ち上げるためには、事前準備が必要です。今回は、Amazon EC2の概要と事前準備について手順を交えてご紹介します。
AWSアカウント作成は下記の記事で説明していますのでこちらもぜひご覧ください。

Amazon EC2とは?

AWSの利用に関らず、どのようなアプリケーションを実行する場合でも、サーバが必ず必要になります。サーバ台数は用途によって変化し、用意するサーバ台数が多くなるほど準備に時間が必要です。また運用には、手間とコストがかかります。そのため、「必要なときに必要な分だけサーバを用意する」ことはオンプレミス環境では難しい状況でした。その課題を解決できるのが、Amazon EC2です。

Amazon EC2の概要

Amazon EC2(Amazon Elastic Compute Cloud)は、ITインフラをサービスとして利用できるIaaS型クラウドです。「必要なときに、必要な分だけ利用する」ことが可能で、ソフトウエアはAmazon EC2を使って立ち上げた仮想サーバ上にインストールする必要があります。

Amazon EC2の仕組み

Amazon EC2は、インスタンスという単位でサーバ構築を行います。インスタンスを簡単に言えば、「OSがインストールされた仮想サーバ」のことです。
Amazon EC2では、Amazon Linux、Ubuntu、Windows Server、Fedora、CentOSなど様々なOSが利用できます。これらのOSは、Amazon EC2上でテンプレートが用意されていますので、テンプレートを選択するだけで起動できます。

Amazon EC2の仕組み 目的のインスタンスタイプと使用するテンプレートを選択し、必要な数だけマシンを起動します。→Amazon API Gateway→EC2(クラウド上にサーバがある)

Amazon EC2について、こちらの記事でさらに詳しく紹介しています。ぜひご確認ください。

【参考記事】おさえておきたい基本サービス Amazon EC2とは? | AWS活用法

Amazon EC2 立ち上げ前の事前準備とは?

知っておきたいAWS用語

Amazon EC2を立ち上げる前に、基本的なAWS用語をおさえましょう。

Amazon VPC Amazon Virtual Private Cloud(Amazon VPC)とよびます。
AWS上に構築するプライベートネットワーク空間のことです。AWS内で複数作成でき、用途ごとに接続先を設定することが可能です。
アベイラビリティゾーン(AZ) AWSが世界各地に配置しているリージョン内にある、1つ以上のデータセンターで構築された小さな区分けのことです。AZ間は低遅延専用線で接続されています。
サブネット ネットワークを分割して作った小さなネットワークのことです。一般的なサブネットの意味と変わりません。
AWSの場合、VPC内にサブネットを構成して利用するのが基本です。
ルートテーブル サブネット毎の通信設定ルールです。設定を行うことで、システムからの通信経路を制御し、安全性を確保することができます。
インターネットゲートウェイ VPCとインターネット間の通信を可能にするゲートウェイです。
IAMロール AWSで提供されているサービスの中で、ユーザが実際に操作できる対象(Amazon EC2であればEC2インスタンス)などに操作権限(IAMポリシー)を付与する仕組みのことです。
セキュリティグループ インスタンス単位で通信の許可/禁止を設定できるファイアウォールです。そのため、ルートテーブルより細かな通信制御が可能です。

Amazon VPCを作成する

まず、Amazon VPCでプライベートな仮想ネットワーク空間を作成し、Amazon EC2を配置する場所を確保しましょう。

Amazon VPCを作成した図 AWS Cloudの中にAmazon VPC

1. VPCダッシュボードを開く

  1. (1)

    IAMユーザでサインイン 新規ウィンドウで開く後、AWSマネジメントコンソールを開きます。

  2. (2)

    コンソール上部の検索窓に「VPC」と入力します。

    サービス「VPC」へのショートカットが表示されますので、クリックします。

  3. (3)

    VPCダッシュボードが開きます。

    左ペインより「VPC」をクリックします。

2. VPCを作成する

  1. (1)

    「VPCの作成」をクリックします。

  2. (2)

    下記の項目に適切な値を入力もしくは選択し、「作成」をクリックします。

    名前タグ 任意の名前を入力します。
    例:VPC-01
    IPv4 CIDR ブロック

    /16~/28の範囲で入力します。
    例:10.1.0.0/16

    • Amazon VPCの仕様のため、割り当てられるCIDRブロックサイズは/16~/28のサイズにする必要があります。
    IPv6 CIDR ブロック 「IPv6 CIDR ブロックなし」を選択します。
    テナンシー 「デフォルト」を選択します。
  3. (3)

    "次のVPCが作成されました"と表示されるので、「閉じる」をクリックします。

  4. (4)

    作成したVPCが一覧に表示されます。

    VPCの作成は以上です。

サブネットを作成する

Amazon VPC作成後は、VPC内にサブネットを作成します。サブネットの中に、Amazon EC2を立ち上げます。
サブネットは、VPC内に複数作成が可能です。例えば、外部接続を可とするパブリックサブネット、内部通信のみを可とするプライベートサブネットなど、用途によって接続要件を設定することができます。
また、サブネットはアベイラビリティゾーン(AZ)ごとに構成する必要があります。今回は、パブリックサブネットを作成する手順をご紹介します。

VPC内にサブネットを作成した図 AWS Cloudの中にAmazon VPC、その中にAvailability Zone、その中にPublic subnet
  1. (1)

    「1. VPCダッシュボードを開く」を参照しながら、VPCダッシュボードを開きます。

    左ペインより「サブネット」をクリックします。

  2. (2)

    「サブネットの作成」をクリックします。

  3. (3)

    下記の項目に適切な値を入力し、「作成」をクリックします。

    名前タグ 任意の名前を入力します。
    例:subnet-public-01
    VPC

    先ほど作成したVPCのIDを入力します。

    • 入力欄をクリックすると先ほど作成したVPCのIDが表示されます。タブより選択するだけで自動的に入力されます。
    アベイラビリティゾーン

    アジアパシフィック(東京)リージョンは"ap-northeast-1a"、"ap-northeast-1c"、"ap-northeast-1d"の3つのアベイラビリティゾーンから構成されています。3つの内、どれか1つを入力します。どのアベイラビリティゾーンを選んでもサブネットは作成可能です。

    • 入力欄をクリックすると3つのアベイラビリティゾーンの名前が表示されます。タブより選択するだけで自動的に入力されます。
    IPv4 CIDR ブロック VPC作成時よりも小さい範囲で入力します。
    例:10.1.1.0/24
    この時、VPCとサブネットを同じ範囲(例:VPCの範囲が/16、サブネットの範囲が/16)とすると1つのVPC内にサブネットは1つしか作成できません。VPCよりも小さい範囲でサブネットを作成すれば1つのVPC内にサブネットを沢山作成することができます。(例:VPCの範囲が/16で、サブネットの範囲が/24の場合、1つのVPC内にMAX 256個のサブネットを作成可能)
  4. (4)

    "次のサブネットが作成されました"と表示されるので、「閉じる」をクリックします。

  5. (5)

    作成したサブネットが一覧に表示されます。

    サブネットの作成は以上です。

インターネットゲートウェイを作成する

Amazon VPC内にサブネットを作成したら、VPCとインターネットをつなぐインターネットゲートウェイを作成します。

インターネットゲートウェイを作成した図 AWS Cloudの中にAmazon VPC、Internet gateway その中にAvailability Zone、その中にPublic subnet
  1. (1)

    「1. VPCダッシュボードを開く」を参照しながら、VPCダッシュボードを開きます。

    左ペインより「インターネットゲートウェイ」をクリックします。

  2. (2)

    「インターネットゲートウェイの作成」をクリックします。

  3. (3)

    名前タグ欄に任意の名前(例:internet-gateway-01)を入力し、「作成」をクリックします。

  4. (4)

    "以下のインターネットゲートウェイが作成されました"と表示されますので、「閉じる」をクリックします。

  5. (5)

    作成したインターネットゲートウェイが一覧に表示されます。

    状態は、"detached"になっています。
    作成したばかりの時は、"detached"になっていますが、VPCに関連付け(アタッチ)を行うと"attached"になります。

  6. (6)

    「アクション」をクリックし、「VPCにアタッチ」をクリックします。

  7. (7)

    VPC欄にVPCのIDを入力します。

    VPC欄をクリックすると作成したVPCのIDが表示されます。タブより選択すると自動で入力されます。その後、「アタッチ」をクリックします。

  8. (8)

    状態が"attached"になります。

    インターネットゲートウェイの作成は以上です。

ルートテーブルを作成し設定を行う

インターネットゲートウェイを作成したら、ルートテーブルを作成し、紐づけたい通信ルートの登録を行っていきます。
先ほどVPCを作成した段階で、ルートテーブルが自動生成され紐づけがされています。こちらを利用しても問題はありませんが、サブネットを増やすと、自動的に既存のルートテーブルと紐づけが行われる仕組みになっています。
そのためプライベートサブネットを追加作成する予定がある場合は、VPC作成時に自動生成されたルートテーブルの利用をせずに、別途ルートテーブルを作成し紐づけたい通信ルートの登録を行うことをオススメします。

ルートテーブルを作成した図 AWS Cloudの中にAmazon VPC、Internet gateway その中にAvailability Zone、その中にPublic subnet、Route table
  1. (1)

    「1. VPCダッシュボードを開く」を参照しながら、VPCダッシュボードを開きます。

    左ペインにて「ルートテーブル」をクリックします。

  2. (2)

    「ルートテーブルの作成」をクリックします。

  3. (3)

    下記の項目に適切な値を入力し、「作成」をクリックします。

    名前タグ 任意の名前を入力します。例:route-table-01
    VPC

    作成したVPCのIDを入力します。

    • 入力欄をクリックすると、作成したVPCのIDが表示されます。タブより選択するだけで自動入力されます。
  4. (4)

    次のルートテーブルが作成されましたと表示されますので、「閉じる」をクリックします。

    ルートテーブル作成は以上です。

作成したルートテーブルに通信ルートを紐づける

  1. (1)

    VPCダッシュボード左ペインより「ルートテーブル」をクリックします。

    作成したルートテーブルが登録されていることを確認した後、「ルート」タブをクリックします。

  2. (2)

    「ルートの編集」をクリックします。

  3. (3)

    「ルートの追加」をクリックします。

  4. (4)

    送信先欄に、"0.0.0.0/0"を入力します。

    その後、ターゲット欄より「Internet Gateway」をクリックします。

    • 一般的にインターネットの送信先は不特定多数になるので、Internet Gateway経由の送信先については「0.0.0.0/0」以外の入力は無いと思ってよいです。
  5. (5)

    「Internet Gateway」をクリックした後、作成したインターネットゲートウェイのIDが表示されるので、クリックします。

  6. (6)

    「ルートの保存」をクリックします。

  7. (7)

    "ルートは正常に編集されました"と表示されますので、「閉じる」をクリックします。

作成したルートテーブルにサブネットを紐づける

  1. (1)

    VPCダッシュボード左ペインより「ルートテーブル」をクリックします。

    ルートテーブルの一覧画面の「ルート」タブにて、インターネットゲートウェイのルートが追加されていることが確認した後、「サブネットの関連付け」タブをクリックします。

  2. (2)

    「サブネットの関連付けの編集」をクリックします。

  3. (3)

    作成したサブネットにチェックを入れ、「保存」をクリックします。

  4. (4)

    「サブネットの関連付け」タブにてサブネットが関連付けられていることを確認します。

    ルートテーブルのサブネット紐づけ作業は以上です。

Amazon EC2インスタンス用のIAMロールを作成する

Amazon EC2を立ちあげる際に、EC2インスタンスにIAMロールを設定する必要があります。
理由は、EC2インスタンスにアクセス可能な権限を与え、セキュリティを強化させるためです。
これまでは、アクセスキーとシークレットキーを記述しアクセス権限を与えていましたが、この方法だと、ヒューマンエラーにより外部に情報流出をする可能性がありました。IAMロールの設定は、安全な運用に有効な手段です。

Amazon EC2インスタンス用のIAMロール作成方法

  1. (1)

    IAMユーザでサインイン 新規ウィンドウで開く後、AWSマネジメントコンソールを開きます。

  2. (2)

    コンソール上部の検索窓に「IAM」と入力します。

    サービスより「IAM」のショートカットをクリックします。

  3. (3)

    IAMダッシュボードが表示されます。

    左ペインの「ロール」をクリックします。

  4. (4)

    「ロールの作成」をクリックします。

  5. (5)

    "依頼されたエンティティの選択"より「AWSサービス」を選択します。

    "ユースケースの選択"より「EC2」を選択します。その後、「次のステップ:アクセス権限」をクリックします。

  6. (6)

    紐づけたいアクセス権限ポリシー(例:AmazonS3FullAccess)にチェックをし、「次のステップ:タグ」をクリックします。

  7. (7)

    「次のステップ:確認」をクリックします。

  8. (8)

    ロール名欄に任意のロール名(例:role-01)を入力し、「ロールの作成」をクリックします。

  9. (9)

    ロール一覧より、作成したロールを確認します。

    IAMロールの作成は以上です。

まとめ

VPCの作成からIAMロールの作成までの手順をご紹介しました。今回ご紹介した手順は、Amazon EC2利用に限らず、AWS上でネットワーク環境を構築する基礎的な手順でもあります。ぜひ今回の記事を見返しながらAWSを活用いただければと思います。

AWSに興味をお持ちになった方、AWSを開始したいけど運用が手間とお考えの方、是非当社にお問い合わせ 新規ウィンドウで開くください。導入検討~構築~運用まで、しっかりとサポートさせていただきます。

関連サービス

おすすめ記事

導入のお問い合わせはこちら

AWSやAmazon WorkSpacesの導入から接続回線、運用・保守まで何でもお任せください。

お問い合わせ・資料請求