Posted at

EC2要点まとめ

More than 5 years have passed since last update.

AWS Black Belt Techシリーズ Amazon Elastic Compute Cloud (Amazon EC2)

リージョンとエッジロケーション

世界8+2ヶ所のリージョン
36都市51ヶ所のエッジロケーション

アベイラビリティーゾーン
各リージョンにふ複数存在し、地理的・電源的・ネットワーク的に分離して設計される。AZ間は高速専用線で接続されている。


典型的アーキテクチャ

Route53

→ELB(ロードバランサ)→AZに分けた2つのVPC(各VPCにEC2×1、それぞれにRDSマスタとスレーブという構成)
+
→cloudfront→S3(静的コンテンツの格納)


EC2-VPC

VPC内にサブネットを設定しプライベートIPアドレス管理でEC2を構築する。


  • DefaultVPCは172.31.0.0/16が使われる

  • 各AZにDefaultSubnet(pubric)が自動作成される

  • Launch時に設定したAZのサブネットにインスタンスがデプロイされる

  • インスタンスには動的割り当てされるPubricIPアドレスが割り当てられる


EC2-EBS

EC2に仮想的に外付されるブロックレベルのストレージサービス


  • サイズは1GB単位の1TBまで

  • サイズ+期間で課金

  • EC2一つに複数のアタッチメントが可能

  • データの永続的保存

  • スナップショットでバックアップ

  • スナップショットからAZにEBSを複製できる

  • プロビジョンドIOPSによるIOパフォーマンスが指定可能

  • 別のEC2インスタンスに付け替え可能


InstanceStorageとEBS比較

 
InstanceStorage  
EBS  

EC2との接続方法  
内蔵ディスク  
ネットワーク接続  

EC2との関係  
EC2と不可分  
EC2と独立管理  

データの存続期間  
EC2を停止するとクリア  
EC2と関係なく単独保持される  

性能  
インスタンスタイプごとに規定  
個別で性能・容量を定義可能  

費用  
なし  
発生  


EC2に関連した主要コンポーネントリスト


  • AMI

  • EBS

  • Snapshot



  • ElasticIP

  • VPC

  • ELB

  • AutoScaling

  • VM Import/Export



  • KeyPairs

  • SecurityGroups


EC2デプロイの流れ

1.リージョン選択

2.AMIの選択

AMIはS3に保管されているインスタンス作成のためのイメージテンプレート。EC2からも任意のタイミングで作成が可能。

3.台数、インスタンスタイプ、AZの選択

デプロイ後も、インスタンスタイプは可能。Stop状態であること。

4.EBSの設定

デフォルトではEC2と同じAZに作成される。

5.KeyPair選択

サーバー接続用の公開鍵方式の秘密鍵のダウンロード(一度のみ!)

6.SecurityGroupの選択

ファイヤウォールの設定。事前に準備したものをサーバーに設定。

IN/OUTのトラフィック制限を行う。デフォルトではINは全トラ閉。

アクセスルールの定義対象→プロトコル(TCP/UDP)、宛先ポート、アクセス元IP ※これらをまとめたものがSecurityGroupと呼ばれる。

インスタンス用途に応じそれぞれSecurityGroupを用意。

アクセス元を制限してセキュリティを高める。

7.起動完了

8.ターミナルからアクセス

ssh接続。ログインの際のアカウントはAmazonLinux→ec2-user、その他Linux→root,admin


EC2のアドレス一覧


  • PrivateIP。VPC内のサブネットから割り当て。

  • PrivateDNS名。(*.internal)

  • PublicDNS名。(*.amazonaws.com)

  • PublicIP。オプションで選択可。

  • ElasticIP。固定されたPubricIP。EC2とは独立しているので付け外しが可能。


EIP使いドコロ

通常、EC2のPubricIPを用いることでRoute53によるCNAME名前解決を行うことで紐付け出来る。

メールサーバ、監視サーバ等の固定IPアドレスがどうしても必要な場合にEIPを用いる

Managementコンソールから簡単にAMIのリージョン間コピーが出来る


AWSのセキュリティ


シェアード・レスポンシビリティ・モデル

WEBサイト/アプリケーション→利用者

インフラ→AWS


セキュリティ証明書一覧

鍵認証  
ターミナル  
 

MFA(多要素認証、IAM、パスワード認証)  
WEBマネジメントコンソール  
 

アクセスキー、X.509証明書、IAM  
コマンドライン/SDK  
 

EC2のサービスレベルアグリーメントは99.95%


最近の追加機能(2014.3)


  • VM Import for Linux

  • IAM(EC2 resource Permissions)

  • リザーブドインスタンスのインスタンスタイプが変更可能に

  • SR-IOVネットワークドライバーによるネットワーク性能の向上

  • Intel processor Featuresに対応


EC2 Tips


故障のための設計をする


  • 備えるための設計

  • 全てが故障しうるという考えのもと、システム全体で保守設計する

  • SPOF(単一障害点)の排除

  • 障害復旧の重視

--


  • 故障時のための設計

  • AMIを常にとっておく-無停止でAMIを定期的に作成

  • EBSのスナップショットによるバックアップ-スクリプトによる定期的なバックアップ

  • 複数のアベイラビリティゾーンへの分散

  • ELBでサーバを冗長化、AutoScalingによる自動復帰

  • ReservedInstanceでキャパシティ保障

--


  • 他組み合わせで冗長性を高めるサービス-S3、SimpleDB、RDS等


InstanceStorageにSSDを積んだインスタンスの活用

M3、C3インスタンスなどInstanceStorageにSSDを搭載しているインスタンスが増えている。


  • InstanceStorageのメリット

    高IOPS、高帯域(広帯域?)なストレージ


  • 考慮すべき点

    消えても良いデータの置き場として使う、ストレージ冗長化を準備出来るかどうか



EC2へのファイル転送


  • SCPを使う

  • S3経由で共有する。S3のオブジェクトをEC2からwgetでアクセス。

  • FTPサーバーをEC2上に立ち上げる

  • TsunamiUDP、Aspera等を使った高速送信


VM Import Exportとは

複数のプラットフォームのVMイメージをEC2にインポート、エクポートする事ができる。


稼働EC2インスタンスからメタデータの取得

curl http://{IP}/latest/meta-data


起動時にパラメータを渡す(16KB以内で任意のもの可)

CloudFormation、Chef、Puppetを利用した自己構成AMIの作成

CloudFormation 詳細 -ほぼ週刊AWSマイスターシリーズ第6回-


コマンドラインツール、AWS SDKs

APIを使ったプログラマブルなアクセスが可能に


EC2のステータスチェック機能

2種類の自動ステータスチェックテストがある。乖離がある場合はレポート可能。


  • システムステータスチェック

  • インスタンスステータスチェック

それぞれネットワークパケットがEC2インスタンスに通るか、インスタンスのOSに受け取るかをチェックする。


EBSのボリュームサイズ変更の流れ

EBSをデタッチ→EBSスナップショットをS3に作成→新しいEBSの作成(ボリュームサイズ変更)→EBSアタッチ→マウント、リサイズ

EC2からみたEBSとS3

EBS  
S3  
 

複数のEC2にアタッチ不可  
複数のEC2からアクセス可  
 

ブロックデバイスとして使う  
WriteOnceReadALotな利用が向いている。アップロード並列化も出来る。  
 

NFSのような利用の場合はミドルウェアの導入がいる  
耐久性高い、自動でレプリケーションされる。  
 


EIPポイント

EIPを用いる場合、インターネット経由のアクセスとなるため課金が発生する可能性がある。

EC2内部でPublicIPでアクセスされた場合はPrivateIPに変換される。