AWS入門 最初の最初

サインアップ

  • 必要な物
    • メールアドレス
    • 請求先住所
    • クレジットカード
  • 無料利用枠がついてくる
  • 注意点
    • ここでサインアップして作成したルートアカウントは使わないこと

権限の管理の基本

ユーザの作成

  • AWS操作用の自分のユーザを作る
    • Identity and Access Management (IAM)
      • IAMはリージョンをまたぐいでグローバル
    • ユーザをつくる
      • キーが発効されるのでメモorCSVダウンロードしておく(2度と出ないので)
        • アクセスキーID
        • シークレットアクセスキー
      • パスワードの管理
      • ユーザを作っただけではなにもできない、ここから必要な権限をつけていく

グループの作成

  • グループを作って、権限を割り当てる
  • テンプレートから権限をつける
  • グループにユーザを追加する

概念

大外から順に、こんな感じ。

以下、これを外から作成(選択)していく。

リージョンの選択

  • プロジェクトのメインユーザ物理的に近い位置を選ぶと良い
  • 今回はアジアパシフィック(東京, ap-northeast-1)を選択した
  • マネジメントコンソール(管理画面)の右上から選択

VPC

  • 大体の場合、会社のプロジェクトごとにVPCを作成する
  • ネームタグとCIDRを指定して作成
  • テナンシーで占有にするとその分コスト高
  • 例 172.13.0.0/16
    • みんなだいたい65,000個のIPで落ち着く感じらしい

サブネット

  • サービスの役割(Webサーバ用、DB用など)にサブネットを作る
  • CIDRブロックを指定
  • さっき作ったVPCを選択する
    • 172.13.1.0/24 をWebサーバ用
    • 172.13.2.0/24 をDBサーバ用
    • あとは、ロードバランサ(ELB)のサブネットなど

インターネットゲートウェイ

  • インターネットへ接続する、ネットワークの出入り口
  • 作成したら、先に作ったVPCにアタッチ

ルートテーブル

  • サブネットを束ねるのにつかう
  • ルートテーブルとインターネットゲートウェイを繋ぐ
    • ルートの編集
      • 各サブネットからルートテーブルの設定に従ってゲートウェイに行くように設定する
        • 0.0.0.0/0 (それ以外の送信先全部)をターゲット(さっきつくったゲートウェイ)に設定
  • ルートテーブルとサブネットを繋ぐ
    • 先に作ったサブネットはまだ作成されただけで、ルートテーブルの中にいない状態。ここでルートテーブルの中に持ってくるように関連づける
    • サブネットの関連づけ
      • 編集してチェックして保存
      • データベースのサブネットはネットワーク外へ出る必要が無いので、関連づけない

EC2

  • キーペアを作成する
    • EC2へのSSH接続に使う
    • インポート
      • キーペア名をつける
      • 公開鍵(事前に作っておく)を貼り付けて登録
  • EC2インスタンスの作成
  • AMIの選択
  • インスタンスタイプの選択
    • インスタイプごとに、メモリ、CPU、ストレージ、ネットワーク帯域などの性能が違う
  • インスタンスの設定
    • ネットワーク -> 最初に作ったVPC
    • サブネット -> Web用につくったサブネット
    • 自動割り当てパブリックIPを有効にする
    • ストレージの追加
    • インスタンスのタグ付け
      • 名前
    • セキュリティグループの設定
      • グループ名
      • たとえば、SSHは会社からのみ接続可能にしておくなど
      • IPテーブルの設定
        • 送信元にマイIPを選択すると、今のパソコンのネットワークのIPが補完入力されて便利
    • 作成
      • キーペアの指定
  • EC2へのログイン
    • デフォルトでec2-userというユーザが作成されているので、それをつかう
    • ssh ec2-user@割り当てられたパブリックIP
    • ログインできたら無事成功

いままでの設定の確認

  • EC2へログイン
  • ネットワーク外へでていけること curl yahoo.co.jp
  • ルートテーブルからインターネットゲーとウェイを外す
  • ネットワーク外へ出て行けないこと curl yahoo.co.jp

補足

アベイラビリティゾーン(AZ)

ルートテーブルの切り方例

  • public用
  • private用

  • あとはサービスの役割(Web、DBなど)ごとにルートテーブルを切るやり方とか

セキュリティグループ

  • 名前付きiptablesみたいなものかも
  • コレを使いこなすのがAWSのメリット
  • 例えば、
    • Web用、DB用のセキュリティグループを作っておいて、インバウンドルールを設定する
      • DB 22番は必要ないので閉じる
      • Web 80番は空ける
      • DBへはWebのグループからしかアクセスできないようにする
    • このようにIPアドレス単位ではなく、グループ単位でアクセス管理ができるのが便利