AWS の提供する EC2(仮想サーバ) を実際に操作して体験頂きます。
Amazon EC2 も参考に。
-
構築するサーバ OS
-
Linux サーバ (Amazon Linux)
-
Windows サーバ (Windows Server 2016)
-
必要なもの
- インターネットに接続した Windows や Mac
- ブラウザ(Internet Explorer 11 は非サポート)
- 接続ソフトウェア
- AWS アカウント
参考:AWS アカウント作成の流れ
https://aws.amazon.com/jp/register-flow
###1. EC2 インスタンスの作成
「マネージメントコンソール」にログインし、画面右上の現在のリージョンを「アジアパシフィック(東京)」にしてください。
ステップ 1:AMI(テンプレート)の選択
Linuxの場合
Amazon Linux AMI 201X.XX.XX (HVM) の「選択」をクリックします。
Windowsの場合
「コミュニティ AMI」を選択し、Windows Server 2016 を探し「選択」します。
ステップ 2:インスタンスタイプ(サーバーのスペック)の選択
今回は「t2.micro」を選択 し、「次の手順」をクリックします。
ステップ 3:インスタンスのの詳細の設定
作成する場所、ネットワークの設定をします。
ネットワーク「vpcxxxx (デフォルト)」、サブネット「次のデフォルト ap-northeast-1a」、自動割り当てパブリックIP「(有効)」にし、「次の手順」をクリックします。
ステップ 4:ストレージの追加
ストレージにはブートボリュームがデフォルトで割り当てられています。
今回は何も行わず、「次の手順」をクリックします。
※「合わせて削除」のチェックを外すと、EC2インスタンスを終了時一緒にEBSを削除することもできます。
ステップ 5:タグの追加
タグを付け、識別しやすいようします。
「タグの作成」をクリックし、キー「Name」、値「WebServer」と入力し、「次の手順」をクリックします。
ステップ 6:セキュリティーグループの設定
「新しいセキュリグループを作成する」を選択し、SSH、RDP、HTTPのポートどこからでもアクセスできるように設定します。
「ルールの追加」をクリックして行を追加し、タイプを選択、送信元「任意の場所」とし、「確認と作成」をクリックします。
Amazon EC2 セキュリティグループ も参考に。
ステップ 7:確認
「作成」をクリックします。
作成する EC2インスタンスに設定するキーペアを確認する画面が表示されます。
「新しいキーペアの作成」を選択し、キーペアに「test-key」と入力、「キーペアのダ ウンロード」をクリックすると、「test-key.pem」というファイル名の秘密鍵がダウンロードされます。
キーペアーのダウンロードが完了すると「インスタンスの作成」ボタンが有効になるので、クリックしインスタンスを作成します。
このキーペアはこれ以降二度とダウンロードできません。家の鍵と同じで、キーペアをなくしてしまうとこの後サーバに入ろうとしたときに「鍵がない! 入れない!」となります。絶対になくさないでください。
作成したインスタンスを確認します。
インスタンスの状態が「running」に変わり、ステータスチェックが「2/2 のチェックに合格しました」に変わったら、作成完了です。
###2. EC2 インスタンスの停止と開始
無料枠を越えた後は課金されてしまうので、利用しないときは必ず停止にしておいてください。
停止
対象のインスタンスを選択し、右クリック「インスタンスの状態」-「停止」をします。
EBSストレージではないエフェメラルストレージのデータは消えてしまう警告が表示されていますが、t2.microでは持っていないタイプのストレージですので「停止する」 をクリックします。
インスタンスの状態が「stopped」になり、停止が完了したことを確認します。
開始
対象のインスタンスを選択し、右クリック「インスタンスの状態」-「開始」をします。
###3.Elastic IP (固定IPアドレス)を割当て
新しいアドレスの割り当て
左側のメニューから「Elastic IP」を選択し、「新しいアドレスの割り当て」をクリックします。
[Elastic IP]が割り当てられます。「閉じる」をクリックします。
アドレスの関連付け
振り出された固定IPアドレスを先程作成したインスタンスに紐付けます。
紐付けたいインスタンスを指定し「関連付け」をクリックします。
[Elastic IP]と[インスタンス]の紐づけが完了します。
###4.SSH/RDP でログイン
Linux:SSH でログインします
接続先ホスト:インスタンスに割当てた固定IPアドレス (Elastic IP)
ログインユーザ名:ec2-user
認証方法:公開伴暗号方式 インスタンス作成時に作成しダウンロード した秘密伴ファイル (test-key.pem)
ユーザ名に「ec2-user」を入力し、「RSA/DSA/ECDSA/ED25519伴を使う」を選択し、「秘密鍵」をクリックします。
拡張子を「すべてのファイル(.)」に変更し、ダウンロードした「test-key.pem」を選択し、「開く」をクリックします。
「OK」をクリックし、ログインできると以下のように表示されます。
- Macからはデフォルトでインストールされているターミナルでsshコマンドを使用してログインします。
chmod 600 ~/Downloads/test-key.pem
ssh -i ~/Downloads/test-key.pem ec2-user@<インスタンスに割当てたElastic IPアドレス>
Windows:Server RDP でログインします
接続先ホスト:インスタンスに割当てた固定IPアドレス (Elastic IP)
ログインユーザ名:Administrator
認証方法:取得したWindowsパスワード
対象のインスタンスを右クリックして、「Windows パスワードの取得」を選択します。
「ファイルを選択」をクリックし、ダウンロードした「test-key.pem」を指定し、 「パスワードの復号」をクリックします。
パスワードが表示されるためメモします。このパスワードは初期パスワードです。「閉じる」をクリックします。
- Windowsからはデフォルトでインストールされている「リモートデスクトップ接続」を使ってログインします。
「リモートデスクトップ接続」を起動し、 「コンピュータ」に「Elastic IP アドレス」、「ユーザ名」に「Administrator」を 入力し、「接続」をクリックします。
「Connection name」に適当な名前を入力し、「PC name」に「Elastic IPアドレス」を入力します。「User name」に「Administrator」、「Password」にメモしたパスワードを入力し、ウィンドウを閉じます。
登録された接続を選択し「Start」をクリックします。 「Continue」をクリックします。
※ちなみに・・・
インスタンスからIPアドレスを確認したい場合、VPCはSDNであり仮想的にパブリックIPアドレスがアサインされているため、EC2上での ipconfig や ifconfig では確認することはできません。
インスタンスメタデータとユーザーデータ
↓のコマンドで確認していく必要がある。
http://169.254.169.254/latest/meta-data/<local-ipv4>や<public-ipv4>
###5.Apache/IIS をインストール
Linux Apacheをインストールします。 Windows IIS をインストールします。
- Linux: Apache をインストール
以下のコマンドを実行します。Apache (httpd) をインストール→Webサーバ (httpd) を起動→自動起動するように設定します。
sudo yum -y install httpd
sudo service httpd start
sudo chkconfig --level 345 httpd on
ブラウザのアドレスバーにメモした「Elastic IPアドレス」を入力して起動を確認します。
- Windows: IIS をインストール
PowerShell で以下のコマンドを実行し IIS をインストールします。
Add-WindowsFeature –Name Web-Server
Webサーバ が起動している事を確認します。
ブラウザのアドレスバーにメモした「Elastic IPアドレス」を入力して起動を確認します。
以下のような画面が表示されれば成功です。
###6.EBS スナップショットでデータバックアップ作成
EBS ボリュームのスナップショットを作成することで、そのボリュームのデータバックアップを取得できます。
左側メニューから「ボリューム」を選択し、「アタッチ済み情報」を確認します。
ボリュームを選択し右クリックし、「スナップショットの作成」を選択します。
スナップショット名を入力し「スナップショットの作成」をクリックします。
左側メニューから「スナップショット」を選択し、作成したスナップショットのステータがス「completed」になれば、作成完了です。
作成したスナップショットから別の EBS ボリュームを作成します。
このボリュームは EBS スナップショットを取得した時の中身となっており、現在使用しているボリュームと置き換えて使うことや追加で割り当てて必要なファイルだけ抜き出す事が可能です。
作成したスナップショットを選択し、右クリックで「ボリュームの作成」を選択します。
EBSボリュームを割り当てて使いたい EC2インスタンスと同じアベイラビリティーゾーンとします。ここでは「ap-northeast-1a」 を選択し、「ボリュームの作成」 をクリックします。
###7.EC2インスタンスからAMIを作成
EC2インスタンス全体を復旧させる事を想定して、AMIを作成し、作成したAMIからEC2インスタンスを作成します。
EC2インスタンスを右クリックし、「イメージ」-「イメージの作成」を選択 します。
イメージ名に「Stamp」という名前を入力し、「イメージの作成」をクリックします。
イメージの作成が開始されると、EC2インスタンスのOS再起動が行われ、OSが停止したタイミングでスナップショットが作成されます。
(「再起動しない」をオンにすると OS 再起動を回避することができますが、整合性を考慮する必要があります。)
左側のメニューから「AMI」を選択し、作成した AMI のステータスが「available」 となれば、作成完了です。
作成したAMIを選択し、右クリックから「作成」を選択します。
EC2 インスタンスの作成ウィザードのステップ2以降が始まります。
基本的に手順は 「1.EC2 インスタンスを作成」と同じですが、AZとタグを変更して作成します。
画面は省略します。
- ステップ 2:「t2.micro」を選択して、「次の手順」をクリックします。
- ステップ 3:ネットワーク「vpc-xxxx (デフォルト)」、サブネット「次のデフォルト apnortheast-1c」、自動割り当てネットワーク「有効」になっている事を確認し、「次の手順」をクリックします。
- ステップ 4:今回もデフォルトのままで、「次の手順」をクリックします。
- ステップ 5:「タグの作成」をクリックし、キーに「name」、値に「複製1」と入力し、「次の手順」をクリックします。
- ステップ 6:「既存のセキュリティグループを選択する」を選択し、セキュリティーグループに前回作成した「launch-wizard-1」を選択し、「確認と作成」をクリックします。
- ステップ 7:「作成」をクリックします。 キーペアを確認する画面が表示されます。「既存のキーペアの選択」を選択し、「キーペアの選択」に前回作成したキーペア「test-key」を選択します。チェックボックスをオンにし、「インスタンスの作成」をクリックします。
右下の「インスタンスの表示」ボタンをクリックして、作成したインスタンスを確認します。
左側のメニューから「インスタンス」を選択し、作成したインスタンスの状態を確認します。「複製1」というインスタンスが確認できます。
###8.インスタンスタイプの変更
EC2インスタンスの性能の過不足にあわせて、インスタンスタイプを変更する事が可能です。
インスタンスタイプの変更は、インスタンスの停止中に行う必要があります。
対象のインスタンスを選択し右クリックし、「インスタンスの設定」-「インスタンスタイプの変更」を選択します。
「インスタンスタイプ」に「m3.medium」を選択して「適用」をクリックします。
インスタンスタイプを変更したインスタンスは開始させる事で新しいスペックで利用を開始できます。
m3.medium は無料枠ではないため、実際に開始の操作はしないでおきます。
インスタンスタイプを元の無料枠となるt2.microに変更してください。
###9.EBS ボリュームの拡張
EC2 インスタンスから使用しているディスクの拡張には、以下の2つの方法があります。
既存ディスクを拡張する方法
ストライピング等を使用しており、新しいボリュームを追加して拡張する方法
以前は前者を実施するのに停止時間が必要でしたが、現在はほとんどの場合は不要となっているため、前者の方法をおすすめします。
対象のインスタンスを選択し、インスタンスの情報から「ブロックデバイス」のデバイス名をクリックし、「EBS ID」の値をクリックします。
特定のボリュームだけが表示される状態になっているため、ボリュームを右クリックして、「ボリュームの変更」を選択します。
拡張したい新しい容量をサイズを入力し「変更」をクリックします。
対象のボリュームの「状態」が「in-use - completed (100%)」に変わることを待ちます。
###10.作成したリソースの削除
基本的には右クリックから削除します。なお、インスタンスは完全削除されるまで時間を要する場合があります。
- インスタンス:不要なインスタンスを右クリック → [インスタンスの状態] - [削除]
- AMI:不要なAMIを右クリック → [登録解除]
- スナップショット:不要なスナップショットを右クリック → [削除]
- 不要なボリューム:不要なボリュームを右クリック → [ボリュームの削除]
- Elastic IP:不要なElastic IPを右クリック → [アドレスの開放]