よく出てくる用語
EC2(Elastic Compute Cloud):仮想サーバー
RDS(Relational Database Service):データベース
S3(Simple Storage Service):ストレージ
IAM(Identity and Access Management):AWS リソースへのアクセスを安全に制御するためのウェブサービス
Amazon CloudWatch:AWS で実行するアプリケーションのモニタリングサービス。メトリクスを収集して追跡すること、ログファイルを収集してモニタリングすること、アラームを設定すること、AWS リソースの変更に自動的に反応することができる。
アカウントを作る
・クレジットカードの登録が必要
・電話を使った二段階認証
EC2の作成
サービス>コンピューティング>EC2
・リージョンを東京にする
・インスタンスの作成
AMIの選択
AMI(Amazon Machine Image) は、インスタンスの作成に必要なソフトウェア構成 (OS、アプリケーションサーバー、アプリケーション) を含むテンプレート。 AWS が提供するもの、ユーザーコミュニティが提供するもの、または AWS Marketplace に掲載されているものを選択可能
今回はAWSが無償で提供する下記のAMIを利用
・Amazon Linux AMI 2017.09.1 (HVM), SSD Volume Type - ami-ceafcba8を選択

インスタンスタイプの選択
インスタンスは、アプリケーションを実行できる仮想サーバー。CPU、メモリ、ストレージ、ネットワークキャパシティーのさまざまな組み合わせが可能なため、アプリケーションに合わせて適切なリソースを柔軟に選択可能。
今回は汎用向けで無償提供されている下記を選択
t2.micro (可変 ECU, 1 vCPU, 2.5 GHz, Intel Xeon Family, 1 GiB メモリ, EBS のみ)
インスタンスの設定
・サブネットの選択
・削除保護の有効化にチェック
ストレージの追加
インスタンスに追加の EBS ボリュームやインスタンスストアボリュームをアタッチするか、ルートボリュームの設定を編集することができます。
EBSって何?インスタンスストアボリュームって何?ルートボリュームって何?
EBS(Elastic Block Store):
ー耐久性に優れたブロックレベルのストレージボリューム
ーシステムドライブ、データベースアプリケーションのストレージなど、頻繁に更新する必要があるデータのプライマリストレージとして使用可能
ーEC2 インスタンスの運用状況から独立した永続性を持つ
インスタントストア:
ーインスタンス用のブロックレベルの一時ストレージを提供
ー頻繁に変更される情報 (バッファ、キャッシュ、スクラッチデータ、その他の一時コンテンツなど) の一時ストレージに最適
ーロックデバイスとして表示される 1 つ以上のインスタンスストアボリュームで構成
ーインスタンスストアのサイズと、利用可能なデバイスの数は、インスタンスタイプによって異なる
ルートボリューム:
ールートデバイスボリュームに格納されているイメージを使用してインスタンスがブートされる
ーinstance store-backed AMI または Amazon EBS-backed AMI のどちらからでもインスタンスを起動できる。AMI の説明にはそのタイプが含まれており、場所によってルートデバイスが ebs (Amazon EBS-Backed の場合) または instance store (Instance store-Backed の場合) と表示される。各タイプの AMI を使用して実行できることには大きな違いがある。
詳しくはコチラを参照
・デフォルト設定を利用
タグの追加
インスタンス、イメージ、その他の Amazon EC2 リソースにはタグという形式で独自のメタデータをオプションで割り当てることができる。
セキュリティグループの設定
セキュリティグループ:
ーインスタンスのトラフィックを制御するファイアウォールのルールセット
・ソースはマイIPにする
・HTTP 0.0.0.0/0 でインターネットからの接続を可能にする
この辺り、基本でありながら全然理解できていないので、今度復習する。
キーペアの作成
とりあえず作成して安全な場所に置いておく
ここは今度勉強する。
キーが公開されていないことが必要
chmod 400 キーペア
で読み出し権限のみにする
仮想サーバーへの接続
アクション>スタンドアロンSSHクライアント
ssh -i "キーペア" ----.amazonaws.com
でサーバー接続。
sudo yum update
でアップデート
sudo yum -y install httpd php mysql
でインストール
sudo service httpd start
でWebサーバーの立ち上げ
sudo chkconfig httpd on
で再起動時に自動でサーバーを立ち上げる
/var/www/htmlにファイルを置くとWeb上でページを表示してくれるようだ。これをhomeディレクトリに置いていたら怒られた(当たり前だ笑)
イメージの作成
イメージとはインスタンスの設定内容をテンプレ化したもの
右クリック>イメージ>イメージの作成
IPアドレスを設定する
Elastic IPs>新しいアドレスの割り当て
アドレスの関連付けから関連付けるインスタンスを選択
*インスタンスに関連づいていないElastic IPは課金されてしまうので使わない場合はリリースすること
バックアップとスペックの変更
バックアップ:ボリューム>スナップショットの作成
作成したスナップショットからイメージを作成し、イメージからインスタンスを作成する。
スペックの変更
インスタンスを停止する
Stateがstoppingからstoppedになってからインインスタンスの設定>インスタンスタイプを変更する
その後インスタンスを開始する
データベースを立ち上げる
DBエンジン;MySQL
無料枠で利用するためマルチAZはオフにする。
マルチアベイラビリティゾーンを有効にすると、物理的に離れたデータセンターにバックアップを作ってくれるので障害に強くなる。
mysqlへの接続
mysql -h エンドポイント -u ユーザー名 -p
で接続できるはずなんだけどうまくいかない。
どうもセキュリティグループの設定が必要なようだ。
参考:mysqlへの接続
ロードバランサーを作る
アクセスをインスタンスに振り分ける
ロードバランサーの設定
リスナーとは、設定したプロトコルとポートを使用して接続リクエストをチェックするプロセス
S3を作成する
ストレージに特化しているので、容量を気にする必要がない。信頼性が高い。アクセスも高速。
画像をホストして、アクセスを分散させる。基本的に開発言語向けのパッケージを利用することが多い。
無料でAWSを利用する際の注意点
・EC2のマイクロインスタンスのみ利用する
参考:https://aws.amazon.com/jp/ec2/?ft=n
ドメインを取得して、S3と紐づける
URLから静的ページへ遷移する仕組みを作成する。
お名前.comからドメインを取得
ムームードメインなども有名、今回はお名前.comでドメインを取得した。
Route53を使ってS3とドメインを紐づけ
詳細はコチラに載っているので参考にすると良い
次回勉強すること
・S3の料金体系
・S3とEC2の違い、用途の違い、料金について
・EC2を用いた動的ページの作成
・EC2内で作業する為に必要なこと