corselia
12/11/2017 - 10:17 AM

let's Amazon Web Services

let's Amazon Web Services

Amazon Web Services を使ってみる

資料

  • a. 「Amazon Web Services 基礎からのネットワーク&サーバー構築(初版)」
    • http://www.nikkeibp.co.jp/atclpubmkt/book/17/261530/
    • 「改訂版では、初版のコンセプトをそのままに、画面を最新バージョンに差し替えたほか、CHAPTER 7「NAT」を書き直しました。初版では「NATインスタンス」を使って説明していましたが、今後AWSでは「NATゲートウエイ」が主流になることから、NATゲートウエイを使った内容に修正しています。」
    • 図が豊富で分かりやすい
  • b. ドットインストール「Amazon Web Services入門 (全17回)」
  • c. 「マスタリングTCP/IP 入門編(第5版)」

AWS一般

  • 「リージョン」と「アベイラビリティゾーン」
    • ex. 「東京リージョン」
    • ex. 「東京リージョン」内の「アベイラビリティゾーン A」と「アベイラビリティゾーン B」
    • (a) pp.13-15
  • 「Amazon VPC」でルーティングを設定する
  • 「Elastic IP」で IPアドレス を固定化できる
    • 固定化しない場合はインスタンスの作成(再起動)ごとに適当なアドレスが割り振られる
  • デフォルトユーザ名は「ec2-user」
  • パブリックホスト名の取得
    • VPC にアクセス
    • 「アクション」タブで「DNS 解決の編集」および「DNS ホスト名の編集」を「はい」にする
    • EC2 にアクセス
    • 「パブリックDNS」に値が入っていることを確認
    • 上記の値(アドレス)で SSH なりでアクセスして確認する
  • どの「アベイラビリティゾーン」に属しているか
    • VPC → サブネット で確認できる
      • ap-northeast-1a など
  • デフォルトのセキュリティグループは原則として全て不許可
    • 必要なものを開けていく
  • セキュリティグループの「グループ名」は後から変更することはできない

ネットワーク一般

  • プライベートIPアドレスの範囲
    • 10.0.0.0 ~ 10.255.255.255
    • 172.16.0.0 ~ 172.31.255.255
    • 192.168.0.0 ~ 192.168.255.255
  • IPアドレスにおける「ネットワーク部」と「ホスト部」
    • 「ネットワーク部」が固定、「ホスト部」が可変(というイメージ)
  • IPアドレスの表記法
    • CIDR(Classless Inter-Domain Routing, サイダー)表記
      • スラッシュの後ろに「ネットワーク部」のビット数が来る
      • 192.168.1.0/24
        • 192.168.1.0 ~ 192.168.1.255(この範囲を CIDRブロック と呼ぶ)
      • 192.168.0.0/16
        • 192.168.0.0 ~ 192.168.255.255(この範囲を CIDRブロック と呼ぶ)
    • サブネットマスク表記
      • スラッシュの後ろは「ネットワーク部」に「1」を立て、「ホスト部」に「0」を立てたアドレスが来る
      • 192.168.1.0/255.255.255.0
        • 192.168.1.0 ~ 192.168.1.255
      • 192.168.0.0/255.255.0.0
        • 192.168.0.0 ~ 192.168.255.255
  • TCP/IP における「パケット」
    • (c) 1.3.5
    • 「ヘッダ」と「データ」で構成される
      • 「ヘッダ」に含まれる主なもの
        • 送信元IPアドレス
        • 宛先IPアドレス
  • 「ルートテーブル」
    • パケットのヘッダの宛先IPアドレス情報をもとに、次にどのネットワークに転送するかを定義する
      • (宛先アドレス) (流すべきネットワークの入口となるルータ) という書式で定義する
      • (宛先アドレス) のことを「ディスティネーション」と呼ぶ
      • (流すべきネットワークの入口となるルータ) のことを「ターゲット」と呼ぶ
    • 宛先IPアドレスがローカルのときとそれ以外のときでルートを分けるとインターネットと通信できたりする
    • 0.0.0.0 でターゲットを指定すると「転送先が何も設定されていないときのデフォルト転送先」を指定できる
      • これが「デフォルトゲートウェイ」
      • 同じ VPC 内の通信は内部でルーティングし、それ以外はインターネットゲートウェイに接続する、というのが一般的な設定になる
  • 「EGP」と「IGP」(発展)
    • (a) pp.65-67
  • 「TCP」と「UDP」
    • sudo lsof -i -n -P で確認できる
    • UDP はデータを送りっぱなしなので「通信中」という概念がない
  • 「ポート番号」
    • サーバ側
      • ウェルノウンポート
    • クライアント側
      • ランダム
      • エフェメラルポート(ephemeral ports)
  • 「正引き」と「逆引き」
    • 正引き
      • DNS → IPアドレス
    • 逆引き
      • IPアドレス → DNS
    • 一対一対応ではない
  • HTTP とは
    • 「リクエスト」と「レスポンス」
      • 「リクエスト」
        • 「リクエストライン」
          • GET / HTTP/1.1
        • 「ヘッダー」
          • Host: example.com\nConnection: keep-alive\nUser-Agent: Mozilla/5.0...
        • 「ボディ」(オプション)
      • 「レスポンス」
        • 「ステータスライン」
          • HTTP/1.1 200 OK\nDate: Wed, 09 Apr 2014 06:38:47 GMT...
        • 「ヘッダー」
          • Content-Type: text/html
        • 「ボディ」(オプション)
          • <!DOCTYPE>...
    • 「ヘッダー」と「ボディ」は空行で区切られる
    • Webブラウザのデベロッパツールで確認できる
    • 改行コードは「CRLF」
  • レスポンスヘッダーの「Content-Type」ヘッダーについて
  • POST メソッド
    • クライアント側は、データの長さを示す「Content-Length」ヘッダーが必須
  • ping コマンド
    • ICMP(Internet Control Message Protocol)
      • ICMPエコー要求
      • ICMPエコー応答
  • 踏み台認証
    • ポートフォワード
    • トンネリング
  • NAT(Network Address Translation)
    • 二つのネットワークインターフェイスを持つ
      • 一つにはパブリックIPアドレスを指定する
      • もう一つにはプライベートIPアドレスを指定する
    • NAT と NAPT(Network Address and Port Translation)
      • NAT は「IPアドレスだけ」を置換する
      • NAPT(「IPマスカレード」とも) は「IPアドレスとポート番号」を置換する
      • 近年はどちらも NAT と呼ばれる
  • 「ステートレスファイアウォール」と「ステートフルファイアウォール」
    • 「ステートレスファイアウォール」
      • 「そのパケットだけを見て」通すか通さないかを決める
    • 「ステートフルファイアウォール」
      • 「パケットの前後関係を見て」通すか通さないかを決める
      • AWS のデフォルトでは基本的にこちら

Linux一般

  • chkconfig
    • ランレベルの「3」が「on」ならば自動起動が有効
      • sudo chkconfig httpd on
      • sudo chkconfig --list httpd
  • ps
    • ps aux でプロセスを表示
    • grep をして結果を絞り込む
  • sudo lsof -i -n -P
    • ポート別の状況を表示
    • sudo 必須