LoginSignup
1
1

More than 3 years have passed since last update.

AWSメモ

Last updated at Posted at 2020-01-04

AWSメモ

初期設定

AWSのアカウントを作成できる
料金アラート設定

VPCネットワークを構築

  • 全体像

    • パブリックサブネット(ワードプレス等)とはインターネットと通信できるサブネットのこと。一般的にブラウザで展開される申し込みフォームのWebサーバー等
    • プライベートサブネット(DB等)とはインターネットと通信できないサブネットのこと。
  • AWSネットワークの概念

    • リージョンの選択
    • リージョンによって使えるサービスが異なる(アメリカが機能大い、日本の場合は東京がおすすめ(通信が早い))
    • アベイラビリティゾーン
    • 独立したデータセンターのこと
    • 複数設置されている
    • VPC
    • インターネット上に仮想ネットワークを作成できるサービス
    • とても重要なサービス
    • サブネット
    • VPCを細かく区切ったネットワーク
  • ネットワークのIPアドレスを決める

    • IPアドレスとはインターネット上の住所
    • 一意性
    • 32ビットの整数値(2進数)→読みにくいので8ビットずつの4つの組みにわけ10進数で表示 2進数とは パソコン初心者講座
    • IPアドレスにはパブリックとプライベートがある
    • パブリックはインターネットに接続する際利用する。ICANNという団体が管理していて全て一意のアドレス
    • プライベートはインターネットで使用されないアドレス。範囲が決まっていて一意でなくても良い
    • IPアドレスの範囲
    • ネットワーク部・ホスト部(可変)に区分けすることで範囲を表現できる
  • VPCを作成する

  • サブネットを作成

  • ルーティングを設定

    • ルーターを通じてネットワークがどのIPアドレスにあるかを管理
    • ルートテーブルは「宛先のIPアドレス」と「次のルーター(AWSではターゲット)」という書式で設定する
    • local→自身のネットワーク(インターネットに接続できない)
    • インターネットの接続にはインターネットゲートウェイの作成が必要
    • ルートテーブルは各サブネットに対して設定できる。
    • サブネットやインターネットゲートウェイ間にはルーターが動いている
  • ネットワーク設計で考慮すべきポイント

    • プライベートIPアドレス範囲から指定する
    • 作成後は変更できないので、大きめの設定(/28~/16、/16が推薦)
    • オンプレミスや他VPCのレンジと重複いないように気をつける。
    • 異なるシステムの場合はアカウントを分ける
    • 同一システムの各環境は、VPCとアカウントどちらを分けるか?→同一アカウントで、VPCとリージョンを分けるのがよい(どちらでもよい)

参考
パブリックサブネットとプライベートサブネットの違い | システム担当の教科書

