ショウジンブログ on Hatena

“お芝居をしないと、この社会では異邦人として扱われるほかない”

Amazon Web Servicesの申し込みとEC2の利用@Amazon EC2

AWSアカウント作成とサインイン

アカウント作成自体は無料。

新規にアカウントを作成する場合はメールアドレスを入力してから
I am a new userを選択してパスワードを入力。

すでにamazon.comのアカウントを持っている場合は
そのアカウントでサインイン出来る。
この場合はI am a returning user and my password isを選択しパスワードを入力。

AWSマネジメントコンソール(管理画面)
https://console.aws.amazon.com/

Amazon EC2

http://www.awsmicrosite.jp/ec2-wp/

Amazon EC2はクラウドコンピューティング環境。
CMSや仮想サーバ等、幅広い用途で利用出来る。

EC2は1年間、マイクロインスタンスの
起動時間が750時間/月までは無料で利用出来る。

EC2で仮想サーバのインスタンス(実体)を作成する。

マネジメントコンソールからログインし
Amazon Web Servicesから「EC2」をクリック。

f:id:showjinx:20160530120941p:plain

遷移先で「Launch Instance」をクリック

f:id:showjinx:20160530121007p:plain

クイックスタート画面に入る。

最初に構築する仮想サーバのOSを選択する。

今回は初めてのAmazon Linux AMIを選択。
(他にもRed HatやUbuntuなんかも選べます)

f:id:showjinx:20160530121039p:plain

インスタンスのタイプや数、その他の詳細設定をしていきます。

初心者でまだよくわからないのでひとまずここではデフォルトのまま進めます。
(Nextボタンをクリックして進めていきます)

f:id:showjinx:20160530121130p:plain

Tag Instanceでインスタンスにタグ付けを行う。
未設定でもよいらしいけれど、設定しておくと後の管理が楽とのこと。

Nameというキーに対してshowjinというタグをつけて設定してみます。

f:id:showjinx:20160530121217p:plain

引き続き画面右下の「Next〜」をクリックして、デフォルト設定で進めていきます。

そのうち公開鍵を作成する画面になります。
(EC2で作成する仮想環境へはパスワード認証ではなく公開鍵認証で接続するため)

Create a new key pairを選択し、Key pair nameに任意の値を設定します。

f:id:showjinx:20160530121251p:plain

Key pair nameは「showjinkey」としてみました。

f:id:showjinx:20160530121323p:plain

キーペアを入力したら「Donwload Key Pair」をクリックし、秘密鍵を ダウンロードします。

ダウンロードしたキーペアは紛失しないように。

「Launch」ボタンをクリックしてインスタンスの作成は完了。

続けてセキュリティグループを作成します。
(ファイアーウォール)

EC2のダッシュボードから
Security Groupsをクリック。

f:id:showjinx:20160530121747p:plain

遷移先で「Create Security Group」をクリック。

f:id:showjinx:20160530121808p:plain

Name、Descriptionともに任意の適当な値でいいようなので
以下のようにどちらもshowjinに。して「Yes, Create」をクリック。

f:id:showjinx:20160530121835p:plain

するとNameがshowjinのセキュリティグループが作成されるので、これを選択。

f:id:showjinx:20160530121902p:plain

選択すると画面下に選択したセキュリティグループの情報が現れるので 「Inbound」タブをクリック。

f:id:showjinx:20160530121934p:plain

ここでSSHとHTTPを追加(Add Rule)します。

f:id:showjinx:20160530122012p:plain

このようにHTTPとSSHを追加したら「Apply Rule Changes」をクリックして保存。

f:id:showjinx:20160530122033p:plain

これでオーケー。たぶん。

ダッシュボード右側から
INSTANCES > Instantces へ進むと作成したインスタンスが確認できる。

ここでInstance Stateがrunning、Status Checksが 2/2 checks passed
になっていることが確認できれば仮想サーバの作成は完了。

f:id:showjinx:20160530122109p:plain

OSXのターミナルを使って仮想サーバに接続してみます。

Instances画面でインスタンスを選択(左側が青い四角になっている状態)すると画面下のほうにインスタンス情報が表示されます。

f:id:showjinx:20160530122148p:plain

この赤い枠内の「Public DNS」の値がインスタンスのURLになります。

ec2-54-186-73-50.us-west-2.compute.amazonaws.com

ダウンロードしておいた秘密鍵のディレクトリにターミナルで移動し
秘密鍵「showjinkey.pem」のパーミッションを600にします。

chmod 600 showjinkey.pem

EC2では「ec2-user」というユーザ名と秘密鍵で接続するそうです。
接続にはさっき確認したPublic DNSを使い、以下でssh接続します。

