2022年4月17日追記
Amazon Web Services 基礎からのネットワーク&サーバー構築を読み、こちらの設定について改めて学び直しました。
SSH接続を可能にするために、SSHの送信元として設定できるのは以下のいずれかのようです。
- カスタム 0.0.0.0/0 ※ 非推奨
- カスタム インスタンスを管理するパソコンのIPアドレス(おそらくここで見れるIPアドレス)
- マイ IP
AWS上の仮想サーバーであるEC2に、リモートログイン(SSH接続)をする際にどこから接続するか、が「送信元」に当たります。
「送信元」を「0.0.0.0/0」とした時、「どこからでも接続できてしまう」という意味になってしまうため、悪意ある第三者が不正な侵入を試みる恐れがあるようです。(※この本では「0.0.0.0/0」として設定していることもあり、商用ではなく実験用であればこの設定でもよいと思います。)
「インスタンスを管理するパソコンのIPアドレス(SSH接続を行うのに使うパソコンのこと)」、あるいは、「マイ IP」を選択するのがより安全とのことです。
「インスタンスを管理するパソコンのIPアドレス」や「マイ IP」を選んだ場合の注意点として、プロバイダーに再接続するたびにIPアドレスが変わる可能性があるため、接続できなくなったときは毎回、AWSマネジメントコンソールで、セキュリティグループの設定を開き、SSHの送信先で設定されているIPアドレスを更新する必要があるそうです。
こうやって解決した
① セキュリティグループのインバウンドで、sshの送信元を 自分のパソコンのIPアドレス (←重要)に設定する必要がある。
ここで"カスタム"や"任意の場所"ではなく、"マイIP"を選ばないとダメだった。
② その後インスタンス上で右クリック、インスタンスの状態->停止。そして開始。(再起動ではダメなことがあるらしい。)
参考
・http://noshipu.hateblo.jp/entry/2014/09/16/214248
・http://www.studio-fix.com/blog/kaoru/2009/05/17/post175/
AWS Amazon EC2公式を見ると・・・
インスタンスへの接続に関するトラブルシューティング
セキュリティグループルールを調べます。 適切なポートのパブリック IP アドレス(←自分のPCのIPアドレスのこと) からのインバウンドトラフィックがセキュリティグループルールで許可されている必要があります。
- https://console.aws.amazon.com/ec2/ にある Amazon EC2 コンソールを開きます。
- 画面左の[インスタンス] を選択し、インスタンスを選択します。
- 画面下の[説明] タブで、[セキュリティグループ] にある [ルールの表示] を選択して、有効なルールのリストを表示します。
- Linux インスタンスの場合: ご使用のコンピュータから ポート 22(SSH)へのトラフィックを許可するルールがあることを確認します。
カタカナ多すぎ&日本語・・・
前提設定の確認
チェックリスト
- VPCが作成されているか?
- サブネットが作成され、1で作成したVPCを選択しているか?
- インターネットゲートウェイが作成され、1で作成したVPCにアタッチしているか?
- ルートテーブルが作成されているか?
- 4の ルート が、送信先「0.0.0.0/0(IPv4の場合)」、ターゲット「igw-hoge123fuga(3で作成したインターネットゲートウェイのID)」になっているか?
- 4の サブネットの関連付け が、2で作成したサブネットになっているか?
上記がEC2でサーバーを構築するのに最低限必要なVPC領域の作成となります。このチェックリストを基に作成したVPCを選択し、インスタンスを作成するようにしてください。
用語集
- VPC(Virtual Private Cloud): クラウド上のプライベートなネットワーク空間。
- サブネット: 分割されたVPCの領域。
- インターネットゲートウェイ: VPCのサブネットを、インターネットに接続する出入り口。
- ルートテーブル: サブネットとインターネットゲートウェイの間のルーター。
- 設定1: VPC領域のCIDRブロックである「10.0.0.0/16」に含まれるIPアドレス宛のパケットであれば、VPC領域のルーターに接続されている相手への通信なので、VPC領域のルーター(つまり自分のローカル)にパケットを転送する。
- 設定2: 0.0.0.0/0の範囲宛(全てのIPアドレス宛)のパケットはインターネットゲートウェイに転送する。※ これがないと、サブネットをインターネットに接続できない。