LoginSignup
38
53

More than 1 year has passed since last update.

フロントエンドエンジニアのAWS基礎学習〜

Last updated at Posted at 2021-05-01

はじめに

フロントエンドエンジニアでインフラ技術をメインにさわる事はないと思っていたんですけど、基礎知識を疎かにすると実際の業務で関わってきた時に少なからず必要になってくると思うので、今回は備忘録&アウトプットで学習を進めていこうと思っております!

まずインフラって??

自分でサービスを作れたり、課題に対してシステム全体で対応することができるようになる。また以下のメリットがあります。

  • 自分自身でインフラを構築して、サービスをリリースできるようになる。
  • 開発する際のテスト環境が作れる。
  • 障害があったとき、問題を検知し切り分けることができる。
  • 対応策を考えるとき、アプリケーションだけでなくシステム全体で対応できる。 などなどのメリットがある。

インフラの基本構築

  1. サーバーの構成 サーバーを設置、OSやソフトウェアの設定

  2. ネットワークの構成 ネットの接続、IPアドレスの範囲決めや割り当て、ドメインとIPアドレスの紐付けなど

AWSとは

https://capsulecloud.io/assets/img/aws/amazon_web_services_logo.png

  • AWS ... 画像でもあるようにamazon web servicesという。Amazon社が提供するクラウドサービス。クラウドサービスとして世界最大規模。

AWSの特徴

サービスの豊富さやリソースの柔軟性、使った分だけ支払う従量課金などの特徴がある。

AWSの代表的なサービス

  • VPC(Virtual Private Cloud)
    AWSアカウント専用の仮想ネットワーク

  • EC2 (Elastic Compute Cloud)
    AWS上に仮想サーバーを作るサービス

  • S3(Simple Storage Service)
    Webサーバーやデータのバックアップ等のストレージとしてデータを保存し保護する

  • Route 53
    ドメインにIPアドレスを紐付け情報を提供するサービス

作業用(IAM)/ルートユーザーについて

  • ルートユーザー AWSサービスやリソース全てのアクセス権をもつ特権ユーザー。
    アカウントの変更や解約、サポートプランの変更などをするときだけに使用する。極力を使わない。

  • 作業用ユーザー(IAMユーザー) AWSで作成するユーザーで認証情報とアクセス許可を個別に変更できる。
    AWSの操作するコンソール画面にログインするときや通常の作業はIAMユーザーを使用する

VPC について

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

https://cdn-ak.f.st-hatena.com/images/fotolife/k/kawakamasu/20180929/20180929205154.png

VPCの基礎知識

リージョン

AWSの各サービスが提供されている地域のこと(アメリカ、東京、アフリカ、アイルランドなど)

https://d2908q01vomqb2.cloudfront.net/da4b9237bacccdf19c0760cab7aec4a8359010b0/2020/03/17/aws_regions-1.png

アベイラビリティゾーン

独立したデータセンターのこと。
複数立てることで、他のアベイラビリティゾーンがダメになっても他が補うことでシステムが正常稼働してくれる。

https://image.itmedia.co.jp/news/articles/1908/28/ki_1609376_aws02_w290.png

サブネット

VPCを細く区切ったネットワーク。
Webサーバーはインターネットから接続でき、DBサーバーは接続できなくする。

https://cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2015/07/c1bfa8532cc463ea0fd0d1c6728fb87d.png

IPアドレス

ネットワーク上の機器を識別するためのインターネットの住所。
32ビットで構成され、10進数での表現になる。
例)10101100,00010100,00000001,00000001 👉 172.20.1.1
また、IPアドレスはパブリックIPアドレスプライベートIPアドレスの2種類がある。

パブリックIPアドレス

インターネットに接続する際に使用するIPアドレス。重複を防ぐためICANNという団体が管理している。

プライベートIPアドレス

インターネットで使用されないIPアドレス。下記の範囲が決まっていて自由に使用が可能。

https://www.liveon.ne.jp/glossary/wk/img/private_ip-01.png

ルーティング

ネットワーク同士をIPアドレスを通じて接続できることを言い、ルーターがIPアドレスの行き先を管理している。

また、ルーティング処理を記録して処理を行う際に参照するのが、ルートテーブル(ルーティングテーブル)と言い「宛先のIPアドレス」と「次のルーター(ターゲット)」の書式で設定されている。
https://i0.wp.com/docs.aws.amazon.com/ja_jp/vpc/latest/userguide/images/internet-gateway-overview-diagram.png?w=792&ssl=1

画像のルートテーブル(Custom route table)を見ると、
「10.0.0.0/16」のIPアドレスは自身のインターネット(local)に繋がり、

