5
4

More than 3 years have passed since last update.

【AWS】AWS関連用語を一言でまとめる

Last updated at Posted at 2020-03-09

執筆中

用語

AWSとは

  • クラウド上でサーバーやネットワークを構築するためのサービス

サーバーやネットワークはサービスの中の一つ

インフラ

  • サーバーやネットワーク

インフラを構築

  • ネットワークを構成し、サーバーをネットワークに接続する

サーバー

  • サービスを提供するコンピューター

WebサーバーやDBサーバーなど呼び名は複数あるが役割によって呼び名が異なるだけ

ネットワーク

  • 複数のコンピューターをつないで、データを送受信できるようにする

rootユーザー

  • 全権限を持つユーザー

IAMユーザー

  • 作業用ユーザー。作業者毎にIAMを作成し、権限を割り振り、操作に制限をつける

Cloud Trail

  • 操作ログを記録するサービス

デフォルトで90日保存

リージョン

  • AWSの各サービスが提供されている地域

リージョンによって使えるサービスが異なる

アベイラビリティゾーン

  • 各リージョン内にある独立したデータセンター

物理的に距離がある → 災害対策

VPC

  • AWS上に仮想ネットワークを作成できるサービス

サブネット

  • VPCを細かく分割したネットワーク

分割のメリット

  • Webサーバーはインターネットに接続させたいけど、DBサーバーは隔離したいなどのケースにセキュリティ上強くなる

パブリックサブネット

  • インターネットから接続できるサブネット

プライベートサブネット

  • インターネットから接続できないサブネット

VPC基本設計

VPC基本設計.png

複数のアベイラビリティゾーンそれぞれにサブネットを作成、サーバーを配置することで冗長性を高める(災害に強いインフラ)

ビット

  • 0か1か。コンピュータデータの最小単位。

バイト

  • 8ビットで1バイト

IPアドレス

  • ネットワーク上の機器(VPCやパブリック)を識別するためのインターネットの住所。

IPアドレス.png

パブリック(グローバル)IPアドレス

  • インターネットに接続する際に使用するIPアドレス

ルーターを介して割り当てられるIPアドレス。同じルーター(wi-fiルーター)を使っていれば同じパブリックIPアドレスになる。

プライベート(ローカル)IPアドレス

  • インターネットで使用されないIPアドレス

ルーターを介してデバイス毎に割り当てられる(一意な)IPアドレス。
社内LANの構築などに使用。

IPアドレス(改).png

CIDRブロック

  • VPC全体のIPアドレスの範囲をCEDR表記で指定

テナンシー

  • 物理ハードウェア(Server)を専用するオプション

専用にするとEC2の料金が割高になったりするらしい

ルーター

  • IPアドレスがどのデバイスに紐づいているのか、どのネットワークに所属しているのかを管理しているデバイス

ルーティング

  • サブネットをインターネットに接続するための設定

ターゲット

  • 次のルーター(管理しているルーター名)

インターネットゲートウェイ

  • VPCやパブリックとインターネットをつなげる仮想のルーター

EC2

  • AWSが提供する仮想サーバー

インスタンス

  • EC2から立てられた1つのサーバー

AMI

  • インスタンス起動に必要な情報が入ったOSイメージ

AMIのおかげで自分でOSをインストールする必要がなくなる

インスタンスタイプ

  • インスタンスのスペックを定義したもの
  • CPU、メモリ、ストレージ、ネットワーク帯域がセットになっているパックで、インスタンスファミリー、インスタンス世代、インスタンスサイズから構成される

インスタンスファミリー

  • どういう特徴をもったインスタンスか

CPUの最適化、メモリの最適化、価格の最適化など各特徴をもつ

インスタンス世代

  • 数値が大きくなるほど世代が高い

世代が高いほど高性能

インスタンスサイズ

  • CPU、メモリ、ネットワークのキャパシティによって分類される

ストレージ

  • サーバーにくっつけるデータの保存場所

EBSとインスタンスストアの2種類

SSH

  • 通信内容が暗号化された遠隔ログインシステム

サーバーと自分の目の前のパソコンをセキュアにつなぐサービス

