Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

37
Amazon Web Service 基本の「き」 Amazon EC2Webサーバを公開してみよう!~ 2013817朝永 tomonaga (at) birdsong.jp

description

2013/8/17 リピート開催に伴い、スライドを最新版に更新しました。

Transcript of Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

Page 1: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

Amazon Web Service基本の「き」

~Amazon EC2でWebサーバを公開してみよう!~

2013年8月17日朝永 将

tomonaga (at) birdsong.jp

Page 2: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

自己紹介• LAMP一筋13年

• 2010年~ 株式会社NEO COSMIC

- ビジュアルノベルアプリ『牡丹の庭』他、11タイトルの開発

• 2013年~ フリーランス- ソーシャルアプリ開発

- 講師・ITアドバイザー

• 小鳥好き- Facebook: masaru.tomonaga

Page 3: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

Agenda

• AWSログイン

• 秘密鍵(Key Pair) と Security Groupの設定

• Amazon EC2 インスタンス起動

• SSHログイン

• Webサーバ(Apache)のインストール

Page 4: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

• メールアドレス/パスワードの入力

• MFA(多要素認証)※設定した方のみ

• Management Console ホーム画面

• EC2 Dashboard 画面

AWSログイン

Page 5: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

Management Consoleホーム画面

• AWS各サービスの一覧(EC2, RDS etc)

• ヘッダーメニュー “Services”からも…

• アナウンスとサービスの状態

• 氏名をマウスオーバーするとアカウント情報が見られる

Page 6: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

EC2 Dashboard

• Amazon EC2の管理画面

• リソースの使用状況

• サービス稼働状態

- Region

- Availability Zone

Page 7: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

Region

• US - バージニア, オレゴン, カルフォルニア

• EU − アイルランド

• Asia - シンガポール, 東京, シドニー

• South America - サンパウロ

Page 8: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

秘密鍵の設定• Key Pairを作成する。 (.pemファイル)

• Key Pair Nameは任意の名前でOK

• 絶対に紛失したり平文でネットに流さない!

• ダウンロード後、.sshフォルダに移動する

$ mv ~/Downloads/aws_tokyo.pem ~/.ssh

$ chmod 400 ~/.ssh/aws_tokyo.pem

Page 9: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

秘密鍵の設定

• PCで公開鍵を作成して Key Pair をインポートすると、パスフレーズ付きのSSH

ログインとなり、より安全。

➡ssh-keygenコマンドの使用

Page 10: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

秘密鍵の設定 注意点

• (Mac)パーミッションの設定

- .pemファイルは400に変更する!

- .sshフォルダは700になっていますか?

Page 11: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

秘密鍵の設定 注意点

• (Windows) PuTTyで接続する場合は、PuTTygenでppk形式へ変換する!

- PuTTyごった煮版のインストール

• Tera Term, Cygwinでは変換不要

Page 12: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

Security Groupの設定• ファイアウォール機能

• デフォルトでは全ての通信を拒否

• ruleを指定(今回は SSH と HTTP)

• Source IPを指定 (今回は 0.0.0.0/0)

- 1個に限定する場合は vvv.xxx.yyy.zzz/32

Page 13: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

Security Groupの設定

• 全てのRuleを追加したら・・・

✓Apply Rule Changes を必ず押す!

✓押さないと変更が適用されない

Page 14: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

EC2 インスタンス起動

• AMI = Amazon Machine Image

• サーバのイメージ- OSや同梱されているソフトにより、さまざまなAMIがある。

Page 15: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

EC2 インスタンス起動

• ☆印のAMIは、microタイプ1台に限ってインスタンス利用料金が無料。(※アカウント作成から1年間)

• Amazon Linux AMI 64bitを選択

Page 16: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

EC2 インスタンス起動

• Instance details

• Number of Instances - 作成する台数

• Instance Type - スペック

• Availability Zone - 今回は”a”を選択

- 設計によっては、事前に決めた方が良い場合も・・・

Page 17: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

EC2 インスタンス起動

• Key Pairの選択

• Security Groupの選択

• 確認画面

• Launch - State=running(緑色)で起動完了!

Page 18: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

EC2 インスタンス管理

• インスタンスを右クリック

• Reboot - 再起動

• Stop - 停止

• Start - 起動

• Terminate - 削除!

Page 19: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

EC2 インスタンス管理

• 誤って Terminate しないように Protect

を掛ける!

• Change Termination Protectionで切り替える!

Page 20: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

Amazon EBS

• Elastic Block Strage

• EC2のストレージとして利用

• 1個のEC2インスタンスに複数のEBSをアタッチできる。

• スナップショットが取れる

Page 21: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

Elastic IP (EIP)

• 固定IPアドレス

• EIPを使わない場合は、EC2を停止→起動でIPアドレスが変わる。

• 払い出し→取り付け / 取り外し→解放

• 払い出したまま取り付けないと課金対象

Page 22: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

snapshot

• 任意のタイミングでEBSのバックアップが取れる。

• 基本的にEC2を止めなくても取れるが、プロダクトの場合は影響を考える。

• 取得したsnapshotからEBS作成可能。

Page 23: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

SSHログイン(Mac)

• ターミナルを使用

• ssh -i ~/.ssh/aws_tokyo.pem ec2-user@インスタンスのIPアドレス

• IPアドレスは、インスタンス一覧から!

• 初回のみfinger printの確認

Page 24: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

SSHログイン(Win)

• PuTTy, TeraTerm, Cygwinを使用

• PuTTy - PuTTygenでppkファイル作成

• TeraTerm - pemファイルを設定

• Cygwin - Macと同じ手順でOK

• 初回のみfinger printの確認

Page 25: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

SSHログイン• ログインできない場合(1)

✓Security GroupでSSH(port22)は許可済み?

✓秘密鍵ファイルへのpathは通っているか?

✓秘密鍵ファイルのパーミッションは400?

✓ユーザ名はec2-user?(rootで直接ログイン不可)

Page 26: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

SSHログイン• ログインできない場合(2)

✓入力したIPアドレスorホスト名の確認

‣ digコマンドで正引きor逆引きしてみる

$ dig ホスト名

$ dig -x IPアドレス

Page 27: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

SSHログイン• rootのパスワードを設定する

$ sudo passwd root

• パスワードを2回入力

$ su

# exit

Page 28: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

Apacheインストール

• yumを使用

$ sudo yum install httpd

Page 29: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

Apacheインストール• 起動

$ sudo service httpd start

$ ps aux | grep httpd

• ブラウザから確認

• http://インスタンスのIPアドレス

Page 30: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

Apacheインストール• 自動起動の設定

$ sudo chkconfig httpd --list

$ sudo chkconfig httpd on

• 設定されているか確認$ sudo chkconfig httpd --list

Page 31: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

オペミスを防止するために!

• miss operation

• 内容によっては大きな障害になる

• クラウドは操作が簡単

• 対策は・・・?

Page 32: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

オペミスを防止するために!

• バックアップを取る(EBS,Spapshotの活用)

• 定期的なリカバリの訓練‣ 本当にバックアップが取れているか確認も含めて…

• 作業計画を立てる。作業計画書を作る‣ 他の人にレビューしてもらう

Page 33: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

最後に

• exitでインスタンスからログアウト

• インスタンスを停止しましょう

Page 34: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

次回予告

• 基本の~ほ~

• Amazon RDS

• MySQL!

• 開催日時は改めてお知らせします。

Page 35: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

ほぼ毎週日曜います(9月8日除く)

復習したい方!

Page 36: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

質疑応答

Page 37: Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

今日はありがとうございました!