「0.0.0.0/0」となっているIPアドレスは、デフォルトルートと言ってルートテーブルに登録されているIPアドレスにどれにも一致してない経路を指しており、インターネットと接続をするためインターネットゲートウェイと接続する必要がある。

インターネットゲートウェイはVPCとインターネットとの間に通信を可能にする。

ネットワークを構築する作業内容

VPCの基礎知識を用いて、ネットワークを構築する流れが以下のようになります。

①VPCの作成
👇
②サブネット作成(パブリック&プライベート作成)
👇
③ルーティング設定(インターネットゲートウェイ&ルートテーブル作成)

EC2について

AWSクラウド上の仮想サーバー。またEC2では仮想サーバの事をインスタンスという単位で扱います。
数分で起動し、1時間または数秒単位の従量課金で、サーバーの追加・削除、マシンスペック変更も数分で可能。

https://image.itmedia.co.jp/ait/articles/2011/30/l_news013_01.png

EC2の基礎知識

AMI

AMI(Amazon Machine Image)はインスタンス起動に必要な情報が入ったOSのイメージ。サーバーのテンプレートのようなもの。

インスタンスタイプ

サーバーのスペックを定義したもの。
タイプによりCPUやメモリ、ストレージ、ネットワーク帯域が異なる。またスペックによって料金が異なる。
インスタンスファミリーは世代を表しており、数字が大きほど新しい。また、インスタンスサイズはCPUを指します。

https://www.bit-drive.ne.jp/managed-cloud/column/images/column22/img_01.jpg

ストレージ

サーバーに紐付けるデータの保存場所。ECのストレージには以下の2種類がある。

  • EBS(Elastic Block Store)
    高い可溶性と耐久性を持ち、インスタンスの付け替えが可能なうえ再起動してもデータが保存されている。
    EBSの料金は発生する。

  • インスタンスストア
    インスタンス専用の一時的なストレージ。インタスタンスの付け替えができず、再起動したらデータがクリアされる。
    ただし、料金は無料。

仮想サーバーを作成する作業内容

ES2の基礎知識とSSHでES2インスタンスへの接続やセキュリティの設定を合わせて、以下の作業になります。

①AMIの選択
👇
②インスタンスタイプの選択
👇
③ストレージの追加
👇
④セキュリティグループの設定
👇
⑤SSHキーペアの設定

Route 53について

AWSのDNSサービス。
DNSというのは、ドメイン名の管理システム。ドメイン名をIPアドレスへ変換し、紐付けをする。
また、以下の二つから構成されている。

  • ネームサーバー ドメイン名に紐ずくIPアドレスが登録されているサーバー
  • フルリゾルバ どのドメインにIPアドレスが紐づいているか教えてくれるサーバー

Route 53の特徴としては、ネームサーバーの役割を果たしており、高可用性100%を示しており、ほぼサーバーが落ちることはないことを示しています。

https://cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2014/11/20141106_route53_0021.png

Route 53でDNSを設定する作業手順

①ドメインのネームサーバーをRoute 53に変更
 Route 53でホストゾーンを作成
 ネームサーバーをお名前.comからRoute 53へ変更
👇
②ドメインに紐づくIPアドレスを登録
Route 53でレコードセットを作成

S3について

安価で耐久性の高いAWSのクラウドストレージサービス。
画像やデータの保管する場所として利用されており、容量無制限で高いデータの耐久性があります。

また、実際に使用した分の料金が発生する従量課金サービスでもあります。

https://docs.aws.amazon.com/ja_jp/sdk-for-javascript/v2/developer-guide/images/s3-photo-album-example.png

バケットやオブジェクトに対してアクセス制限を設定できる。

バケット

オブジェクトの保存場所。バケットを作成し、その配下にデータを格納するイメージ。また複数のバケットを作成することができる。

オブジェクト

データ本体を表し、S3に格納されるファイル。また、ファイルにURLが作成される。

キー

オブジェクトの格納URLのパスを表す。

データベース構築の作業手順

①AWS側の準備
・S3のバケット作成
・S3の権限を持ったIAMユーザーの作成
👇
②サイトの設定(WordPress)

参考記事

ドキュメント:https://docs.aws.amazon.com/ja_jp/
参考記事:https://aws.taf-jp.com/blog/35503
Udemy:https://www.udemy.com/course/aws-and-infra/

感想

正直なところインフラって何??って感じでずっとおざなりにしていたので今回はAWSという知見からインフラの知識を少し学べました。フロントエンドを学習していく中でインフラの知識がまだまだ浅いので、LinuxやDockerについてもどんどん勉強していきたい意欲が湧いてきました!

38
53
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
38
53