LoginSignup
0
1

More than 3 years have passed since last update.

AWSのEC2についてのまとめ

Posted at

EC2(Elastic compute cloud)とは

AWSの仮想サーバーサービスのことです。
EC2を利用することで、OSを乗せた仮想環境をクラウド上にすばやく作ることができます。
EC2はインスタンスという単位で、サーバー環境構築します。
インスタンスとは簡単に言えば、OSを載せた仮想サーバーのことです。
また、インスタンスは複数作成して実行することもできます。

サーバーとは

クライアントからのリクエストに対して、レスポンスを返してくれるコンピューターのことです。
例としては、Webサイトを見るときにURLをクリックしたりして、どこどこのページをクライアント側から要求します。
それに対して、その対象のページのデータをクライアント側に返してくれるためのコンピュータがサーバーです。

仮想サーバーとは

簡単に言うと実際のサーバーの上に論理的なサーバーを構築することを言います。

EC2で作成する仮想サーバー

一般的な仮想サーバーの構成とEC2で作成する仮想サーバーのちがいについて図で説明します。
img02.png

AMI(Amazon Machine Image)

AMIとはサーバーのOSに当たるもので、インスタンス作成に必要な情報です。
EC2を作成するときには、使用するAMIを指定する必要があります。
OSを何を使うかを指定したり、中にはOSだけではなくwordpressなどのソフトウェアが搭載されているものもあります。
中には有料のものもあるので注意が必要です。
基本的にはamazon linux2を選択で大丈夫です。

インスタンスタイプ

名前の通りインスタンスのタイプを指定します。
インスタンスのスペックを決める部分で、インスタンスタイプにはさまざまな種類が存在し、指定するインスタンスタイプによって容量などが変わってきます。

「t2.micro」を例にして、名前の意味を説明すると以下のようになります。
2021年現在ではt3が最新になります。
img03.png
無料枠ではt2までが使えるようになっているので、有料ならt3、無料枠を使いたいなら基本的にはt2を使うようにします。

EBS(Elastic Block Store)

EC2にアタッチして使用する外付けのディスクのことです。
種類に応じてIOPS(性能)が異なります。
また、スナップショット(差分形式のバックアップ)が取得できます。
特徴としてはAZをまたいでのアタッチはできません。
img04.png

EBSには以下の4種類が存在します。
基本的に理由がなければ、汎用SSDを選択で大丈夫です。
それぞれ、容量や書き込みスピードなどが違います。
img05.png

バックアップは後ほど説明するスナップショットで取得することができます。

ENI(Elastic network interface)

仮想ネットワークインターフェイスの略で、EC2インスタンスなどにIPアドレスをアタッチすることができる機能です。
同じAZ内のインスタンスにアタッチ/デタッチができます。
EC2にはデフォルトでENIが付与されている。
一つのインスタンスに複数のENIを付与することができる。
このENIとインターネットゲートウェイが接続することで、Public subnetとインターネットが接続可能になる。
img06.png
この辺の知識はネットワークとも関係があるので、はVPCの記事でも紹介しています。
https://qiita.com/a_goto/items/85e85095c1091c94bdc5

スナップショット

EC2インスタンスをバックアップするには幾つかの方法がありますが、その中で最も手軽なのがスナップショットの作成です。

EBSを丸っとコピーしていると考えてもらえれば良いでしょう。 なお、繰り返してスナップショットを取得すると、差分を保存するようにできているため、1回目のスナップショット作成はやや時間がかかり、それ以降はあまり時間がかかなりような特性があります。
スナップショットを作成する時は、インスタンスを停止することが推奨されています。

これは、ファイルシステムが更新されている途中など、中途半端な状態でのスナップショットを作成してしまうと、復元時に問題が発生する可能性があるからです。 インスタンスを停止すれば安全にスナップショットが作成できます。
img07.png

スナップショットを元にAMIを使ってバックアップを復元

AMIとスナップショットをマッピングさせて、どのスナップショットの状態のバックアップを使ってEC2を起動するか選べます。
マッピングしたスナップショットを元にAMIを使いEC2を起動し、EBSの状態を復元できます。
img08.png

User data

EC2が初回起動する際に実行するスクリプトのことです。
実行権限はrootユーザー権限で行われます。
img09.png

EC2が作成されるまでのフロー

AMIを使いOSを選択肢 → インスタンスタイプでスペックを選択 → EC2が起動 → EBS,ENIをアタッチ → User dataが実行される。
img10.png

Instance meta data

インスタンスの中に埋め込まれたデータのことです。
Instance meta dataはターミナルなどのコマンドツールを使って確認することができます。
またAWS専用のコマンドも存在します。
※ただAWS専用コマンドを使うと余計なテキストが付随してくるため、プログラム内で実行すると、そのテキストを削除する処理が必要になるため、通常のコマンドで呼び出すほうが実務では推奨します。自分の目で確認したいだけなら、専用コマンドのほうが短いコマンドで実行できます。

Instance meta dataの例)
・EC2のIPアドレス
・EC2のホストネーム
・EC2が使用しているAMIのID番号

キーペア

EC2へログインするための秘密鍵と公開鍵のペアのことです。
EC2にろぐいんするためにはAWSが管理する公開鍵と、ユーザー自身が保持しておく必要がある秘密鍵が必要になります。
秘密鍵と公開鍵を照合することで、EC2にログインすることができるため、ユーザーは秘密鍵を厳重に保存しておく必要があります。
この秘密鍵を他社に共有してしまったり、誰かにわかる場所に置いてしまうと、EC2に勝手にログインされてしまい、攻撃を受けたり、やりようによっては予期しない料金を課せられることにつながるため、絶対に他人に取得されないようにしましょう。
間違ってもgitなどでパブリックで公開したりしないようにしてください。過去にそういう事例もあったみたいです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1