ssh -i showjinkey.pem ec2-user@ec2-54-186-73-50.us-west-2.compute.amazonaws.com

初めてだと以下のように確認されるのでyesをタイプ。

Are you sure you want to continue connecting (yes/no)?

ログインに成功すると以下のメッセージが表示されます。
(これはAmazon Linux AMIの場合)

f:id:showjinx:20160530122359p:plain

メッセージに従って以下コマンドを実行。
yumをアップデートしておきます。

sudo yum update

なにか聞かれたら「y」とタイプしてインストール、パッケージの更新をします。

yumのアップデートが済んだら今度はWebサーバのApacheをインストールします。

sudo yum -y install httpd

インストールが完了したら起動させます。

sudo service https start

f:id:showjinx:20160530122451p:plain

ブラウザからアクセスしてみます。

ec2-54-186-73-50.us-west-2.compute.amazonaws.com

が、繋がりません。

インスタンスの「Monitoring」の項目を見ると
disabledになってます。

何か紐付けがうまくいってない気がするので該当のインスタンス
(この時点ではひとつしかないですが)を見ていきます。

Public IPのところを右クリックしてみたらChange Security Gropusという項目がありました。

もしかして、自分で作ったセキュリティグループが割り当てられてないのかなと思い、これを確認。

f:id:showjinx:20160530122543p:plain

当たりでした。

よく分からないでウィザードで進めていた中で作られたものが割り当てられています。

これを自分で作ったセキュリティグループに変更して「Assign Security Gropus」をクリック。

f:id:showjinx:20160530122645p:plain

f:id:showjinx:20160530122655p:plain

再度先のURLにアクセスしてみます。

ec2-54-186-73-50.us-west-2.compute.amazonaws.com

f:id:showjinx:20160530122732p:plain

今度は無事アクセス出来ました。

これにて仮想環境とWebサーバは準備完了。

インスタンスを停止するには、該当のインスタンスを選択状態にして
(左側に青い四角が表示されている状態)

上のほうにある「Actions」から「Stop」を実行します。

f:id:showjinx:20160530123013p:plain

Stopの他に「Terminate」がありますが、違いは以下です。

Stop サーバのシャットダウン。パソコンの電源を落とす感じ。

Terminate サーバの破棄になります。これを実行すると
同じインスタンスを起動することは出来ないので注意。

インスタンスのたんなる一時的な停止にはStop、破棄にはTerminateということです。

Elastic IPsを登録する

独自ドメインを割り当てる場合、EC2ではDNSは立てられないのでダイナミックDNSを使う必要があります。

その際にEC2でElastic IPを取得しておく必要があります。以下、その取得方法です。

グローバルIPをAmazonから割り当ててもらい、それをインスタンスに割り当てます。

コンソールの左メニューから「Elastic IPs」をクリック。

f:id:showjinx:20160530123548p:plain

遷移先で「Allocate New Address」をクリック

f:id:showjinx:20160530123613p:plain

「Allocate New Address」というダイアログが出現するので
「Yes, Allocate」ボタンをクリック。

f:id:showjinx:20160530123638p:plain

これで新しくAddressが追加されました。

このAddressをインスタンスに割り当てます。

f:id:showjinx:20160530123657p:plain

該当のAddress(追加したNew Address)を右クリックして「Associate Address」を実行します。

「Associate Address」ダイアログが立ち上がるので「Instatnce」部分をクリックして対象となるインスタンスを指定。

f:id:showjinx:20160530123731p:plain

Instanceを指定すると対応するPrivaete IPアドレスにも反映されるので、そのまま「Associate」ボタンをクリック。

Instanceを確認するとさっきまで「-」だったElastic IPの部分にIPアドレスが割り当てられています。

f:id:showjinx:20160530123801p:plain

今回の設定により、ブラウザアクセスは以前の長いURLではなくこのElastic IPになりました。

以前のURL

ec2-54-186-73-50.us-west-2.compute.amazonaws.com

が以下になりました。

54.186.101.105

f:id:showjinx:20160530123841p:plain

この操作(Elastic IPsを登録)したことによって初期にデフォルトで与えられていた

ec2-54-186-73-50.us-west-2.compute.amazonaws.com

がElastic IPsに置き換わったので、以後はssh接続する際にもホスト名が変わります。以下になります。

ssh -i /Users/showjin/dropbox/web/showjinkey.pem ec2-user@54.186.101.105

Amazon Web Services実践入門 (WEB+DB PRESS plus)

Amazon Web Services実践入門 (WEB+DB PRESS plus)

  • 作者: 舘岡守,今井智明,永淵恭子,間瀬哲也,三浦悟,柳瀬任章
  • 出版社/メーカー: 技術評論社
  • 発売日: 2015/11/10
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る