【EC2】Webサーバーを構築

  • EC2インスタンスを設置する

    • EC2とは
    • AWSクラウド上の仮想サーバー。インスタンスというのはEC2から立てられたサーバーの事。
    • 特徴
      • 数分で起動し、1時間または秒単位の従量課金。
      • サーバーの追加・削除、マシンスペック変更も数分で可能。
      • OSより上のレイヤについては自由に設定できる。
    • 作成手順
      • AMIの選択
      • AMIとは
        • AmazonMachineImageの略。インスタンスに必要な情報が入ったOSのイメージ。
      • インスタンスタイプの選択
      • インスタンスタイプとは
        • サーバーのスペックを定義したもの- インスタンスタイプにより、料金が異なる
      • ストレージの追加
      • サーバーにくっつけるデータの保管場所。EC2のストレージには2種類ある。
        • 1.EBS(高い可用性と耐久力を持つストレージ、他のインスタンスに付け替え可能、EC2インスタンスをStop/TerminateしてもEBSは保持可能、Snapshotを取得しS3に保存可能、EBSの費用が別途発生、OSやDBなどの永続性と耐久性が必要なデータを置く)
        • 2.インスタンスストア(インスタンス専用の一時的なストア、他のインスタンスに付け替えることができない、EC2インスタンスをStop/Terminateするとクリアされる、追加費用なし、なくなってはいけないデータは置かない、一時ファイル・キャッシュなどなど失われても問題ないデータを置く)
      • セキュリティグループの設定
      • SSHキーペアの設定
  • SSHについて

    • サーバーにログインするとは
    • 離れたところにあるサーバーにはいって、自分のパソコンから操作すること
    • SSHでログインすると自分がまるでWebサーバーの目の前にいるかの様に自分のコンピューターからWebサーバーを操作できる。
    • SSHとは
      • サーバーにセキュアに接続する仕組み - 暗号化されている
  • 公開会議認証について

    • 誰でもサーバーに入れると困るので、サーバーの作成者本人だけがログインできるよう、EC2ではSSHログイン時に公開鍵認証を行なっている
    • 公開鍵認証とは
    • サーバーへのログイン時に認証を行う仕組み。
    • ユーザー名とパスワード使用した認証と比べ、よりセキュリティが高い
    • 公開鍵暗号(秘密鍵と公開鍵)を用いて認証を行う。
    • 公開鍵はサーバーが保有。秘密鍵を持っているユーザーだけログイン可能。
    • 公開鍵暗号の「暗号」とは?
    • イメージは南京錠
  • SSHでECインスタンスに接続する

  • ポート番号について

    • SSHでログインしてサーバーを操作できるのはなぜ?→ サーバー状でSSHぜつ族を受け入れコマンドを受け付けるプログラム(sshd)が動いているから
    • サーバーにはたくさん起動しているプログラムがSSHのリクエストを受け付けるがどうやって選別しているのか?→ポート番号で選別している
    • ポート番号はプログラムのアドレス。同一コンピューターで通信を行うプログラムを識別するときに利用される。
    • 例)SSH:22
    • どうやってポート番号を決めるか
    • 2つキメ方がある。
    • 1.標準で決められている番号
      • ウェルノウンポート番号
      • 代表的なプログラムが使うポート番号はあらかじめ決められている。
    • 2.動的に決められている番号
      • サーバーを提供する側(サーバー)はポート番号が決まっている必要があるが、クライアント側のポート番号は決まっていなくて良い
      • クライアントのポート番号は、OSが他のポート番号と被らない様にランダムに決める。

[ec2-user@ip-10-0-10-10 ~]$ sudo lsof -i -n -P
COMMAND   PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
rpcbind  2689      rpc    6u  IPv4  16847      0t0  UDP *:111 
rpcbind  2689      rpc    7u  IPv4  16848      0t0  UDP *:736 
rpcbind  2689      rpc    8u  IPv4  16849      0t0  TCP *:111 (LISTEN)
rpcbind  2689      rpc    9u  IPv6  16850      0t0  UDP *:111 
rpcbind  2689      rpc   10u  IPv6  16851      0t0  UDP *:736 
rpcbind  2689      rpc   11u  IPv6  16852      0t0  TCP *:111 (LISTEN)
chronyd  2698   chrony    1u  IPv4  17108      0t0  UDP 127.0.0.1:323 
chronyd  2698   chrony    2u  IPv6  17109      0t0  UDP [::1]:323 
dhclient 2919     root    6u  IPv4  17829      0t0  UDP *:68 
dhclient 3036     root    5u  IPv6  18138      0t0  UDP [fe80::4ab:97ff:fe52:17c]:546 
master   3173     root   13u  IPv4  19031      0t0  TCP 127.0.0.1:25 (LISTEN)
sshd     3390     root    3u  IPv4  20731      0t0  TCP *:22 (LISTEN)
sshd     3390     root    4u  IPv6  20740      0t0  TCP *:22 (LISTEN)
sshd     4829     root    3u  IPv4 108709      0t0  TCP 10.0.10.10:22->114.191.10.30:51866 (ESTABLISHED)
sshd     4846 ec2-user    3u  IPv4 108709      0t0  TCP 10.0.10.10:22->114.191.10.30:51866 (ESTABLISHED)

(LISTEN)は待ち受けているポート
(ESTABLISHD)は通信中相手と通信中のポート

  • Apacheをインストールする

Apacheとは
- 世界中で使用されているWebサーバーソフトウェア
- サーバーのにApacheをインストールすることでWebサーバーとしての機能(レスポンス等)ができる

Apacheとは?Webサーバーの仕組みと人気サーバーソフトを徹底解説 | カゴヤのサーバー研究室
アパッチ (Apache)とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

[ec2-user@ip-10-0-10-10 ~]$ sudo yum update -y

yumの更新
yum linuxのパッケージ管理ツール(インストールや更新等)
-y はyesオプション。

[ec2-user@ip-10-0-10-10 ~]$ sudo yum -y install httpd

httpdはアパッチを構成する実行コマンド

[ec2-user@ip-10-0-10-10 ~]$ sudo systemctl start httpd.service

