インフラ 学習 memo
インフラ で学んだことを雑にmemoしていく
サーバー
サーバーとは、「Linux」や「Windows Server」など、サーバー用のOSインストールしたコンピュータ
「サーバーにどのようなミドルウェアをインストールするか」によってサーバーの用途が変わる。
- Webサーバー
- Apache
- nginx
- データベースサーバー
- メールサーバー
サーバーに複数のミドルウェアをインストールすることも可能。 この場合「Webサーバー 兼 データベースサーバ」となる
ネットワーク
TCP/IP
IPアドレス
32ビットで構成 8ビットずつ10進数に変換したものをピリオドで区切って表現 例:「192.168.100.200」 「0」~ 「255」 「0.0.0.0」から「255.255.255.255」まで IPアドレスは、ネットワーク上で互いに重複しない唯一無二の番号で、いわゆる「住所」に相当 IPアドレスには「パブリックIPアドレス」と「プライベートIPアドレス」がある。
パブリックIPアドレス
IPアドレスは重複が許されないため勝手に設定できない、 インターネットで利用するIPアドレスは「ICANN」という団体が一括管理 インターネットに接続する際に用いるIPアドレスのことを「パブリックIPアドレス」もしくは、 「グローバルIPアドレス」と呼ぶ
プライベートIPアドレス
プライベートIPアドレスは誰にも申請することなく自由に使える
ポート番号
ポート番号の利用で1IPアドレスに対して複数のアプリケーションが通信可能になる 「web」「DNS」「SMTP」にはあらかじめポート番号が決まってたりする。それを「ウェルノウンポート」と呼ぶ
HTTP
webサーバーとwebブラウザでやりとりする通信規約
TCP/IPモデル
- アプリケーション層
- トランスポート層
- インターネット層
- インターフェース層
ドメイン
DNSサーバー
ホスト
ホスト「host」とは、コンピュータやルーターなどのネットワーク機器など、 IPアドレスを持つ通信機器の総称
VPC
VPCを「パブリック」と「プライベート」に分けて利用
パブリックサブネット
Webサーバーなどを置く インターネットに接続し、「公開」されている。
プライベートサブネット
DBサーバなどを置く インターネットには直接接続していないため、「非公開」とされている。
NAT
Network Address Translation 内部だけで通用するアドレスを外部とも通信できるアドレスに変換する技術
サブネットマスク
「サブネットマスク表記」
表記方法の違い
CIDR
「CIDR表記 (サイダー表記)」
表記方法の違い
ルーティング
ネットワークにデータを流すために必要な設定「ルーティング情報」 「ルーティングテーブル」や「ルートテーブル」と呼ばれる AWSでは「ルートテーブル」
インターネットゲートウェイ
インターネットに接続する間口 EC2からインターネットへ、インターネットからEC2へアクセスできるようにするためにアタッチする必要がある
ネットワーク関連コマンド
AWS
2004年11月からサービス開始
AWSの特徴 - 豊富なサービス - 柔軟なリソース - 従量課金
リージョン
世界中の地域に存在するデータセンター群 「オレゴンリージョン」「東京リージョン」「バージニアリージョン」
アベイラビリティゾーン
リージョンのさらに分割されたデータセンター群 大阪と東京的な
エッジロケーション
東京に2つ、大阪に1つある CDNサービスのcloudFrontやRoute53のDNSサーバなどで用いられている
Amazon VPC
「Amazon Virtual Private Cloud」
AWS上に論理的な仮想ネットワークを構築するサービス 元々AWSはパブリッククラウドサービス
Amazon EC2
「Amazon Elastic Compute Cloud」 「EC2インスタンス」と呼ぶ インスタンスとは、仮想的なサーバーのこと
AMI (Amazon Machine Image)
Amazon Route53
- Hosted Zone
Hosted ZoneはDNSレコード (Resource Record) の集合
Record Set Record Setは、各DNSレコード
Routing Policy Routing Poricyは、Route53がRecord Setに対してどのようにルーティングを行うのかを決定する
レコードタイプ
A (Address Record)
ホスト名とIPV4のIPアドレスのマッピングを行う ドメイン名とIPアドレスを ドメイン名:IPアドレス = 1:n
CNAME (Canonical Name Record)
他のDNS名の別名を設定する Aレコードで定義されているドメイン名と別名を定義する。 IPアドレス:ドメイン名 = 1:n を定義する
AレコードとCNAMEレコードの違い
Aレコードはドメイン名とIPアドレスの関係性を定義、CNAMEはそれの別名を定義する
DNSフェイルオーバー
利用の前提としてヘルスチェックを設定する必要がある
Amazon S3 (Simple Storage Service)
シンプルでとても使い易いインターネットストレージサービス
CloudFront
CloudFrontはAWSが提供するCDNサービス CDNサービス (Content Delivery Network) 画像などの性的コンテンツをS3から配信している時に、S3の前段にCloudFrontを挟むことで静的コンテンツをエッジサーバーがキャッシュし、速度を早くすることができる
S3とCloudFrontを連携して用いる
サーバー移設
road_workerのファイルを変更しmasterブランチへマージ circleciが変更を確認しAWSのRoute53の設定を変更 変更が反映されたタイミングでDNSサーバーからのレスポンスに応じて飛び先を変える DNSフェイルオーバーをサーバーの向き先変更には利用しない 重み付けはサーバーで失敗した時のリスクを最小限に抑えたい場合などで利用する レイテンシーは大規模サービスで主に利用する
アプリケーション管理ツール
- ElasticBeanstalk
- Opsworks
- CloudFormation