1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS EC2でAnsibleの実行コマンドが永遠に弾かれた時の備忘録②

Last updated at Posted at 2025-03-15

エンジニア2年目が書いた記事として読んでね

前回の振り返り

・Ansibleのお勉強をしたいよ
・ServerからClientへAnsible-playbookコマンドが弾かれるよ
・サーバの鍵をなくしている事でSSH接続できない事が原因

■ こういう事したい!(前回記事から引用)
スクリーンショット (65).png

公開鍵・秘密鍵のおさらい

良い機会なので改めておさらい

今のところのざっくりとした認識はこれ
・秘密鍵で暗号化したデータは、公開鍵でしか複合できない。
・公開鍵で暗号化したデータは、秘密鍵でしか複合できない。
・秘密鍵は原則外部に漏らしたらダメ!

今の問題を、この状況と照らし合わせてみる。

問題① teratermからEC2(server)へアクセスできないのはなぜ?

鍵を再度取得する必要があるのは分かったが、公開鍵・秘密鍵どちらをPCのローカルに保存するべきなのだろうか

"秘密鍵は外部に漏らしたらダメ"

この一文に倣うなら、アクセス先のEC2(server)の公開鍵をローカルにおとしてきて、これを用いてEC2(server)にアクセスしようとしている。
と、考えるのが自然だと思ったが、実際はちょっと違う。

■参考にさせていただいた記事

なるほど。
暗号化の対象は、ローカルから送信するデータであり、これを暗号化するための秘密鍵を(OpenSSHを用いる場合は).pemファイルとしてローカルに保存するのね。
そして公開鍵はEC2(server)へ自動保存されると。

問題② EC2(Server)からEC2(Client)へSSH接続するにはどうする?

問題①で学んだから簡単!
EC2(Client)の.pemファイルを、EC2(Server)へ保存すればいいのね。

...あれ?どうやって?

と、思ったのも、.pemファイルはAWSのコンソール画面からブラウザを通じてダウンロードしている。
これをEC2(Server)へ保存させるにはどうするべきなのだろうか?

SCPってこうやればいいのか!

答えは「scpでローカルに保存した.pemファイルをEC2(Server)へ転送する」でした。
お仕事で、ローカルで作成したコマンドファイルをSQL実行サーバに転送するときにWinSCPを使った事はあったけど、実態はこういう事だったのね。学び。

SCPコマンド
PowerShellからEC2(Server)へ鍵転送!

$ scp -i EC2(Server)の鍵のパス 転送したいEC2(Client)の鍵のパス ec2-user@接続先IP:保存先パス

スクリーンショット (46).png

無事転送完了!

次回

EC2(Server)からEC2(Client)へのSSH接続をやっとこさ試せますね。

余談

実は前回記事でも記載したように、今回の環境は過去に作成したものを流用している。
ちょっと不都合があった関係で作り直しを行った。
どう問題があったのかをまとめる。

■理想の環境(前回記事から引用)
スクリーンショット (65).png

■実際の環境
※実際のアドレス帯は違うんだけど、イメージ先行で一旦↓のように記載

スクリーンショット (66).png

EC2がそれぞれ違うVPCに配置されている。

これの何が問題かっていうと、
・VPCをまたぐ通信のためには新しくNAT GWを配置する必要がある。※これが課金対象
・EC2(Client)側のアクセス制御に問題がある。

NAT GWは通信料に対して課金される。その他にVPC PearLinkなどの方法があるけど、一旦今回の検証範囲ではないのでまた今度

アクセス制御について

AWSを実際に利用した事がある人はわかると思うが、EC2を立てるときにSecurityGroupを作成する。
簡単に言うと、EC2ごとに設定できるステートフルなFWみたいなイメージ。

アクセス元のIPを制限するときには、以下の選択肢から選べる
・任意(0.0.0.0/0のアクセス許可)
・自分のIP(今アクセスしている自分の端末のGIP)
・カスタム(アドレス指定)

今回はEC2(Client)に、EC2(Server)以外からのSSH接続を拒否させたい。
EC2のローカルIPは自動割り当てで、今後変わる事を考えるとどうしたもんか...

調べていくと"アクセス元のSecurityGroupを指定できる"との事!

■ 参照

ただ、異なるVPCのSecurityGroupは指定できない....うーん...

作り直そう!

EC2って別のVPCに移行できるの?

vMotionみたいに簡単にぽーんと移動できる方法が無いか調べてみたんだけど...

変更不可とのこと
既存のEC2をAMI(簡単にいうとテンプレート)にして、それを別のVPCで立て直す方法で事なきを得たんだけど、それはまた別記事で...

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?