まず、VPCを作成して、以下のネットワーク構築を完了しておきます。
・VPC作成
・サブネット作成
・ルーティング設定(インターネットゲートウェイ接続)
1. EC2インスタンス設置
インターネットから接続できるように構築してあるサブネットへ設置します。
※EC2とはElastic Compute Cloudの略で、AWSクラウド上の仮想サーバーです。
インスタンスとは、EC2から立てられたサーバーの事を指します。
EC2インスタンスの特徴
・数分程度の起動時間、秒単位もしくは1時間の従量課金
・サーバーの追加、削除、マシンスペックの変更も容易に可能(急なアクセス増減に対処可能)
・OSの上位レイヤ設定は自由です。
作成手順
① AMI(Amazon Macine Image)の選択
AMIとは、サーバーのテンプレートのようなもので具体的にはインスタンス起動に必要な情報が詰まったOSをイメージすると良いものです。
AMIの特徴
・AWSやサードパーティによって提供されています。
・自前でカスタムしたり、新規作成する事も可能です。
・カスタムAMIから何台でもEC2インスタンスの起動も可能です。
※今回はAmazon Linux 2を使用します。
② インスタンスタイプ選択
EC2インスタンスのスペックを定義したものです。
※今回はt2.microを選択
詳細設定
ネットワーク設定のVPCは作成したものを選択します。
サブネットはインターネットに接続する設定のあるサブネットを選択します。
パブリックIPの自動割り当てはインターネット接続する場合は有効にしておきます。
高度な詳細
キャパシティ予約はアベイラビリティゾーンごとのリソース上限に関する設定で、上限を超えるとEC2インスタンスの起動ができなくなりますので、予約することにより事前にリソースを確保できますが、EC2起動有無にかかわらず料金が発生しますので、今回はなしを選択しています。
シャットダウン動作は、シャットダウン時に停止するか、削除までしてしまうかの設定で今回は停止を選択しています。
CloudWatchモニタリング詳細は今回は無効化を選択しています。
テナンシーは、ハードウェアを専有する必要が無いので、共有を選択しています。
高度なネットワーク設定のうち、ネットワークインターフェースのプライマリIPは、10.0.10.10としておきます。(パブリックサブネットのIP範囲内で選択)
③ ストレージ(サーバーに付随するデータ保存場所)追加
・EBS(Elastic Block Store)は費用が発生しますが、OSやDBなどの永続性と耐久性が必要なデータを置きます。
・インスタンスストアは無料で使用可能な、インスタンス専用の一時的なストレージであるが、EC2インスタンスをStopやTerminateするとクリアされてしまうので、一時ファイルやキャッシュデータなどの失われても支障ないと判断できるデータを置く場合のみ使えます。
④ 名前とタグの追加
キーはName、値は今回k_atarashiとしています。
インスタンスへのセキュリティをセキュリティグループから設定します。。
⑤ セキュリティグループ設定
セキュリティグループを作成するを選択します。
セキュリティグループ名は今回k_atarashi-webとしています。
ソースタイプはカスタム、ソースは今回は0.0.0.0/0にしています。
⑥ SSHキーペア設定
上記まででインスタンスを起動を押すとキーペアの作成画面が出ます。
新しいキーペアの作成にて、今回のキーペア名はk_atarashi-ssh-keyとしました。
キーペアをダウンロードし、インスタンスを起動します。
※この時ダウンロードしたキーペアは今後もEC2の操作に必要となりますので、キーペアデータの保存場所と管理には注意が必要です。

2.SSHでEC2インスタンスに接続します。
①ターミナルソフトでSSH接続します。

② AWSマネージメントコンソール>EC2>インスタンス
起動しているインスタンスを選択(左側チェックボタンをクリック)します。
画面下部に表示されているIPv4パブリックIPを控えてSSH接続をします。

③ yumにてライブラリを予めアップデートしておきます。
sudo yum update -y

④ Apacheをインストールします。
sudo yum -y install httpd

⑤ Apacheを起動します。
sudo systemctl start httpd.service
⑥ Apacheの起動を以下のどちらかで確認しておきます。
sudo systemctl status httpd.service
ps -aux | grep httpd

⑦ サーバー起動時にApacheも自動起動するようにしておきます。
sudo systemctl enable httpd.service

⑧ Apache自動起動設定がされているか確認しておきます。
sudo systemctl is-enabled httpd.service

3. ファイアウォールを設定してWebからのEC2インスタンスの閲覧を可能にします。
① 現在ポート22番のみ許可されていますが、ポート80番も許可しておきます。
インスタンス>セキュリティタブ
セキュリティグループのリンクをクリック>インバウンドグループのタブ
インバウンドのルールを編集をクリック
ルールを追加をクリック
タイプをHTTPにします。ソースをAnywhere IPv4とします。
ルールを保存します。


※ここまで正常に完了すると、ブラウザにて、http://[EC2インスタンスの IPv4パブリックIP]を開くと以下のようにApacheが起動します。

ここまで成功したらインスタンスの立ち上げは完了です!お疲れ様でした。
以降は、必要に応じて固定IP(Elastic IP)取得やドメイン関連付け等を実施します。
コメント