AWSなどのインフラの基本用語

# オンプレミスとクラウドインフラについて

***オンプレミス***とは自社内だけでサービスが完結し、自社の中だけで運用していくことです。
言い換えると```自社運用```というみたいです。
自社の中でシステムなどを構築するため自社システムと連携しやすいみたいですが、
スピードもクラウドインフラと比べたらスピードが遅く最近だと導入する企業は少なくなっているみたいです。

***クラウド***とはインターネット上でサービスが完結するサービスです。
オンプレミスと比べたらシステム構築などのスピードが速く、
サーバーなどを新たに買う必要がなく経費などが安く済みます。
費用がかからず、スピードが速いため最近は導入していく企業は増えているみたいです。

他にもメンテナンスが不要でセキュリティが強いメリットもあります。

# AWSとは
***Amazon web servise***の略です。Amazonから提供されているクラウドサービスです。
最近web系の開発企業でも導入されています。
```シェア率は1位```です。

⚫︎特徴
・レンタルサーバーの中でも１時間単位での課金がある革命的なサーバー


# ざっくりとしたAWSの流れ

　HTTPリクエスト
               ⬇️
　```ロードパランサー(ELB)　```
⬇️                　　　　　　　　　　　　　　　　　　　　　　　　
```　webサーバー　(EC2)　　　```　　　 ●複数の場合あり　　　　　　　　
          ⬇️  　　　　　　　　　　　　　　  
```DB(RDS)```
　　　　　　　　　　　　　　　　　　　　　　　　
⚫︎補足
サービスごとに料金発生。
***サーバー台数を増やし、負荷を分散***することを```スケールアウト```と言います。
***サーバー台数を増やさずにメモリやcpuを増やしてメモリを良くする***ことを
```スケールアップ```と言います。
　　　　　　　　　　　
⚫︎```スケールアウトとスケールアウト```

# AWSの基礎用語について
AWSを使う上で知っておいた方がいい用語を紹介していきます。

⚫︎```IAM``` (AWS Identity and Access Management)
ユーザーとアクセス権限を管理し、セキュリティ制御を行います。
認証情報やAWSリソースを制御するための権限をまとめて管理します。
　
```rootアカウント```はAWSのアカウントを作成した時に、
用意される、全ての権限を持つユーザーです。（アカウント削除など）
***rootユーザー***は全部の権限を持つユーザーです。
***IAMユーザー***が権限を設定し、IAMを運用できる人のことです。

⚫︎```VPC```　AWS VPC（Amazon Web Service Virtual Private Cloud）
ユーザー専用のクラウドの管理をし、仮想ネットワークを提供します。

⚫︎```サブネット```
ネットワークをさらに細かくした***ネットワークの範囲***です。
サブネットマスクという考え方で分割をします。

⚫︎```インターネットゲートウェイ(IGW)```
VPCと外部ネットワークを繋ぐ、インターネットの出入口です。

⚫︎```ルーティングテーブル```
ネットワークの中のVPCの中を移動するための経路みたいなものです。
大規模になる場合は経路が通るまで時間がかかり、
速度遅延になる場合があるので設定が必要です。

⚫︎```ネットワークインターフェース```
ネットワーク通信をするためのIPアドレスを割当するものです。
AWSではENI（Elastic Network Interface）と言います。

⚫︎```IPアドレス```
TCP/IPで通信機器などを識別するためのアドレスです。
インターネット上の住所みたいなものです。

⚫︎```CIDR```
VPC内で利用可能なIPアドレスの範囲のことを指します。この値により、アドレス量が変化します。


⚫︎```EC2```Amazon EC2（Amazon Elastic Compute Cloud）
仮想サーバーのことで全てのクラウドサービスに存在します。
***webサーバーのことです。***
サーバー1台のことを***インスタンス***と言います。

⚫︎```AMI```
***インスタンスを起動する時のイメージファイル***

⚫︎```テナンシー```
インスタンスは仮想的に作成するが実際はハードウェア上に作られます。
ハードウェアを占有するか他者と共有するかの設定です。

⚫︎```RDS``` Amazon RDS（Amazon Relational Database Service）
Amazonの提供する***データベース***のサービスです。
データベースのことを指します。
様々なデータベースを構築、設定していくことができます。
自動でバックアップなども取ってくれて便利です。

⚫︎```ライセンスモデル```
データベースを利用する時のライセンス設定です。

⚫︎```冗長化構成```
複数の装置や仕組みを用意して、
システムの一部が障害を起こしても運用できるようにしておくことです。
下の***ロードパランサー(ELB)***が該当します。
サーバーを複数用意し、負荷分散をします。

⚫︎```ロードパランサー(ELB)```
***HTTPリクエストをどのwebサーバーに割り振りするかを決定するものです。***
上の冗長化をし、負荷分散をするための仕組みです。

⚫︎```ElasticIP(EIP)```
***IPアドレスを固定する***

⚫︎```SSHログイン```
***サーバー管理者から見て、離れた場所からサーバーを遠隔操作する***

⚫︎```スナップショット```
***サーバーに不具合が起きた時に前回のセーブポイントからやり直すことができる***

⚫︎```S3```
***ファイルサーバーのこと***。容量が足りなくなった時の外付けハードディスクのイメージ。
***インターネットのクラウド上にファイルなどを保管できる。***
サーバー１台を```バケット```と呼びます。```バケツ```とも呼ばれるみたいです。

⚫︎```リザーブドインスタンス```
***料金を１年先まで一括払いし料金が半額くらい安くなる。***

⚫︎```リージョン```
どの地域のサーバーを使うか。

⚫︎```セキュリティグループ```
***ポートの開放設定***のことです。
EC2インスタンス、ロードパランサー、DBなど様々なとこで使用し、
「対象へのアクセス制限」をコントロールするセキュリティ設定です。
TCP/IPを使った制限になり、SSHやwebアプリケーションを動かす時に公開します。

⚫︎```AZ```
サブネットを構築する時に設定した***データセンター***のことです。

⚫︎```マルチAZ配置```
AZを複数にまたがりDBを設置するかどうかの設定です。
冗長化のようにサーバーを複数用意し、負荷分散をし、システムが止まるのを回避します。
その際拠点を分けて構築するのが基本で、それをやるための考え方です。

# クラウドの種類

```SaaS``` (Software as a Service）
クラウドサーバーにあるソフトウェアをインターネット経由でユーザーが利用できるサービスです。

```PaaS``` （Platform as a Service）
アプリケーションを構築して動かす開発環境を、ネットワークを通して提供するサービスです。

# 最後に
ここに載っている用語は基本用語なのでもっといろんな用語もあるので
調べてみてください。


⚫︎参考資料
https://business.ntt-east.co.jp/content/cloudsolution/column-37.html
https://www.internetacademy.co.jp/trends/it-strategy/merit-and-demerit-of-cloud.html#chapter1

⚫︎参考動画
https://m.youtube.com/watch?v=kLXtqBkGvFE&list=PL-1KBX2gDRuiVHvgXJTvZxmQgIY8C7dlp&index=2