0
2

More than 3 years have passed since last update.

前提

人間の脳は2日で73%を忘れると聞いて、何回も復習するため書いていきます。

本題

Webサーバーの構築

EC2とは

AWSクラウド上の仮想サーバー
インスタンスとはEC2から立てられたサーバーのこと

特徴

・数分で起動し、1時間または秒単位の従量課金
・サーバーの追加、削除、マシンスペック変更も数分で可能
・OSより上のレイヤについては自由に設定できる

AMIとは

インスタンス起動に必要な情報が入ったOSのイメージ
サーバーのテンプレートのようなもの

特徴

・AWSやサードパティがAMIを提供
・自前のカスタムAMIも作成可能
・カスタムAMIから何台でもEC2インスタンスを起動可能

インスタンスタイプとは

サーバーのスペックを定義したもの

概要

・インスタンスタイプにより、CPU、メモリ、ストレージ、ネットワーク帯域が異なる
・インスタンスタイプにより料金が異なる、スペックが高いほど料金も高い
・アクセス数などに応じて必要なスペックのあるインスタンスタイプを選択する

ストレージとは

サーバーにくっつけるデータの保存場所
EC2のストレージには2種類ある

EBS

・高い可用性と耐久性をもつストレージ
・他のインスタンスに付け替え可能
・EC2インスタンスをStop/TerminateしてもEBSは保持可能
・Snapshotを取得しS3に保存可能
・EBSの費用が別途発生
・OSやDBなど永続性と耐久性が必要なデータを置く

インスタンスストア

・インスタンス専用の一時的なストレージ
・他のインスタンスに付け替えることができない
・EC2インスタンスをStop/Terminateするとクリアされる
・追加費用なし(無料)
・なくなってはいけないデータは置かない
・一時ファイル、キャッシュなど失われても問題がないデータを置く

通常だとEBSを使用することが多い

サーバーにログインとは?

(離れた場所にある)サーバーに入って、自分のパソコンから操作すること

SSHとは

サーバーと自分の目の前のパソコンをセキュアにつなぐサービスのこと
通信内容が暗号化された遠隔ログインシステム
EC2にログインするときはSSHを使用する

公開鍵認証

誰でもサーバーに入れると困るので、サーバーの作成者本人だけがログインできるよう、EC2ではSSHログイン時に公開鍵認証を行なっている

公開鍵認証とは

・サーバーへのログイン時に認証を行う仕組み
・ユーザー名とパスワードを使用した認証と比べ、よりセキュリティが高い
・公開鍵暗号(秘密鍵と公開鍵)を用いて認証を行う
・公開鍵はサーバーが保有、秘密鍵を持っているユーザーだけログイン可能
pemファイルが秘密鍵

ポート番号

プログラムのアドレス
同一のコンピュータ内で通信を行うプログラムを識別するときに利用される

ポート番号はどうやって決まっているのか

ポート番号を決める方法には2種類ある

標準で決められている番号

・代表的なプログラムが使うポート番号はあらかじめ決められている
・ウェルノウンポート番号と呼ばれる
・ウェルノウンポート番号は0〜1023までのいずれかの整数値をとる
・接続元(クライアント)が接続先のポート番号を省略したときは、このウェルノウンポート番号が使用される

動的に決まる番号

・サービスを提供する側(サーバー)はポート番号が決まっている必要があるが、接続元(クライアント)のポート番号は決まっていなくてもいい
・クライアントのポート番号は、OSが他のポート番号と被らないように、ランダムに決められる
・動的に割り当てられる番号は49142〜65535までのいずれかの整数値をとる

$ sudo lsof -i -n -P

lsof
どのポート番号でどのプログラムが待ち受けているか知るためのコマンド

-i
ネットワークソケットファイルを表示するオプション
サーバーの待機ポートとプロセスを一覧表示する

-n
IPアドレスをホスト名に変換しないオプション

-P
ポート番号をサービス名に変換しないオプション

・LISTEN
他のコンピュータから待ち受けているポート

・ESTABLISHED
相手と現在、通信中のポート

ファイヤウォールとは

ネットワークを不正アクセスから守るため、通して良い通信だけを通して、それ以外は通さな機能の総称

AWSにおけるファイアウォール

セキュリティグループがファイアウォールの役割を担っている

EC2インスタンスのパブリックIPは、起動・停止すると別のIPアドレスが割り当てられる
ElasticIPアドレスを使用するとIPアドレスを固定できる

