EC2

Amazon Elastic Compute Cloud (EC2) ノート。

Sizing & Configuration Options

  • OS: Linux, Windows, MacOS
  • CPU, RAM
  • Storage Space:
    • ネットワーク接続(せつぞく) (EBS, EFS)
    • ハードウェア (EC2 Instance Store)
  • Network card: 速度(そくど) 、パブリック IP アドレス
  • Firewall rules: セキュリティグループ
  • Bootstrap script: EC2 User Data Script (初回(しょかい) 起動(きどう) ()設定(せってい) )

User Data Script

  • root ユーザーで実行(じっこう)
  • ブートタスクの自動化(じどうか) :
    • アップデートのインストール
    • ソフトウェアのインストール
    • インターネットからファイルをダウンロード
#!/bin/bash
## Use this for your user data (script from top to bottom)
## install httpd (Linux 2 version)
yum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html

Instance Types

C - Compute Optimized

計算(けいさん) 集約(しゅうやく) (がた) タスクに最適(さいてき) :

  • バッチ処理(しょり) ワークロード
  • メディアトランスコーディング
  • 高性能(こうせいのう) Web サーバー
  • ゲームサーバー

R - Memory Optimized

高速(こうそく) パフォーマンスワークロード:

  • 高性能(こうせいのう) RDB/非RDB
  • 分散(ぶんさん) Web スケールキャッシュストア
  • BI () けインメモリ DB
  • ビッグデータのリアルタイム処理(しょり)

I, G, H - Storage Optimized

ストレージ集約(しゅうやく) (がた) タスクに最適(さいてき) :

  • 高頻度(こうひんど) OLTP システム
  • RDB & NoSQL データベース
  • インメモリデータベースキャッシュ
  • データウェアハウスアプリケーション
  • 分散(ぶんさん) ファイルシステム

Security Groups

Security Groups Overview

EC2 インスタンスのファイアウォールとして機能(きのう)制御(せいぎょ) :

  • ポートへのアクセス
  • 許可(きょか) された IP 範囲(はんい) - IPv4 & IPv6
  • インバウンドネットワーク制御(せいぎょ)
  • アウトバウンドネットワーク制御(せいぎょ)

Good to Know

  • SG は複数(ふくすう) のインスタンスに接続(せつぞく) 可能(かのう)
  • リージョン/VPC の()() わせに紐付(ひもづ)
  • EC2 の「外側(そとがわ) 」に存在(そんざい) - トラフィックがブロックされると EC2 は認識(にんしき) しない
  • SSH アクセス(よう)(べつ) の SG を維持(いじ) することを推奨(すいしょう)
  • アプリケーションが:
    • アクセス不可(ふか) (タイムアウト) → SG の問題(もんだい)
    • connection refused エラー → アプリケーションエラーまたは未起動(みきどう)
  • (すべ) てのインバウンドトラフィックはデフォルトでブロック
  • (すべ) てのアウトバウンドトラフィックはデフォルトで許可(きょか)

Ports

ポートプロトコル説明(せつめい)
22SSHLinux インスタンスにログイン
21FTPファイル共有(きょうゆう) にアップロード
22SFTPSSH でファイルをアップロード
80HTTP() セキュア Web サイトにアクセス
443HTTPSセキュア Web サイトにアクセス
3389RDPWindows インスタンスにログイン

SSH into EC2 Instance

Linux / Mac OS X

chmod 0400 EC2Tutorial.pem
ssh -i EC2Tutorial.pem ec2-user@54.95.249.238

Windows 10

ssh -i .\EC2Tutorial.pem ec2-user@54.95.249.238

EC2 Instance IAM Roles

EC2 インスタンス(ない)認証(にんしょう) 情報(じょうほう)設定(せってい) しないでください - セキュリティリスクです。() わりに IAM Roles を使用(しよう)

操作(そうさ) : Instances → Actions → Security → Modify IAM role

Purchase Options

オプション説明(せつめい)
On-Demand短期(たんき) ワークロード、秒単位(びょうたんい) 課金(かきん)
Reserved1 & 3 (ねん)最大(さいだい) 72% 割引(わりびき)
Savings Plans1 & 3 (ねん)使用量(しようりょう) のコミットメント
Spot Instances短期(たんき) ワークロード、最大(さいだい) 90% 割引(わりびき) 、インスタンス喪失(そうしつ)可能性(かのうせい)
Dedicated Hosts物理(ぶつり) サーバー全体(ぜんたい)予約(よやく)(もっと)高価(こうか)
Dedicated Instances(ほか)顧客(こきゃく) とハードウェアを共有(きょうゆう) しない
Capacity Reservations特定(とくてい) の AZ で容量(ようりょう)予約(よやく)

Spot Instances Use Cases

障害(しょうがい)(つよ) いワークロードに最適(さいてき) :

  • バッチジョブ
  • データ分析(ぶんせき)
  • 画像(がぞう) 処理(しょり)
  • 分散(ぶんさん) ワークロード
  • 柔軟(じゅうなん)開始(かいし) /終了(しゅうりょう) 時間(じかん) のワークロード
クリティカルなジョブやデータベースには(てき) していません。

Ways of Accessing EC2

  1. ポート 22 を(ひら) いて SSH キーを使用(しよう)
  2. EC2 Instance Connect を使用(しよう) (ポート 22 が必要(ひつよう) )
  3. Session Manager を使用(しよう) (IAM Role: AmazonSSMManagedInstanceCore必要(ひつよう) )

AMI (Amazon Machine Image)

  • EC2 インスタンスのカスタマイズ
  • 特定(とくてい) のリージョン(よう)構築(こうちく) (リージョン(かん) でコピー可能(かのう) )
  • 以下(いか) から EC2 インスタンスを起動(きどう) 可能(かのう) :
    • パブリック AMI (AWS 提供(ていきょう) )
    • 独自(どくじ) の AMI
    • AWS Marketplace AMI

Instance Store

  • EC2 に接続(せつぞく) された高性能(こうせいのう) ハードウェアディスク
  • より(すぐ) れた I/O パフォーマンス
  • インスタンスが停止(ていし) /終了(しゅうりょう) するとデータは消失(しょうしつ)
  • バッファ、キャッシュ、スクラッチデータ、一時(いちじ) コンテンツに最適(さいてき)