![見出し画像](https://assets.st-note.com/production/uploads/images/107986467/rectangle_large_type_2_26412a06f8f9afe1f7338b3d8170aee1.png?width=800)
IT-33-インフラ基礎-
・インターネットの公開に必要なモノ
①IPアドレス、ドメイン(インターネット上の住所)
②Webサーバー(インターネット上に公開)
・IPアドレス
IPアドレス(Internet Protocol address)
インターネット接続中のコンピュータを識別する番号のことで、
インターネット上の住所のこと。
データのやり取りは、IPアドレスを使って行われる。
・ドメイン
ドメイン(domain)
IPアドレスをわかりやすい名前に変換したものです。
「xxxxx.com」や「xxxxx.co.jp」で表される。
ドメインを変換するシステム
人間がわかりやすい名前にしただけなので、
コンピュータ同士の接続にはIPアドレスが絶対に必要!
ドメイン名をIPアドレスに変換する仕組みを、
DNS(Domain Name System)といいます。
・PCとサーバーの違い
手元にあるPCも、サーバーとしての機能を持てる。
ただし、パソコン(Personal Computer)は、
個人が使うことを前提として作られています。
一方サーバーは、大勢の人が使うことを前提としているため、
安定してサービスを提供できるように耐久性を上げる工夫が施されている。
たとえば、突然の停電でも電力を供給できる装置(無停電電源装置)や、ディスクが故障してもサービスを継続できる複数台のディスク構成などが準備されています。
・サーバーの種類
物理サーバー
仮想サーバー(クラウド☁️)
物理サーバーでは、
実体のハードウェア1台に1つのサーバーを構築します。
複数のサーバーが必要なときは、台数分のハードウェアを準備する必要がある。
仮想(クラウド☁️)サーバーでは、
実体のハードウェア内に複数のサーバーを構築できます。
利用者は、複数のサーバー環境を切り替えて使ったり、
サーバー環境を意識せずに利用できます。
仮想化技術を用いたソフトウェアで有名なのはVagrantなどです。Vagrantは、仮想マシン(VM)環境を単一のワークフローで構築、管理できるツールです。
ハイパーバイザで動作するローカルVMを構築する場合でも、
クラウドVMを構築する場合でも、Vagrantが力を発揮します。
他にも、Amazonが提供するAWSには、cloud9という環境があります。これも、仮想サーバーと呼ぶことができます。
・OS
OS(Operating System)
コンピュータを動かすために必要不可欠なソフトウェアです。
コンピュータの利用者(ユーザ)とコンピュータ、そして、アプリケーションの仲介を行っています。
ユーザがキーボードで入力した文字列を画面上に表示させたり、
アプリケーションで書いたプログラムを実行したりします。
PCやサーバーは「体」だとすると、
OSは「脳」という重要な役割になります。
・ミドルウェア
ミドルウェア(Middleware)
OSとアプリケーションの中間に位置しOS上で動作するソフトウェアです。
OSの機能を拡張したり、アプリケーションの共通機能や処理を提供します。
これによって、アプリケーションを作らなくても、
Webサービスやデータベースサービスなどの汎用的な機能を利用できます。
OS --------------------- ミドルウェア --------------- アプリケーション
・ミドルウェアの種類
①Webサーバーソフト
②データベース管理ソフト
③メールサーバーソフト などがあります。
Webサーバーソフト
Webサービスの通信を行います。
ユーザのWebブラウザから送られてくるリクエストに対し、
HTMLや画像などWebページを構成するコンテンツを送信します。
【例】Apache、IIS、Nginxなど
データベース管理ソフト
データの保存や検索を行います。
データを管理し、このデータベースに送られたリクエストに対して、データの作成や更新、削除、データ返信の処理を行います。
【例】MySQL、Postgres、Oracleなど
メールサーバーソフト
電子メールの受信や送信を行います。
【例】Postfix、Sendmailなど
・アプリケーション
コンピュータでユーザの業務や用途に応じて作成したプログラムです。
OSは、コンピュータそのものの稼動に必要なソフトウェアです。
アプリケーションは、
ユーザがコンピュータになんらかの処理をさせるため、任意で作成される。
アプリケーションは、システムを構成するパーツで、
様々なプログラム言語で記述されている。
少しずつですが、投稿をしております。 noteで誰かのためになる記事を書いています。 よろしくおねがいします。