SSHでログイン

  • 物理的に離れている場所にあるサーバーに入って、自分のパソコンから操作できるようにする

基本的にサーバーにログインする時は通信が暗号化されているSSHを使う

SSHログイン(初回)

ターミナル
$ chmod 600 xxxxxxxxxxxx.pem
$ ssh -i xxxxxxxxxxxx.pem ec2-user@パブリックIPアドレス

chmod 600 xxxxxxxxxxxx.pem
→ 権限の上書き

ssh -i xxxxxxxxxxxx.pem ec2-user@パブリックIPアドレス
→ 秘密鍵を使って指定のIPアドレスへsshログイン

sshd

  • ユーザーからのコマンドを受け付けるプログラム

SSH接続をSSHサーバーにリクエストするとSSHサーバー内のsshdが起動するからクライアントでサーバーを操作できるようになる仕組み

公開鍵認証

  • SSHログイン時に認証を行う仕組み
  • 公開鍵はサーバーが保有、秘密鍵をもっているユーザーのみログイン可能
  • EC2作成時にキーペアを作成、pemファイルをダウンロード → このpemファイルが秘密鍵

ポート番号

  • プログラムのアドレス

どのアプリケーションと通信するかを指定する

ウェルノウンポート番号

  • 標準で決められている番号
  • 0~1023までの整数値
  • SSHのポート番号は22
  • HTTPのポート番号は80
  • HTTPSのポート番号は443番
  • SMTPのポート番号は25

Linux

  • サーバーのOS

yum(ヤム)

  • Linuxのパッケージ管理ツール

Linuxへライブラリ(パッケージ)をインストールしたりアンインストールしたりするツール

ターミナル
$ sudo yum update -y

sudo → root権限で
yum update → yumの中身を最新に
-y → yesの略

apache

  • Webサーバーソフトウェア

Nginx(エンジンエックス)

  • apacheの代替のWebサーバーソフトウェア

ファイアウォール

  • 通して良いデータだけ通して、それ以外は遮断する機能

セキュリティグループ

  • ファイアウォールの役割を担う

デフォルトでは22番ポート(ssh接続)のみ許可されている。
つまりhttpとhttpsのポート接続を許可させる必要がある。

インバウンド

  • サーバーへ入ってくる通信

アウトバウンド

  • サーバーから出て行く通信

Elastic IPアドレス

  • インターネット経由でアクセス可能なグローバルIPアドレスを取得し、インスタンスに付与できるサービス

インスタンスのパブリックIPアドレスを固定するために使用する。
インスタンス可動 → 無料
インスタンス不動 → 課金(Elastic IPアドレスを開放すればOK)

ドメイン

  • WebサイトのURL

ドメインの構造

www → 第四レベルドメイン
example → 第三レベルドメイン
co → 第二レベルドメイン
jp → トップレベルドメイン

各レベルのドメインはユニークでないと登録できない

DNS

  • IPアドレスとドメインを紐付けるシステム

ネームサーバーとフルリゾルバの2つから構成

ネームサーバー

  • 紐付いたIPアドレスとドメイン名が登録されているサーバー

フルリゾルバ

  • 特定のドメイン名に紐付くIPアドレスをネームサーバーに問い合わせて教えてくれるサーバー

リソースレコード

  • DNSのIPアドレスとドメインの紐付け一つ一つのこと

Route53

  • AWSのDNSサービス(ネームサーバーの役割)

ドメイン名に紐付いたIPアドレスにアクセスできるようになる

RDS

  • AWSのフルマネージドなリレーショナルデータベースのサービス

マルチAZ(アベイラビリティゾーン)である必要がある

複数AZにサブネットが必要

マスタースレーブ方式

  • マルチAZを具体化した呼び名

複数AZにDBサーバーを設置し、普段使うDBサーバーをマスター、何らかの障害でマスターがダウンした時に使用するDBサーバーをスレーブと呼び、スレーブはマスターにレプリケーションしている

レプリケーション

  • 同期

フルマネージド

  • AWSが運用・管理をするサービス

1日1回バックアップを自動で取得

リレーショナルデータベース

  • データベース