ドメイン登録(Route53)

IPアドレスは数字の列なので、人にとっては覚えにくい
そこで、ドメイン名を用いてWebサイトにアクセスできる

ドメイン名の構造

ドメイン名はピリオドで区切られた構造をしている

ドメインは誰が管理しているのか

ドメイン名全体はICANNが管理していて、トップレベルドメインごとにレジストリが管理
販売はレジストラとリセらが行う

ICANN

ドメイン全体を管理

レジストリ

・トップレベルドメインを管理
・レジストラに卸す
.jp
.com/.ne
.org

レジストラ

・リセラに卸す
・一般消費者に販売
お名前.com
ゴンベエドメイン

リセラ

・一般消費者に販売
Yahoo!ドメイン
ムームードメイン

ドメインを購入すればWebサイトが見れる?

ドメインを購入するだけでは見れない
Webサイトを見れるようにするにはドメインとサーバー(IPアドレス)をDNSで紐づける必要がある

DNSとは

・ドメイン名の管理システム
・ドメイン名をIPアドレスに変換する
・ネームサーバーとフルリゾルバの2つから構成されている

ネームサーバー

・ドメイン名とそれに紐付くIPアドレスが登録されているサーバー
・ドメインの階層ごとにネームサーバーが配置され、そのネームサーバーが配置された階層のドメインに関する情報を管理する

フルリゾルバ

・どのドメインに紐付くIPアドレスを教えてと問い合わせると、色々なネームサーバーに聞いてIPアドレスを調べて教えてくれるサーバー

DNSはドメイン名とIPアドレス以外も管理している

ドメイン名とIPアドレスの紐付け一つ一つのことをリソースレコードと呼び、IPアドレス以外も管理している

Route53とは

AWSのDNSサービス
ネームサーバーの役割を果たす

特徴

・高可用性、SLA100%(稼働率のこと、Route53が落ちないよということをAWSが保証している)
・高速、エッジロケーションの中でもっとも近いロケーションから応答を返す(東京に12箇所、大阪に1箇所)
・フルマネージドサービス、DNSサーバーの設計・構築・維持管理が不要(AWSが全部やってくれる)

概念

・ホストゾーン
DNSのリソースレコードの集合
ゾーンファイルのようなもの
・レコードセット
リソースレコードのこと
・ルーティングポリシー
Route53がRecordSetに対してどのようにルーティングを行うかを決める
・ヘルスチェック
サーバーの稼働状況をチェック

ルーティングポリシー

シンプル

・レコードセットで事前に設定された値に基づいて、ドメインへの問い合わせに応答する
・最初はこちらを使用することが多い

加重

・複数エンドポイント毎に設定された重みづけに基づいて、ドメインへの問い合わせに応答する
・提供リソースに差がある場合やABテスト時に使用

レイテンシー

・リージョン間の遅延が少ない方のリソースへルーティングする
・マルチリージョンにリソースが存在する場合に使用

位置情報

・クライアントの位置情報に基づいて、ドメインへの問い合わせに応答する
・コンテンツのローカライズや地域限定配信時に使用

フェイルオーバー

・ヘルスチェックの結果に基づいて、利用可能なリソースへルーティングする
・障害発生時にSorryサーバーに簡単に切り替えられる

RDSとは

フルマネージなリレーショナルデータベースのサービス
・構築の手間の軽減
・運用の手間の軽減
・AWSエンジニアによるデータベース設計のベストプラクティスを適用
...コア機能の開発に集中できる!!

概要

・利用可能なエンジン
MySQL
PostgreSQL
Oracle
Microsoft SQL Server
Amazon Aurora
MariaDB

・各種設定グループ
DBパラメータグループ:DB設定値を制御
DBオプショングループ:RDSへの機能追加を制御
DBサブネットグループ:RDSを起動させるサブネットを制御

特徴

・可溶性の向上
マルチAZを簡単に構築

・パフォーマンスの向上
リードレプリカを簡単に構築

・運用負荷の軽減
自動的なバックアップ
1日1回バックアップを自動取得(スナップショット)
スナップショットをもとにDBインスタンスを作成(リストア)

自動的なソフトウエアメンテナス
メンテナンスウィンドウで指定した曜日・時間帯にアップデートを自動実施

監視
各種メトリクスを60秒間隔で取得・確認可能

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2