Tomo's IT Blog

技術的な調査メモ

AWS EC2インスタンスを試す- その2:EC2インスタンス作成準備

前回は、EC2の調査を主にインスタンスタイプと料金の観点で調査しました。
tmnj.hatenablog.com

今回は実際にEC2インスタンスを作成していきたいと思います。
基本的には、本家のドキュメントを参考にして進めます。
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/concepts.html

リージョンとアベイラビリティゾーン

EC2インスタンスを作成する前にまずは、基礎知識としてリージョンとアベイラビリティゾーンの概念を理解しておく必要があります。

docs.aws.amazon.com

リージョンとアベイラビリティゾーンを端的にあらわした図が以下になります。

f:id:tmnj:20161124145242p:plain

各リージョンは完全に独立しています。各アベイラビリティーゾーンは独立していますが、同じリージョン内のアベイラビリティーゾーンどうしは低レイテンシーのリンクで接続されています。次の図に、リージョンとアベイラビリティーゾーンの関係を示します。

リージョンは他リージョンとは完全に独立しており、リージョン間のアクセスはパブリックインターネット経由となります。よって、リージョン間でアクセスする場合はきちんと暗号化された通信方式を利用する必要があります。また、リージョン間でデータ送受信を行うと、転送量に応じて料金がかかりますので、個々にコストが発生することは覚えておいた方が良いかと思います。

アベイラビリティゾーンは、リージョン内で実際にインスタンスが稼働するいわゆるデータセンターに相当すると思います。可用性向上のための複数のアベイラビリティゾーンにまたがってインスタンスを構成したり、Elastic IPアドレスを利用することで、違うアベイラビリティゾーンにフェイルオーバーしても同一のIPでアクセスできるようにも構成できるようです。良く考えられています。
アベイラビリティゾーン間は高速な専用線でつながれており、同一アベイラビリティゾーン内の通信よりも若干速度が落ちる程度のようです。なお、アベイラビリティ間の通信にも料金は発生しますが、微々たるものなのであまり心配はいらないと思います。
ちなみにデータセンターの場所は秘密らしいので、東京リージョンと言いつつも実際は都内ではないのかもしれません。


また、EC2リソースには、グローバルなものリージョンに紐づくもの、アベイラビリティゾーンに紐づくものがあります。詳細は以下のURLを見てください。
リソースの場所 - Amazon Elastic Compute Cloud


IAMユーザの作成

docs.aws.amazon.com

AWS アカウントの認証情報を使って AWS にアクセスすることはお勧めしません。代わりに AWS Identity and Access Management (IAM) を使用することをお勧めします。

とありますので、手順に従って管理権限を持ったIDを作成します。今後は、この管理ユーザで作業を進めます。

後で調べたいこと、

キーペアの作成

こちらも、以下の手順に従います。
Amazon EC2 でのセットアップ - Amazon Elastic Compute Cloud

詳細はリンクを参照のこと。キーペアは、リージョンごとに固有となるらしいので、リージョンを選択しておきます。
自分は東京在住なのでとりあえず東京リージョンを選択します。

f:id:tmnj:20161124133452p:plain

ユーザはどこにいても好きなリージョンを選択できます。リージョンにより料金が異なりますので単なる検証目的であれば、料金の安いリージョンを選択しても良いと思います。

手順にしたがって、KeyPairを作成します。手順にこういう命名ルールにした方が良いと書いてあるので、その通りに作成しておきます。(your_user_name-key-pair-region_name)
作成するとPrivate Key(.pem)ファイルが自動でダウンロードされますので、保存しておきます。なおこのキーを無くしてしまうと新たなKey Pairを作成してEC2インスタンスをAMIから再作成する必要があるようなので、ちゃんと管理しておきましょう!

昔、ハマった記憶があるのは、WindowscygwinからPrivate Keyを使用してアクセスする際に失敗してしまうことがあったけど、以下のコマンドで.pemファイルの権限を変更して置く必要がありました。

chmod 400 your_user_name-key-pair-region_name.pem

Virtual Private Cloud(VPC)の作成

まだ事前準備は続きます。VPCを作成するとあらかじめ定義した仮想ネットワーク内でAWSリソースを起動できます。デフォルトVPCが存在するリージョンによるであればこの手順は不要のようです。東京リージョンはデフォルトVPCが存在していましたので、この手順は飛ばします。

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

要はインスタンスを保護するためのファイアウォールとして動作するのがセキュリティグループのようです。
セキュリティグループはリージョンごとに作成されるため、リージョンをまたいでインスタンスを作成する場合はリージョンごとに作成します。
とりあえず、手順どおりに作成します。sshアクセスは、自分のPublicIPアドレスのみを通すように指定しておきます。
自分のIPアドレスを知るには、以下のURLにアクセスすると取得できます。
http://checkip.amazonaws.com/

セキュリティグループにOutboundからのSSHの設定をする際は、上記で取得したCIDR表記でIP/32からのみ許可するように指定しておきます。

以上で事前準備は終了したと思います。(手戻りがあるかもしれませんが…)
次回は、インスタンス作成をしていきます。