可用性

  • 障害があってもサービスが停止しないかを図る

スナップショット

  • バックアップ

リストア

  • スナップショットを元にDBインスタンスの作成

DBサブネットグループ

  • VPC内にあるサブネットを複数指定してRDSインスタンスが起動するサブネットを指定する設定

指定したサブネットの中でRDSが作成されるようになる

DBパラメータグループ

  • DBの設定値を指定するもの

RDSではDBの設定ファイルを直接編集できないため

RDS適用タイプ

  • static DBパラメータ変更後はインスタンス起動後に設定反映
  • dynamic DBパラメータ変更後は動的に設定反映

DBオプショングループ

  • DBの機能を設定

プロトコル

  • コンピュータ同士がネットワークを利用して通信するために決められた約束

HTTP、TCP、IP、SMTPなど

TCP/IPプロトコル郡

  • TCP・IPを中心として、インターネットを構築する上で必要なプロトコル郡の総称

HTTP

  • コンテンツの送受信に用いられる通信の約束

HTTPリクエストとHTTPレスポンスで通信が成り立つ

HTTPリクエスト構成

  • リクエストライン、ヘッダー、ボディの3つから成り立つ

リクエストライン

  • どのURIに対して何をしてほしいか要求

例:GET/http~/1.1

GET → HTTPメソッド
http~ → リクエスト先のURI
1.1 → そのプロトコルのver

HTTPメソッド
  • コンテンツに対してどんな操作をするかを表したもの
  • GET データを取得する → サイトの閲覧
  • POST データの送信や作成 → 投稿や保存
URI
  • URLからドメインをぬいたパス

ヘッダー

  • クライアントから送信する追加情報

ボディ

  • オプション機能としてあるだけでつけないことが多い

HTTPレスポンスの構成

  • ステータスライン、ヘッダー、ボディの3つから成り立つ

ステータスライン

  • リクエストの成否を返答

例:http~/1.1 200 OK

200 → ステータスコードの数字
OK → ステータスコードに対応した文字列

ステータスコード
  • HTTP通信の結果の成否を示す値
  • 200 成功
  • 300番台 リダイレクト
  • 400番台 クライアント側のエラー
  • 500番台 サーバー側のエラー

ヘッダー

  • 追加情報を返す

ボディ

  • リクエストに対するコンテンツ

htmlのテキストデータが入る

TCP

  • 信頼性のある通信を提供

データの到達確認や、コネクション管理を行う
届いていなければ再送信する

UDP

  • 信頼性はないが高速な通信を提供

動画通信や電話通信など

パケット

  • データを小分けにした1つ1つ

データはパケットで送受信される

ネットワーク層の役割

  • 最終的な宛先のコンピュータにパケットを届けること

IPプロトコルの役割

  • IPアドレス
  • ルーティング
  • パケットの分割・再構築処理

IPアドレス

IPアドレスへ

ルーティング

  • 最終的な宛先のコンピュータまでのパケット配送

S3

  • AWSのクラウドストレージサービス
  • デフォルトでアクセスを拒否(アクセス権限のあるIAMユーザーを作成する必要がある)

オンライン上のファイルの保存場所。(無料枠には含まれない)

S3の重要概念

  • バケット
  • オブジェクト
  • キー

バケット

  • オブジェクトの保存場所

オブジェクト

  • データ本体のことでURLが付与される

キー

  • オブジェクトのURLパス

スケールアウト

  • サーバーの台数を増やすこと

バッチ

  • 定期的に実行するプログラム

CloudFront

  • AWSのコンテンツ配信サービス(CDNのサービス)

キャッシュ機能により高速にコンテンツを配信するサービス

CDN

  • コンテンツ配信サービスの総称

オリジンサーバー

  • 元になる画像を配信するサーバー(今回だとS3)

ディストリビューション

  • CloudFrontのルール

CertificateManager(サーティフィケートマネージャー)

  • 証明書を発行・管理するためのAWSのサービス

SSLサーバー証明書

  • WEBサイトの運営者が実在するかを確認し、ブラウザとWEBサーバーで暗号化通信(https)するための電子証明書

ELB

  • AWS上のロードバランサー
  • ヘルスチェック機能

