ここまでの進捗は下記の通り。EC2とRDSを作成したはいいものの、この後途方に暮れる人が多いのではないか?
まずは、EC2にアクセスできるようにするためには何が必要か?
SSHクライアントソフト
今回はもともとインストールしてあったTeraTermで接続する。
TeraTermは、telnetで通信するために使っていたが、初めて使ったときはスゲーってなった。
色んなサイトで、SSHでEC2にアクセスする、とだけ書いてあるが、使ったことがない人は何から手を付けていいのかさっぱりわからないような気がする。(自分がそうだったように。)
キーペアの作成
今回は、EC2にSSHでアクセスしたいので、キーペアが必要。
キーペアは、「EC2インスタンスの作成」の際に、作成済みなのでそれを使う。
パブリックIPアドレスを知る
SSHでアクセスするためには、IPアドレスが必要になる。
EC2 > インスタンス > インスタンスIDをクリック
やや?パブリックIPv4アドレスも、パブリックIPv4 DNSも「-」になっている。
私のパブリックIPはいずこ?
AWSのLinux インスタンス用ユーザーガイド「Amazon EC2 インスタンスの IP アドレス指定」によると、
デフォルトの VPC でインスタンスを起動すると、デフォルトでパブリック IP アドレスが割り当てられます。デフォルト以外の VPC でインスタンスを起動するとき、サブネットには、そのサブネットで起動するインスタンスがパブリック IPv4 アドレスプールからパブリック IP アドレスを受け取るかどうかを決定する属性があります。デフォルトでは、デフォルト以外のサブネットで起動されたインスタンスにパブリック IP アドレスを割り当てません。
各サブネットに、そのサブネット内で起動されるインスタンスにパブリック IP アドレスが割り当てられるかどうかを決定する属性があります。デフォルトでは、デフォルト以外のサブネットではこの属性が false に設定されており、デフォルトのサブネットではこの属性が true に設定されています。
なんだと?
"そのサブネット内で「起動されるインスタンス」にパブリック IP アドレスが割り当てられるかどうかを決定する属性" !?
つまり、もう作成しちゃったEC2にはパブリックIPアドレスは割り当てられないってこと。
マジ萎える。
と、言っていても仕方がないので、インスタンスを新しく作成する。
今後同じ過ちを繰り返さないために、設定を変更しておく
デフォルト設定は、新規でインスタンスを作成する際には、パブリックIPを自動付与しない設定になっているので、これを付与する設定になるようにしておく。
Amazon VPC User Guideにそのあたりについて記載があるので、確認してみる。
VPC > サブネット > サブネットIDをクリック
右上のアクションから、「自動割り当てIP設定の変更」を選択
IPv4の自動割り当てにチェックして「保存」
これでインスタンス起動時に、毎回自動割り当てパブリックIPが有効設定になる。
気を取り直して新規に作成したインスタンス↓
無事にパブリックIPアドレスが付与。(満足)