インフラとは
インフラは「インフラストラクチャー」の略称です。
webアプリケーションが動くための土台の役割があります。
代表的なサービスにAWS
があります。
記事の概要
この記事はインフラの業務をするための最低限の基礎知識を
知るための記事です。
AWSを学ぶためには基礎知識が必要になります。AWSを学ぶ前段階の記事です。
おすすめ資料
AWSのような代表的なサービス詳細はこの記事に載っています。
こちらの記事を読む前段階としてご活用ください。
クラウドエンジニア向けの資料がいろいろ載っているみたいです。
オンプレミス
自社内でサーバーなどの設備を管理したり、運用したりする自社で完結するシステムです。
最近はクラウド
が台頭したことにより、オンプレミスを扱う企業は減ってきています。
クラウド
Googleなどが管理しているデータセンターのことで、
ネットワークを通していろいろなことができます。
費用があまりかかわらず、自社でオンプレミスみたいに運用したりする必要がないです。
AWSなどのインフラ用語資料
基本的な用語はこちらの記事にも載っています。
AWSとは
Amazon web servise
の略です。Amazonから提供されているクラウドサービスです。
最近web系の開発企業でも導入されています。
シェア率は1位です。
⚫︎特徴
・レンタルサーバーの中でも1時間単位での課金がある革命的なサーバー
・クラウドサービスの中でもサービスの入れ替わりが激しい
・クラウドサービスの先駆者みたいな存在
⚫︎アカウントを作る時の注意点
AWSアカウントの作成ユーザーは「管理ユーザー」になります。
全ての権限があるので、アカウントの削除とかもできたりします。
実務では利用しないみたいです。
アカウント作ったらIAMというサービスでユーザーの管理をしたりします。
テストを実行する時には、いろいろな権限が必要になるので、
テスト用のユーザーを作成することもあるみたいです。
複数のユーザーに権限を渡すのは、セキュリティやコスト面を考えてユーザーを統一するみたいです。
MFA認証(多要素認証)を強制させることもあり、
ワンタイムパスワードを強制させることもあるみたいです。
インフラの基礎
AWSを学ぶ前にこれらの基本を知っておく必要があリます。
1.ネットワーク
2.セキュリティ
3.OS
4.データベース
5.Web
6.その他
これからそれぞれ見て行きます。
ネットワーク
まずネットワークの基礎部分です。簡単に用語だけ説明します。
1.LANとWANについてです。
⚫︎LANとWANの記事
https://qiita.com/Hashimoto-Noriaki/items/9ab06d391c3aeca3db22
2.内向けと外向け
ネットワークには内向けと外向けがあります。
内向けはインターネットと外部接続しないローカルネットワークのことで、
社内での共有や外部から見ることができないです。
外向けは一般公開されているwebサービスなどが該当します。
ネットワークを通じて外部からアクセスできます。
3.TCPIP
TCPとIPを組み合わせたものの総称で、通信する時の規約の1つです。
・TCP
ネットワーク上で送られてきたことを保証する仕組みです。
・IP
複数のネットワークでその上をパケットが流れる仕組みです。
両者が組み合わさり。複数のネットワークを渡りながら、
パケットを正しく相手に届ける仕組みをイントラネットと言います。
インターネットの技術を企業内LANに転用したネットワークでもあります。
⚫︎補足
IPアドレスはネットワークの住所です。
グローバルIPアドレスやプライベートIPアドレスなどもあります。
4.UDP
前もって送信相手と接続確認を取らず、一方的にパケットを送りつけるコネクションレス型のプロトコルです。
⚫︎いろんな通信規約
HTTP、HTTPS、SSH、SMTP、FTPなど
5.ブロードキャスト
同じネットワーク内の全てのホストに、一斉にデータを送信することです。
6.MacアドレスとIPアドレスの違い
この2つは紛らわしいのですが違いはあります。
・*Macアドレス
コンピューターの識別番号でお隣同士のコンピューターの通信を可能にする特徴があります。
・IPアドレス
コンピューターの住所でインターネット上にある目的地のコンピュータまでデータを届ける役割です。
7.DHCP
このプロトコルを使うと、IPアドレスの割り当てなどの
ネットワークの設定作業を自動化ができます。
管理の手間や人為的なミスを防ぐことができます。
8.NATとIPマスカレード
グローバルIPアドレスとプライベートIPアドレスを相互に変換ができるのがNAT
で
グローバルIPアドレスに複数のプライベートアドレスを結びつけて、
1対複数の変換ができるのが、IPマスカレード
です。
9.ドメイン名とDNS
ドメイン名がIPアドレスに対して文字で別名をつけ、わかりやすくしたもので、
DNSはドメイン名とIPアドレスを管理しているものです。
セキュリティ
外部と繋がれたネットワークには脅威があります。外部からの侵入を守るのがセキュリティです。
-
セキュリティの3大要素
機密性
、完全性
、可用性
があります。
2.不正アクセス手法
・パスワードリスト攻撃
IDやパスワードを使い、他サイトへのログインをする手法
・ブルートフォース攻撃は特定のIDに対し、パスワードとして使えそうな組み合わせを
片っ端から試していく手法
・リバースブルートフォース
特定のパスワードに対し、IDとして使えそうな組み合わせを
片っ端から試していく手法。
・レインボー攻撃
ハッシュ値から元のパスワードの文字列を解析する手。
他にも、SQLインジェクション、DNSキャッシュボイズニングなど
3.rootkit
不正アクセスしたコンピューターをリモート制御できるようにするためのソフトウェアの集合体です。
4.ネットワークのセキュリティ対策
・ファイアウォール
LANの中と外を区切る壁がファイアウォールです。
外からの不正アクセスを防ぐのが目的です。
・アプリケーションゲートウェイ(プロキシサーバー)
LANの中と外の間に位置し、外部とのやりとりを代行する機能です。
・パケットフィルタリング
パケットを指定されたルールにのっとって、通過するかしないかを判断する仕組みです。
・ペネトレーション
不正アクセスのいろいろな方法を試し、ちゃんと不正アクセスから守る機能を想定通りに働くかをテストすることです。
⚫︎詳しい資料
https://speakerdeck.com/cybozuinsideout/security-2021
SSL証明
参考記事と被ってしまうのですが、下の記事がわかりやすいのでそちらを載せておきます。
OS
次はOSについてです。
ここでは自分の説明より資料がわかりやすいので参考資料から引用します。
1.Linux
参考資料に載っている資料から引用します。
良かったらこちらの記事も見てみてください。
2.windowサーバー
参考資料に載っている資料から引用します。
引用https://milestone-of-se.nesuke.com/category/sv-basic/windows-basic/
データベース
説明するとキリがないので今回は資料と動画でご確認お願いします。
・資料
・youtube動画
https://www.youtube.com/watch?v=IiX6J0FfGng&list=PL-1KBX2gDRujQaRgEByueezHBiqHP8KDD
・ミクシィ研修動画とスライド
https://www.youtube.com/watch?v=MTUtAYlTpS4
Web
webとはインターネットでいろんなデータの情報を発信したり見たりできる仕組みです。
webの細かい部分を見て行きます。
1.URL
Uniform Resource Locaterの略でインターネット上のデータを特定するためのものです。
例えば下のようなURLがあったとします。
http://www.Infra.com/directory/aws.html
URLの意味を説明して行きます。
・http:はスキーム
・www ホスト名(コンピューターの名前)
・Infra.comはドメイン名
・directoryはディレクトリ名
・aws.htmlはファイル名
です。
2.HTTP
クライアントとサーバーの間でデータの送受信をする規約(プロトコル)です。
この記事も参考にしてみてください。
3.HTML
ネットワーク上で目に見えるようにするためのマークアップ言語です。
これがないとwebページを開いても何も見えません。
CSSと組み合わせてより見やすくなります。
その他
1. Git
Gitはエンジニアになる上で必須のスキルなので、
これはしっかり扱えるようにしていくべきです。
いろいろな資料を貼っておきます。
1.ミクシー研修
2.基本コマンド
https://qiita.com/Hashimoto-Noriaki/items/b38aa0d0ea622f75e672
3.プロジェクトに入ってからマージまで
https://qiita.com/ki_shi_0922/items/988c9da48e9266665503
4.わかりやすい資料
https://backlog.com/ja/git-tutorial/stepup/04/
5.Gitコマンド集
https://qiita.com/fukumone/items/73e1a9a62c5e4454263b
2.メールサーバー
参考資料と被ってしまいますがわかりやすい資料なのでこの下に貼っておきます。
3.SPF
こちらも参考資料と被ってしまいますがわかりやすい資料なのでこの下に貼っておきます。
最後に
AWSを学ぶ上で基礎的な知識になるのでAWSの学習などにお役に立てたら幸いです。
⚫︎参考資料
https://toumasblog.org/infra-engineer-basic/