Edited at

【AWS】豆知識まとめてみた


目次


  1. データベースサーバーへのPing

  2. EC2シャットダウンの罠

  3. アカウント間のAMIの共有

  4. EC2のプロンプトをカスタマイズする


データベースサーバーへのPing

AWSでデーターベースサーバーを構築して、「疎通確認するぞ♪」とDBサーバーのホスト名を指定してPingコマンドを叩いたことはないでしょうか?

僕はAWS触りたての頃そうでした(その頃からインフラやり始めたので無知だった)。

セキュリティグループに誤りがあると思ったり、実は起動してないんじゃないかと疑ったりしてました。

なぜか?

こちらにあるように、AWSのAuroraを含むRDSでは、pingなどのICMPトラフィックは受け付けないとのこと。

つまりはPingが通りません。

じゃぁどうするか? 上記リンクに答えはありました。

telnet <RDS endpoint> <port number>

nc <RDS endpoint> <port number>

telnetもしくは、ncコマンドを利用しましょう。

個人的にはncコマンドがなんとなく好きです。

## 試しにDockerで立ち上げたローカルDBへ疎通確認

$ nc -z localhost 3306
Connection to localhost port 3306 [tcp/mysql] succeeded!


  • オプションについて


    • z : ポートスキャンオプション1



これで疎通に失敗した場合はセキュリティグループにより許可されてない可能性が高いです。

構築直後の疎通確認には良いと思います。


EC2シャットダウンの罠

利用していないEC2をシャットダウン。

いつかは使うかもしれないと停止したリソースを削除せずにそのまま放置している方いませんか?

シャットダウン中は料金かからないと思ってませんか?

そのEC2インスタンス、EBSがアタッチされてませんか?

実はEC2が停止中でもアタッチされたEBSは継続して料金が発生します。当たり前ですが。

少額とは言え勿体無いので、利用していないEC2インスタンス・関連するEBSha

削除しましょう!

スナップショットも同様に料金が発生するので、利用しない場合は削除しましょう。


アカウント間のAMIの共有

AのアカウントからBのアカウントへEC2をコピーして欲しいとの要望があり、こちらを参考に作業しました。

対象のEC2インスタンスをシャットダウンし、AMIの作成を開始した際に壁に当たりました。

10分で完了すると思っていた作成が1時間半経っても終わらないんですよね。

その日は放置して帰宅。次の日出社して確認すると作成済みになっており、トータルで3時間以上かかっていたようです。

原因としては、EC2のAMI自体はものの数分で完了していたようですが、EC2にアタッチされているEBSのスナップショット作成に時間を要しており、完了ステータスにならなかった模様。


EC2のプロンプトをカスタマイズする

EC2に限らずできますが、環境ごとに色分けしても良いかもしれませんね。

Visual_Studio_Code.png

この部分

EC2インスタンスにSSHログインして.bash_profileに以下を追記。


.bash_profile

PS1="\[\e[36m\e[40m\][\u@開発サーバーhoge]\[\e[0m\]\\$ "



  • 解説。大きく3つにパーツ分割!


    • [\e[36m\e[40m]


      • 文字色をシアンで表示2

      • 背景色をブラックで表示



    • [\u@開発サーバー002]



      • [ : ただの「 [ 」を表示


      • \u : SSHログインしているユーザー名を表示


      • @開発サーバーhoge] : ただの文字列を表示



    • [\e[0m]\$


      • これ以降の文字をホワイトで表示









  1. REHL7系からポートスキャンオプション[z]は無くなったらしい。macでは一応使えてます。 



  2. カラーコードや記法はこちらを参考にすれば大丈夫だと思います。