『AWS入門編1:Webサーバーを構築しよう (全7回)』
よし、『AWS入門編 (全3レッスン) 』をやっていくぞ。
AWSか〜😑
1年間の無料枠があるみたいだけど、
下手に手を出して料金が発生するのも嫌だから、
今回はサインアップはしないでおこう😓
メモ
#01:Webサーバーを構築しよう
- Webサーバーの基本的な役割と構成要素
- リクエストに応じて、HTMLファイルや画像ファイルを送信する
- アクセス制御:許可されたユーザーにだけ送信する
- CGI:プログラムを起動する
- AWS(Amazon Web Services)とは
- 仮想的なコンピュータ資源を提供
- HTTPサーバー:Apache
- IPアドレス
- OS:Linux
- H/W:仮想マシン
- 仮想的なコンピュータ資源を提供
- AWSの特徴
- すぐに使える
使いたいときに必要な分だけ数分で準備できる - サービス・性能を選べる
シンプルなWebサーバーから、ビッグデータ・機械学習まで - 従量課金
使った分だけ支払い。
720時間/月・12ヶ月まで無償利用
- すぐに使える
- AWSを構築する手順
- 1. AWSのアカウントを作成する
- 2. Linux仮想マシンを起動する
- 3. パブリックIPアドレスを設定する
- 4. SSHによるリモートアクセス
- 5. Apacheを起動する
- 6. SCPによるファイル転送
- 参考
- Amazon Web Services
https://aws.amazon.com/jp/ - AWS 課金体系と見積り方法について | AWS
https://aws.amazon.com/jp/how-to-understand-pricing/ - AWS クラウドサービス活用資料集 | AWS
https://aws.amazon.com/jp/aws-jp-introduction/ - ご利用中のお客様からのよくあるご質問 | AWS
https://aws.amazon.com/jp/aws-jp-faq/customers/
- Amazon Web Services
#02:AWSアカウントを作ろう
- AWS アカウント作成の流れ
https://aws.amazon.com/jp/register-flow/ - 料金の確認方法
1. ログイン
2. アカウント > 請求とコスト管理 - 解約方法
1. ログイン
2. アカウント > アカウント設定
3. アカウント設定ページの一番下に「アカウントの解約」ボタンがある - 解約時の注意
無料期間内でも、停止・削除したインスタンスに割り当てたパブリックIPの設定を解除しておかないと料金が発生してしまいますので、忘れずに解約しておきましょう。
http://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/checklistforunwantedcharges.html#checkelasticipaddresses
#03:Linux仮想マシンを起動しよう
- Linux仮想マシンの起動手順
1. コンソールにアクセス
2. EC2を選択
3. 東京リージョンを選択
4. Linuxディストリビューションを選択
(↑動画では、AMIとしてAmazon Linux AMIを選択とある)
5. インスタンスとして、t2.microを選択
6. キーペアを保存
7. インスタンスを作成 - 参考
- Linux 仮想マシンの起動
https://aws.amazon.com/jp/getting-started/launch-a-virtual-machine/ - インスタンスタイプ - Amazon EC2
https://aws.amazon.com/jp/ec2/instance-types/
- Linux 仮想マシンの起動
#04:パブリックIPアドレスを設定しよう
- パブリックIPアドレスを固定する方法
1. EC2ダッシュボードの左側のメニューで「ネットワーク&セキュリティ」から「Elastic IP」を選択
2. 「新しいアドレスの割り当て」ボタンをクリック
3. ポップアップ「関連付ける」ボタンをクリック
4. 「アクション」→「アドレスの関連付け」
5. アドレスの関連付けポップアップで「インスタンス」を選択して、「関連付ける」ボタンをクリック - HTTPを利用できるようにする
1. インスタンスのリストから、セキュリティグループにアクセス
2. セキュリティグループのページから、「アクション」→「インバウンドルールの編集」をクリック
3. インバウンドルールの編集ポップアップで「ルールの追加」ボタンをクリック
4. 追加された行で「HTTP」を選択し、「保存」ボタンをクリック - 参考
#05:リモートアクセスしよう
- SSHによる接続
- mkdir .ssh
- mv ~/Desktop/FirstKey.pem ~/.ssh
- chmod 400 ~/.ssh/FirstKey.pem
- ssh -i ~/.ssh/FirstKey.pem ec2-user@(パブリックIP)
↑ec2-userはデフォルトのユーザー名
- UNIXコマンド
- 初心者でも覚えておきたい基本的なUNIXコマンド一覧20
TechAcademyマガジン
http://techacademy.jp/magazine/6406 - Linuxコマンド逆引き大全 - Linuxコマンド逆引き大全 Index
ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20060224/230579/?rt=nocnt - 基本的なUNIXコマンド
http://www.cc.kyoto-su.ac.jp/~hirai/text/unixcommand.html
- 初心者でも覚えておきたい基本的なUNIXコマンド一覧20
#06:Webサイトを公開しよう
- Apache起動の作業手順
1. ターミナルからSSHで接続
2. Linuxをアップデート
3. Apacheをインストール
4. Httpdの起動
5. 動作確認
- ターミナルからSSHで接続
ssh -i ~/.ssh/FirstKey.pem ec2-user@(パブリックIP) - Linuxをアップデート
$ sudo yum -y update - Apacheをインストール
$ sudo yum -y install httpd - Httpdの起動
$ sudo service httpd start - Linux仮想マシン起動の度に自動的にApacheを起動する設定
$ sudo chkconfig httpd on - 動作確認
ブラウザでパブリックIPを入力する
※ AWS(のAmazon Linux AMI)って、RHEL/CentOS系のLinuxなんだな。
UbuntuなどのDebian系では、aptコマンドを使ってapache2をインストールしたしな。
UbuntuなどのDebian系では、aptコマンドを使ってapache2をインストールしたしな。
- 参考
- チュートリアル
Amazon Linux への LAMP ウェブサーバーのインストール
- Amazon Elastic Compute Cloud
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/install-LAMP.html
- チュートリアル
- vi
- viエディタの使い方
http://net-newbie.com/linux/commands/vi.html - 今さら聞けない高性能エディタVim入門Code部
https://blog.codecamp.jp/vim
- viエディタの使い方
#07:ファイルを転送しよう
- ローカル環境で作成したhtmlファイルをWebサーバーに転送する。
- 実行するコマンド
- 仮想マシンからファイルをローカルマシンに転送$ scp -i ~/.ssh/FirstKey.pem ec2-user@(パブリックIP):/var/www/html/index.html ~/Desktop
- ローカルマシンから仮想マシンに転送$ scp -i ~/.ssh/FirstKey.pem ~/Desktop/index.html ec2-user@(パブリックIP):~$ sudo mv ~/index.html /var/www/html
- 仮想マシンからファイルをローカルマシンに転送
- 直接仮想マシンの/var/www/htmlに転送したい場合はフォルダの所有権を変更する。
- 仮想マシン側
$ sudo groupadd www
$ sudo usermod -a -G www ec2-user
$ exit
(一旦ログアウトしてもう一度接続)
$ groups
(↑wwwグループが登録されているか確認)
$ sudo chown -R root:www /var/www
$ sudo chmod 2775 /var/www
$ find /var/www -type d -exec sudo chmod 2775 {} \;
$ find /var/www -type f -exec sudo chmod 0664 {} \;
$ exit - ローカルマシン側$ scp -i ~/.ssh/FirstKey.pem ~/Desktop/index.html ec2-user@(パブリックIP):/var/www/html
認定証
演習課題がないので、特になし
学習ステータス
こちらも同様
※コメント投稿者のブログIDはブログ作成者のみに通知されます