起動の確認

[ec2-user@ip-10-0-10-10 ~]$ sudo systemctl enable httpd.service

アパッチを自動起動設定する
- ファイアウォールを設定する

  • ファイアウォールとは
    • ネットワークを不正アクセスから守る為に「通してよい通信だけを通して、それ以外は通さない」機能の略称。

Elastic IPアドレスでIPアドレスを固定する

  • ElasticIPアドレスとは EC2インスタンスのパブリックIPは、起動・停止すると別のIPアドレスが割り当てられる。ElasticIPアドレスを利用すると、IPアドレスを固定できる。
  • 特徴
    • そのインスタンスを削除するまでは、ずっとそのIPアドレスを使用することができる。
    • ElasticIPアドレスは、EC2に関連付けられていて、そのインスタンスが起動中であれば無料。逆に起動してなければ課金される。

【Route53】ドメインを登録する

構築するもの

ドメイン名でWebサーバーにアクセスできるようにする

ドメインについて

www.example.co.jp
第4レベルドメイン.第3レベルドメイン.第2レベルドメイン.トップドメイン

ドメインレベルに応じて各組織が管理している。

ドメイン名でアクセスできる理由

DNSについて
  • DNSとはドメイン名をIPアドレスに変換するもの
  • ネームサーバーとフルリゾバの2つから構成されている
    • ①ネームサーバー
    • ドメイン名とそれに紐づくIPアドレスが登録されているサーバー
    • ドメインの階層ごとにネームサーバーが配置され、そのネームサーバーが配置された階層のドメインに関する情報を管理する。
    • ②フルリゾバ(秘書の様なもの)
    • 「どのドメインに紐づくサーバーか教えて」とおい合わせると、色々なネームサーバーに聞いてIPアドレスを調べて教えてくれる。
Route53について
  • Route53とは
    • AWSのDNSサービス。ネームサーバーの役割を果たす。
    • 重要概念
    • ホストゾーン
      • DNSのリソースレコードの集合。ゾーンファイルの様なもの
    • ルーティングポリシー
      • Route53がRecordSetに対してどの様にルーティングを行うかを決める
      • シンプル、加重、レイテンシー、位置情報、フェイルオーバー等がある
    • ヘルスチェック
      • サーバーの稼働状況をチェック。
Route53でDNSを設定する
mbair:~ okadaatsuyoshi$ ssh -i ~/Desktop/aws-and-infra-ssh-key.pem ec2-user@52.196.118.157

ec2へログイン

[ec2-user@ip-10-0-10-10 ~]$ dig aws-and-infraa.work NS +short

で現在のネームサーバーを確認。
現在はデフォルトでお名前.comのネームサーバーになっているので変更する。

【RDS】DBサーバーを構築する

RDSについて
  • AWSがフルマネージメントでDBの管理やってくれるので運用が楽。
  • 複数のアベイラビリティーゾーンにプライベートサブネットを作成することが推奨されている。

    • RDSとは
    • フルマネージドなリレーショナルデータベース(いわゆるDB)のサービス。
    • メリット
    • - 構築の手間の軽減 - 運用の手間の軽減 - AWSエンジニアによるデータベース設計のベストプラクティスを適用 - ➡️コア機能の開発に注力できる
    • 各種設定グループ
    • DBパラメータグループ:DB設定値を制御
    • DBオプショングループ:RDSへの機能追加を制御
    • DBサブネットグループ:RDSを起動させるサブネットを制御
    • 特徴
    • 可用性の向上
      • 複数のアベイラビリティゾーンを設定することで簡単にリスクを軽減
    • パフォーマンスの工場が楽
      • リードレプリカを簡単に構築
      • 書き込みようのマスターと読み込み用のリードレプリカを別々で作成できるので読み込みの速度が向上向上
    • 運用不可の軽減
      • 自動バックアップ(1日1回スナップショット)
      • リストア(スナップショットを元にDBインスタンスを作成)
      • 自動的なソフトウェアメンテナンス
      • メンテナンスウィンドウで指定した曜日・時間帯にアップデートを自動実施
      • 各種メトリクスを60秒間隔で取得・確認可能
プライベーサブネットを作成
RDSを設置

RDSの作成準備
- セキュリティグループの作成(EC2)
- DBサブネットグループの作成
- DBパラメータグループの作成
- DBオプショングループの作成(機能を設定)

参考教材
https://www.udemy.com/course/aws-and-infra/

1
1
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
1
1