猫でもわかるWebプログラミングと副業

本業エンジニアリングマネージャー。副業Webエンジニア。Web開発のヒントや、副業、日常生活のことを書きます。

Amazon Web Services 実践入門 第2章

もくじ

Amazon EC2

EC2とは

  • Amazon Elastic Comtute Cloud
  • 従量課金制のやつ(使った分だけ課金、増やしたい時間だけ増やす)

インスタンスタイプ

  • っていうのがある
  • t2.micro とか t2.10xlarge とか
  • CPUやメモリが違う
  • EC2の利用料金は、インスタンスタイプの時間単価 * 利用時間

AMI

  • Amazon Machine Image
  • 仮想サーバーの起動に必要な情報(OSとか)が入っている
  • Instance Store-Backend ってのと EBS-Backend っていうのの2種類がある
    • Instance Storeってのはインスタンスが止まるとストレージも消えるやつ
    • EBS(Elastic Block Store)ってのはインスタンスが止まっても消えないやつらしい
  • EBS-Backendってのが今は主流

  • AMIの仮想化形式にPara Virtual(PV)ってのと Hardware Virtual Machine(HVM)ってのがあって、今はHVM推奨らしい。

EC2のストレージ

さっき言ってたEBSとInstance Storeってのがある。

EBS

  • Elactic Block Store
  • EBSボリュームタイプってのと容量を指定してつくる
  • タイプとかによって書き込み速度が違ったり

Instance Store

  • インスタンスにひも付いていてインスタンスが止まると消える
  • 消えて困るものは置かない
  • EBSより早い。計算時の一時ファイル置き場などに使う。

EC2の起動

キーペアの作成

  • 公開鍵をAWSの方においておいて、秘密鍵をダウンロード

セキュリティグループの作成

  • ファイアウォールの設定みたいな感じ
  • 基本的にはインバウンドは全て閉じていてアウトバウンドは全部空いている
  • インバウンド→SSHとかHTTPとかのポートを開けたい時に設定

仮想サーバーの起動

インスタンスの作成をする

AMIの選択

  • Amazon Machine Image
  • Amazon Linux AMI が無料

インスタンスタイプの選択

えらぶ

インスタンスの詳細設定

  • 起動するインスタンス数の指定とか
  • ネットワークはデフォルトで作成されているVPC(Virtual Private Cloud)で
  • サブネットはとりあえず優先順位なしで
  • 自動割当パブリックIPは「サブネット設定を使用」
  • IAMロールはとりあえずなし(Identity and Access Management)。何か認証の設定をできるやつ。
  • シャットダウン動作は、シャットダウン時にインスタンスを削除するか停止するだけかを選べる
  • 削除保護...インスタンスが削除できないようにするやつ
  • モニタリング、とりあえずなしで
  • テナンシーは共有化されているハードウェアを利用するかどうかの設定らしい。とりあえず共有テナンシーで
  • ネットワークインターフェースはNICの設定。自動IP割当で
  • 高度な詳細は一旦何もいじらず
  • 次の手順: ストレージの追加 へ

ストレージの塚

  • とりあえずルートだけつくる
  • サイズとタイプを入れる。タイプは汎用で
  • 合わせて削除 はインスタンスを削除した時に同時に削除するかどうか。消し忘れ防止のためにはチェックを入れる。間違って消したりしたくない場合は外す
  • 次の手順: インスタンスのタグ付け へ

インスタンスのタグ付け

  • つけれる

セキュリティグループの設定

  • さっきつくったやつ

インスタンス作成の確認

  • かくにんする
  • AMIの編集 でつくりなおせる

既存キーペアの選択・新規作成

  • さっきつくったやつ

これで起動するはず。インスタンスの状態がrunningに。

EIPの取得と付与

  • Elactic IP Adress
  • グローバルIPアドレス
  • インスタンス生成時に作成したPublic IPはインスタンスを起動したり停止したりすると変わる
  • こっちは変わらない

EIPの取得

  • Elastic IP → 新しいIPアドレスの割当

インスタンスへの付与

  • アクション→アドレスの関連付け→インスタンスに関連付ける
  • 取り外したい場合は「アドレスの解放」
  • EIPをインスタンスに付与していない状態で保持するとわずかに課金されるので、インスタンスから取り外したら「アドレス関連付けの解除」するとIPを解放。

EC2への接続

ssh ec2user@EIP -i 秘密鍵

アプリケーションのインストール

EC2の停止など(マネジメントコンソール)

インスタンスの停止時に起こること

  • 停止、起動すると物理サーバー変わったりする
  • 再起動は同じ物理サーバーを利用

AWS CLI

AWSはマネジメントコンソール以外にもインタフェースがある

  • AWS API
  • 各言語のSDK
  • AWS CLI (Command Line Interface)

AWS CLIのインストールとセットアップ

インストール

  • pipを使ってインストールできる
  • ググれば多分出る

セットアップ

  • CLIからアクセスするにはアクセスキーとシークレットキーが必要
  • マネジメントコンソールから生成して、CLIのconfigureコマンドで設定

CLIからキーペアの作成

  • ec2 create-key-pair コマンド

CLIからセキュリティグループの作成

  • ec2 create-security-group でグループ作成
  • グループIDを利用して、 ec2 authorize-security-group-ingress とかで設定

CLIからEC2の起動

  • ec2 run-instances コマンド

以下色々あるけど略

  • EIPの取得と付与
  • 停止、削除、再起動

EC2インスタンスのバックアップ取得

なんかバックアップが取れるらしい

2章終わり

読んでいる本