【初心者向け】AWSを学ぶ前に確認したい用語
クラウド
「インターネット経由でITリソース(コンピューティング, データベース, アプリケーション..etc)を利用するサービス」
例えばAWSでは、Amazonが世界各地に設置した物理サーバーを*論理的に分割し、1台の物理サーバーから複数台の仮想サーバーを立ち上げます。その仮想サーバーをインターネット経由で割り当てることで、ユーザーはサーバー機能(コンピューティング..etc)を利用できるというわけです。クラウドではサーバーの他に、データベースやストレージなども仮想的に割り当てることができます。
※クラウドは物理サーバーを間借りするのではなく、利用するたびに異なる仮想インスタンスが起動するというイメージです。(インスタンスについては後述)
Source
インスタンス
「ユーザーに割り振られた仮想サーバーのサービスの単位」
AWSで発行される仮想サーバーのことをEC2と呼び、そのEC2というサービスの1つの単位をEC2インスタンスといいます。EC2インスタンスはAmazonが用意した物理サーバーに依存するのでハードウェア障害も考えられます。そのために複数インスタンスを立ち上げ、万が一の際に備える必要があります。(高可用性)
IPアドレス
「通信の宛先情報」
IPアドレスとは例えば「192.168.1.20」というような番号を指し、実際の通信ではこれで相手を指定しデータをやり取りしています。特定のIPアドレスを拒否したり範囲を制限することで、通信の安全性を高めることができます。AWSでは、EC2インスタンスを停止してしまうとIPアドレスが変わってしまい運用に手間がかかるので、Elastic IP(IPアドレスを固定する有償サービス)を活用することがあります。
グローバル / プライベートアドレス
「グローバル: 全世界に公開されたアドレス, プライベート: 組織に内に限定されたアドレス」
例えば自宅Wi-Fiでインターネットを利用する場合、情報を1つの(Wi-Fiの)グローバルアドレスで受け取り、それを複数(スマホやPCなど)のプライベートアドレスに渡しています。AWSでは組織のPC(プライベート)からインターネット(グローバル)へ接続する際に、NAT (Network Address Translation)という仕組みが使われています。
ポート
「コンピュータで使われているサービスの種類を指定する番号」
前述したIPアドレスでは「ネットワーク内のコンピュータ」を特定でき、ポートでは「使われているサービスの種類」を特定することができます。ポート番号を指定することでサーバーが各サービス毎のリクエストに対応しやすくなり、かつ不正なアクセスからサーバーを保護することにも繋がるのです。AWSではセキュリティグループなどの機能でポートを制限し、安全性を高めることができます。
※代表的なポート番号には、80(HTTP), 443(HTTPS), 22(SSH), 23(Telnet) などがあります。
DNSによる名前解決
「ドメイン名からIPアドレスを求める仕組みのこと」
DNS(Domain Name System)はドメイン名(このサイトではex-ture.com)とIPアドレス(126.202.150.213)が関連づけるシステムのことです。本来、私たちがインターネットで情報にアクセスするにはIPアドレスを指定する必要がありますが、DNSを使うとその手間を省くことができます。AWSではRoute 53というDNSサービスが有名です。
IaaS / PaaS / SaaS
「IaaS: インフラサービス, PaaS: プラットフォームサービス, SaaS:ソフトウェアサービス」
IaaSは仮想的なハードウェアリソース(CPU, メモリ, ストレージ..etc)、PaaSは開発に必要な環境(サーバー設置, OSインストール..etc)、SaaSは提供側(サーバー側)で稼働しているソフトウェアをインターネット経由で利用するといったサービスです。これらはユーザーがどの範囲まで管理するかという点で異なり、AWSではそれぞれ「EC2」(IaaS),「Lambda, Elastic Beanstalk」(PaaS),「S3, CloudWatch」(SaaS)があります。
ハイブリットクラウド
「オンプレミス(自社サーバー)とクラウドを両立させた状態」
オンプレミスはクローズドな環境での運用, 社内システムとの連携に強く、クラウドでは導入/運用コストが低い, リソースを柔軟に拡張できるという特徴があります。ハイブリットクラウドとは平たくいうと、この両者の良いとこ取りをするような状態です。AWSの具体的なサービスとしては、Direct Connect(オンプレとクラウドの専用線), Storage Gateway(オンプレからクラウドへデータを転送) などがあります。
リージョン
「AWSの地理的に独立したクラウド領域のこと」
下の画像のようにAWSでは世界各地にリージョンが存在しており、ユーザーは自由にリージョンを使い分けることができます。リージョン間は完全に分離されており、それぞれのリージョンでサービスや料金も異なります。AWSでは複数リージョンを活用することで耐障害性を高めたり、ユーザーの近くから低遅延でコンテンツを配信することができます。
AZ (Availability Zone)
「リージョン内に存在するデータセンターの集合体のこと」
AZは物理的に異なるインフラ(場所は非公開)で構成されておりAZ間は高速回線で結ばれています。ユーザーは複数AZを使い分けてリソースを分散配置することで、障害時にシステムがダウンすることを防ぐことができます。同一リージョン内であればAZをまたいでデータを複製/参照することができるので、リージョンに比べてシームレスにデータやリソースを連携できます。
エッジロケーション
「コンテンツ配信やDNSの名前解決に使われるデータセンター」
エッジロケーションは、Cloud Front(コンテンツ配信サービス)やRoute 53(DNS)を提供するデータセンターのことです。これを活用することで離れた場所にあるコンテンツを最寄りのデータセンターから配信でき、ユーザーは低遅延でコンテンツを受け取ることができます。
冗長化
「システムの単一障害点をなくすこと」
AWSでは複数リージョンやAZを活用することで、冗長化されたシステムやサーバーを構築することができます。災害などでシステムの一部に障害が発生した場合でも、全体として処理を継続できるようにすることが冗長化の役割です。
弾力性 (Elastic)
「柔軟にシステムのサイズや性能を変化できること」
弾力性はクラウドサービスの大きな特徴の1つで、必要なときに必要な分だけリソースを取得/開放できます。AWSのサービス名にもElasticという単語がよく使われ、具体例としてはEC2(Elastic Computing Cloud), EBC (Elastic Block Store)などがあります。
プロビジョニング
「ITリソース(サーバー, ストレージ..etc)を状況に応じてシステムに割り当てること」
例えばサーバープロビジョニングは「サーバーへOSをインストールしネットワーク構成などを終えた状態」, ユーザープロビジョニングは「アカウント作成やアクセス権を付与した状態」のことを指します。AWSのプロビジョニングサービスの例としては、Elastic Beanstalk(定番のインフラ構成を自動化するサービス), CloudFormation(リソースを自動構築するサービス) などがあります。
デプロイ
「サーバーにファイルを配置して、それが利用できる状態にすること」
ここでいうファイルとは、バイナリファイル, ソースコード, その他ドキュメントのことを指します。AWSでは例えば、ソフトウェアを様々なコンピューティングサービス(EC2, Lambda..etc)へデプロイするCodeDeploy、コードの構築・テスト・デプロイするパイプラインを作成するCodePipelineなどが挙げられます。
DR (Disaster Recovery)
「障害時の復旧対策のこと」
AWSでは、コストが小さい順に
DR対策にはコストが小さい順に、①バックアップ&リストア, ②パイロットライト(=障害時のみ復旧用システムを起動), ③ウォームスタンバイ(=常に復旧用のシステムにデータを転送), ④マルチサイト(=常に複数の場所でシステムを起動)があります。AWSの場合、①定期的に別リージョンへデータを複製する, ②別リージョンの低スペックDBと同期させ障害時は一時的にそのリージョンに乗り換える, ③別リージョンで低スペックDBだけでなくアプリケーションも起動させておく, ④本番用システムと同じ構成のシステムを常に別リージョンで起動させる、といったパターンがあります。
認証と認可
「アイデンティティを認証をし、適切な権限を与えること」
アイデンティティ認証とは本人確認のことで、ID/PWを使った認証, (Suicaなど)物理デバイスでの認証, (指紋など)生体認証があり、セキュリティを向上させるためにそれらを組み合わせたMFA(Multi Factor Authentication)などがあります。認証の次はユーザーができることを細かく決める認可というステップがあります。AWSではこの認証/認可を提供するサービスとしてIAM(Identity and Access Management)があります。
フェデレーション
「ある本人確認を別のサービスと連携させること」
私たちはサイトの会員登録などでFacebook, Googleアカウントを使ったりしますが、この外部アプリを使って認証させるという行為をフェデレーションといいます。AWSでは、WEB IDフェデレーション, SAML2.0フェデレーションなどがサポートされています。Okta, AD, OpenIDを使ったSSO(Single Sign-On)サービスなどが良い例です。
アタッチ
「(インスタンスに)ボリュームを紐づけること」
EC2インスタンスにEBSボリュームを割り当てるときに「EC2にEBSをアタッチする」と呼んだりします。オブジェクトを紐づけることをアタッチ、切り離すことをデタッチといいます。
ルーティング
「ネットワーク間で最適な通信経路を決めること」
どのオブジェクトにトラフィックを転送するか決めることをルーティングといいます。AWSでは、Route 53でルーティングを管理したり、ルートテーブルでルーティングの優先度を決めたりすることができます。
DDoS攻撃 (Distributed Denial of Service)
「不正にのっとった複数のIPアドレスから同時にシステムを攻撃すること」
DDoSは攻撃元が次々と変わるため選択的にIPアドレスをブロックするということが難しいです。そこでAWSでは、DDoS対策に特化した AWS Shieldというサービスがあります。Shieldは、CloudFrontやRoute 53などの冗長化サービスと組み合わせることで、インフラを標的とする攻撃にも対応することができます。