背景
AWSでよく出てくる用語やコマンドをまとめてみました。
基礎知識
用語
AMI = OSの情報やディレクトリ、ファイル、ブロックデバイスマッピングなどインスタンス作成に必要な情報を一通りまとめたもの(インスタンスはAMIのコピー)
キーペア = 公開鍵(パブリックキー)暗号における公開鍵(パブリックキー)と秘密鍵(プライベートキー)のペア
Elastic IP = サーバーを再起動しても同じIPアドレスを割り当てることができる性質を持つIP
ポート = 1つのサーバと複数のサーバをつなぐもの
セキュリティグループ = Amazon EC2インスタンスに適用可能なAWS標準のファイアウォール機能。EC2インスタンスへのアクセスを"許可"したり、トラフィックを"制御"することができるもの。
SSH = 暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコルのこと。離れた場所にあるサーバの中で作業を行いたい場合に利用する。
yumコマンド = Linuxにおけるソフトウェア管理の仕組み。MacOSにとってのhomebrewと同じ役割を果たします。yumの管理下にあるプログラムのバージョンを管理したり、一括でアップデートしたりできます。
パッケージ = LinuxOS下における、ある役割/機能をもったプログラムの集合
Node.js = サーバーサイドで動くJavaScriptのパッケージ。今後のデプロイに向けた作業の中で、CSSや画像を圧縮する際に活用される。
rbenv = Rubyのバージョンを簡単に切り替えてくれるツール。
ruby-build = rubyをインストールするためによく使われているrbenvのプラグイン。(rbenvとセット)
.bash_profile = ログインシェルがbashの状態でログインしたときに読み込まれる設定ファイル
rbenv rehash = インストールしたRubyを使用可能な状態にする(shimsへの反映)
Unicorn = 全世界に公開されるサーバ上で良く利用されるアプリケーションサーバ。
プロセス = PC(サーバ)上で動く全てのプログラムの実行時の単位。
worker = 分裂したプロセス全て
worker_processes = リクエストを受け付けレスポンスを生成するworker(ワーカー)の数。
working_directory = UnicornがRailsのコードを動かす際、ルーティングなど実際に参照するファイルを探すディレクトリを指定。
pid = 起動する際にプロセスidが書かれたファイルを生成します。その場所を指定する。
listen = どのポート番号のリクエストを受け付けることにするかを決めるもの
sudo = コンピュータさんに対するコマンドのひとつ。スーパーユーザ(や他のユーザ)の権限でコマンドを実行するときに使うコマンド。
Swap領域 = メモリが使い切られそうになった時にメモリの容量を一時的に増やすために準備されるファイル。
環境変数 = Railsからは ENV['<環境変数名>'] という記述でその値を利用することができる。コンピュータが持っている、値を入れておく箱(変数)。
secret_key_base = Cookieの暗号化に用いられる文字列です。Railsアプリケーションを動作させる際は必ず用意する。
vimコマンド = 高機能エディタ。コマンドでターミナルで使えるようになる。
アセットファイル = 画像・CSS・JSファイルの総称
PID = それぞれのプロセスに割り当てられた管理用の番号のこと
Capfile = Capistrano関連のライブラリのうちどれを読み込むかを指定できる。
DSL = ある特定の処理における効率をあげるために特化した形の文法を擬似的に用意したプログラム。
releasesディレクトリ = capistranoを通じてデプロイされたアプリをひとまとめにするファイル。
currentディレクトリ = current内に入っているアプリの内容が、現在デプロイされている内容
sharedディレクトリ = バージョンが変わっても共通で参照されるディレクトリが格納されるディレクトリ
###よく使うコマンド
$ vim ~/.bash_profile # 環境変数書き込み
$ source ~/.bash_profile # 環境変数適用
$ sudo service mysqld status # 状態を確認する
$ sudo service mysqld start # 起動コマンド
$ mysql -u root -p # PW入力してMySQLへ接続する
$ ps auxwww | grep unicorn # 状態を確認する
$ kill -9 〇〇 # プロセス強制終了
$ cat log/unicorn.stderr.log # ユニコーンのログを見れる
$ sudo service nginx restart # nginx再起動
$ sudo less /var/log/nginx/error.log # nginxのログを見れる
$ bundle exec cap production deploy # 自動デプロイ
$ less log/capistrano.log # capistranoのログを見れる