アプリケーションへのアクセスを複数のサーバーに自動で分散するサービス

ロードバランサー

  • 各サーバーにアクセスを振り分け、負荷を分散する機能

ヘルスチェック

  • 複数EC2インスタンスの中から正常な(稼働している)インスタンスにのみ振り分ける機能

冗長化

  • 稼働率を向上させる手段で、システムの構成要素を多重化すること

サーバーを複数台設置しアクセスを分散することで冗長化を行う

稼働率

  • 障害発生間隔
  • 平均復旧時間

稼働率を向上させる = 障害発生間隔を長くし、平均復旧時間を短くすること

プロビジョニング

  • アクセス数を予測し、適切にリソースを準備することで負荷を均一にさばくこと

負荷をさばく方法

  • スケールアップ 個々の要素の性能を向上
  • スケールアウト 個々の要素の数を増やす

ECS

  • AWSのコンテナオーケストレーションサービス

ロードバランサーやオートスケーリングと組み合わさったサービス
ECSを動かすためのEC2インスタンスも自動で追加・削除される

コンテナオーケストレーション

  • コンテナを管理する技術

コンテナ化されたアプリケーションのデプロイやスケーリング、管理などができる

マイクロサービス

  • コンテナと相性の良いソフトウェアの設計思想

タスク

  • タスク定義を元に作成されるコンテナ

タスク定義

  • コンテナ全般に渡る設定

Dockerfileと似ている

クラスター

  • 複数のサーバーを統合して処理を行うこと

ECR

  • AWSが提供するDockerコンテナレジストリ(AWS版Dockerhub)

Dockerコンテナの保管(アップデート)場所

コンテナレジストリ

  • イメージの保存、管理

terraform

  • AWSやHeroku、GCPなどの構成管理を行うソフトウェア

ファイル構成は .thファイルに記述する

GCP

  • Google Cloud Platform

Googleがクラウド上で提供するサービス群の総称
Gmail、Youtube、Google Mapなど

AWS CLI

  • AWSサービスを管理するための統合ツール

ターミナルからAWSの各サービスの制御ができるようになる

インストール参考
インストール参考(エラー時)

その他

メモ

  • apacheの参照場所

ブラウザからapacheへアクセスがくると、/var/www/html/以下にあるファイルをレスポンスとして返す

  • 著作権関係ない画像の検索

Google → ツールクリック → ライセンス → 改変後の再使用が許可された画像

  • サーバー構成のベストプラクティス

Webサーバーの冗長化と負荷分散
DBサーバーの冗長化

  • Webサーバー → N+1(Nは普段使用しているWebサーバーの数)
  • DBサーバー → マスタースレーブ方式

冗長化
マスタースレーブ方式

理解が不十分な箇所

  • IPアドレス
  • ポート番号
  • Route53の概念

デプロイ流れ

  • IAM作成(権限、操作ログ設定)
  • VPC構築
    • VPCを作成する
    • サブネットを作成する
    • ルーティングを設定して、パブリックサブネットをインターネットにつなげる
  • VPCにサーバーを配置
  • Webサーバーソフトウェアをインストール
    • SSHでサーバーにログイン
    • apacheをインストール
  • ファイアウォールの設定
  • Elastic IPアドレスでIPアドレスを固定
  • ドメインの取得
    • お名前.comなど
  • ドメインのネームサーバーをRoute53に変更
    • Route53でホストゾーンを作成
    • ネームサーバーをRoute53に変更
  • ドメインに紐付くIPアドレスを登録
    • Route53でレコードセットを作成
  • プライベートサブネットの作成(RDS配置のため)
  • RDS作成準備
    • セキュリティグループの作成(EC2)
    • DBサブネットグループの作成
    • DBパラメータグループの作成
    • DBオプショングループの作成
  • RDS作成
    • DBエンジン
    • 本番環境
    • DB詳細の指定
    • 詳細設定の設定
  • アプリケーションをサーバーにインストール
  • S3設置
    • バケット作成
    • 権限を持ったIAMユーザーを作成(一般的ではない)
    • アプリケーションの設定
5
4
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
5
4