Amazon Web Service
基本の「き」
∼Amazon EC2でWebサーバを公開してみよう!∼
2014年5月28日
朝永 将
tomonaga (at) birdsong.jp
自己紹介
• LAMP一筋13年
• 2010年∼ 株式会社NEO COSMIC
- ビジュアルノベルアプリ『牡丹の庭』他、11タイトルの開発
• 2013年∼ フリーランス
• 2014年∼ 合同会社birdsong 代表
- ソーシャルアプリ開発
- 講師・ITアドバイザー
• 小鳥好き
- Facebook: masaru.tomonaga
Agenda
• AWSログイン
• 秘密 (Key Pair) と Security Groupの設定
• Amazon EC2 インスタンス起動
• SSHログイン
• Webサーバ(Apache)のインストール
• メールアドレス/パスワードの入力
• MFA(多要素認証)※設定した方のみ
• Management Console ホーム画面
• EC2 Dashboard 画面
AWSログイン
Management Console
ホーム画面
• AWS各サービスの一覧(EC2, RDS etc)
• ヘッダーメニュー “Services”からも…
• アナウンスとサービスの状態
• 氏名をクリック→My Accountでアカウ
ント情報が見られる
EC2 Dashboard
• Amazon EC2の管理画面
• リソースの使用状況
• サービス稼働状態
- Region
- Availability Zone
Region
• US - バージニア, オレゴン, カルフォルニア
• EU − アイルランド
• Asia - シンガポール, 東京, シドニー
• South America - サンパウロ
秘密 の設定
• Key Pairを作成する。 (.pemファイル)
• Key Pair Nameは任意の名前でOK
• 絶対に紛失したり平文でネットに流さない!
• ダウンロード後、.sshフォルダに移動する
$ mv ~/Downloads/aws_tokyo.pem ~/.ssh
$ chmod 400 ~/.ssh/aws_tokyo.pem
秘密 の設定
• PCで公開 を作成して Key Pair をイン
ポートすると、パスフレーズ付きのSSH
ログインとなり、より安全。
➡ssh-keygenコマンドの使用
秘密 の設定 注意点
• (Mac)パーミッションの設定
- .pemファイルは400に変更する!
- .sshフォルダは700になっていますか?
秘密 の設定 注意点
• (Windows) PuTTyで接続する場合は、
PuTTygenでppk形式へ変換する!
- PuTTyごった煮版のインストール
• Tera Term, Cygwinでは変換不要
• Tera Termの方が楽
Security Groupの設定
• ファイアウォール機能
• デフォルトでは全ての通信を拒否
• ruleを指定(今回は SSH と HTTP)
• Source IPを指定 (今回は 0.0.0.0/0)
- 1個に限定する場合は vvv.xxx.yyy.zzz/32
Security Groupの設定
• 全てのRuleを追加したら・・・
✓Apply Rule Changes を必ず押す!
✓押さないと変更が適用されない
EC2 インスタンス起動
• AMI = Amazon Machine Image
• サーバのイメージ
- OSや同梱されているソフトにより、さまざ
まなAMIがある。
EC2 インスタンス起動
• ‘Free tier eligible’のAMIは、microタイプ1
台に限ってインスタンス利用料金が無
料。(※アカウント作成から1年間)
• Amazon Linux AMI 64bitを選択
EC2 インスタンス起動
• Instance details
• Number of Instances - 作成する台数
• Instance Type - スペック
• Availability Zone - 今回は”a”を選択
- 設計によっては、事前に決めた方が良い場合も・・・
EC2 インスタンス起動
• Security Groupの選択
• 確認画面
• Key Pairの選択
• Launch - State=running(緑色)で起動完了!
EC2 インスタンス管理
• インスタンスを右クリック
• Reboot - 再起動
• Stop - 停止
• Start - 起動
• Terminate - 削除!
EC2 インスタンス管理
• 誤って Terminate しないように Protect
を掛ける
• Change Termination Protectionで切り替え
る
Amazon EBS
• Elastic Block Strage
• EC2のストレージとして利用
• 1個のEC2インスタンスに複数の
EBSをアタッチできる。
• スナップショットが取れる
Elastic IP (EIP)
• 固定IPアドレス
• EIPを使わない場合は、EC2を停止→起
動でIPアドレスが変わる。
• 払い出し→取り付け / 取り外し→解放
• 払い出したまま取り付けないと課金対象
snapshot
• 任意のタイミングでEBSのバックアップ
が取れる。
• 基本的にEC2を止めなくても取れるが、
プロダクトの場合は影響を考える。
• 取得したsnapshotからEBS作成可能。
SSHログイン(Mac)
• ターミナルを使用
• ssh -i ~/.ssh/aws_tokyo.pem ec2-user@イ
ンスタンスのIPアドレス
• IPアドレスは、インスタンス一覧から!
• 初回のみfinger printの確認
SSHログイン(Win)
• PuTTy,TeraTerm, Cygwinを使用
• PuTTy - PuTTygenでppkファイル作成
• TeraTerm - pemファイルを設定
• Cygwin - Macと同じ手順でOK
• 初回のみfinger printの確認
SSHログイン
• ログインできない場合(1)
✓Security GroupでSSH(port22)は許可済み?
✓秘密 ファイルへのpathは通っているか?
✓秘密 ファイルのパーミッションは400?
✓ユーザ名はec2-user?(rootで直接ログイン不可)
SSHログイン
• ログインできない場合(2)
✓入力したIPアドレスorホスト名の確認
‣ digコマンドで正引きor逆引きしてみる
$ dig ホスト名
$ dig -x IPアドレス
SSHログイン
• rootのパスワードを設定する
$ sudo passwd root
• パスワードを2回入力
$ su
# exit
Apacheインストール
• yumを使用
$ sudo yum install httpd
Apacheインストール
• 起動
$ sudo service httpd start
$ ps aux | grep httpd
• ブラウザから確認
• http://インスタンスのIPアドレス
Apacheインストール
• 自動起動の設定
$ sudo chkconfig httpd --list
$ sudo chkconfig httpd on
• 設定されているか確認
$ sudo chkconfig httpd --list
オペミスを防止するために!
• miss operation
• 内容によっては大きな障害になる
• クラウドは操作が簡単
• 対策は・・・?
オペミスを防止するために!
• バックアップを取る(EBS,Spapshotの活用)
• 定期的なリカバリの訓練
‣ 本当にバックアップが取れているか確認も含めて…
• 作業計画を立てる。作業計画書を作る
‣ 他の人にレビューしてもらう
最後に
• exitでインスタンスからログアウト
• インスタンスを停止しましょう
• ドメイン登録サービス
• 5月31日オープン!
• 新gTLDが20%OFF! .club 1584円(税抜)
• .tokyoドメインも取扱予定
• AWSで構築 ドメイン検索の負荷対策として
...100種類以上!
https://kirakira.domains
質疑応答
今日はありがとうご
ざいました!

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