こんにちは、GMOインターネット株式会社の斉藤です。
OpenStackでは拙作のnovasshというツール使うと、IPアドレスの代わりにインスタンスにつけたネームタグ(名前)で接続することができます。
OpenStackをベースにしているConoHaでも使えますので、今回はこれをご紹介したいと思います。
目次
はじめに
クラウドなどを使ってたくさんのインスタンスを立てると、ssh接続するときに「あれ?サーバーのIPなんだっけ?」となったりします。普通はWebの管理コンソールなどにログインして確認するか、APIを叩いて調べたりします。
ただ、とくにAWS方面ではec2sshなどの便利ツール/スクリプトがすでに多くあります。これらのツールを使うと、IPアドレスが不明でもサーバーの名前でssh接続ができます。
- Amazon EC2インスタンスに簡単にSSHできるようになるツールec2sshを公開しました
- ec2sshとpecoでsshログインを楽しもう
- Goで複数のAWSアカウントの全リージョンのEC2の情報をもってくるコマンドを書いた
一方で、OpenStackでは拙作のnovasshというツール使うと、IPアドレスの代わりとしてインスタンスにつけたネームタグ(名前)で接続することができます。
hironobu-s/novassh: A client program that connects to OpenStack(Nova) instance.
https://github.com/hironobu-s/novassh
デモ
インスタンスにSSH接続する
pecoと組み合わせる
使い方
OpenStack環境か、OpenStackベースのパブリッククラウドで動作します。簡単に試すならConoHaが良いでしょう。
https://www.conoha.jp/
1. novasshのインストール
GitHub releaseからバイナリをダウンロードして使います。以下をご覧ください。
2. インスタンスに名前をつける
インスタンス名の付け方は以下のような感じで。
自前OpenStackの場合はInstance Name
インスタンス起動ダイアログの「Instance Name」で指定します
ConoHaの場合
サーバー作成画面にある「ネームタグ」で指定します。
3. 認証情報の設定
環境変数にOpenStackの認証情報を設定します。
export OS_USERNAME=[username]
export OS_PASSWORD=[password]
export OS_TENANT_NAME=[tenant name]
export OS_AUTH_URL=[identity endpoint]
export OS_REGION_NAME=[region]
この環境変数名は、オフィシャルのCLIツールなどでも使われていてオープンスタッカー御用達です 🙂
https://wiki.openstack.org/wiki/OpenStackClient/Authentication
4. インスタンスに接続する
novasshの基本的な使い方は、以下のようにインスタンス名を引数に渡すだけです。
novassh [instance-name]
基本的にsshコマンドのラッパーなので、ユーザー名の指定やオプションの指定なども同じようにできます。
novassh username@instance-name
ポートフォワードする場合
novassh -L 8080:internal-host:8080 username@instance-name
その後接続が確立したら通常のsshと同じように使うだけです。
4-2. シリアルコンソール接続を使う
OpenStackはインスタンスへのシリアルコンソール接続をサポートしています。コンソール接続は仮想マシンのシリアルコンソール端末に直接接続されるため、インスタンスをリブートしても接続が切れたりせず、OSのブートシーケンスなども確認できます。カーネルをいじったりするときに便利です。
使い方は--console
オプションをつけるだけですが、OS側でシリアルコンソールが有効になっている必要があります。最近のUbuntuやCentOSはデフォルトで無効になっているので個別に有効化する必要があります。
novassh --console [instance-name]
接続に成功すると、以下のようにOSのログインプロンプトなどが表示されます。接続を切る場合はCtrl+[ q
と入力します。
# novassh --console ubuntu-dev
Connected.
Type "Ctrl+[ q" to disconnect.
接続を切る場合は Ctrl+[ q と入力して下さい
Ubuntu 15.10 personal ttyS0
ubuntu login:
おわりに
novasshは日常的なsshコマンドの代わりに使える便利なツールです。OpenStackの環境でサーバー管理などをされている方はぜひ使ってみてください。
ソースコードはGitHubにあります。
ブログの著者欄
採用情報
関連記事
KEYWORD
CATEGORY
-
技術情報(408)
-
イベント(147)
-
カルチャー(35)
-
デザイン(13)
TAG
- 5G
- Adam byGMO
- AI
- AWX
- BIT VALLEY
- blockchain
- ChatGPT
- cloudnative
- CloudStack
- CM
- CNDO
- CNDT
- CODEGYM Academy
- ConoHa
- CS
- CSS
- CTF
- DC
- Designship
- DevSecOpsThon
- Docker
- DTF
- GitLab
- GMO Developers Day
- GMO Developers Night
- GMO Hacking Night
- GMO kitaQ
- GMO SONIC
- GMOアドパートナーズ
- GMOアドマーケティング
- GMOイエラエ
- GMOグローバルサイン
- GMOデジキッズ
- GMOペイメントゲートウェイ
- GMOペパボ
- GMOリサーチ
- Go
- GTB
- Hardning
- Harvester
- HCI
- iOS
- IoT
- ISUCON
- JapanDrone
- Java
- JJUG
- K8s
- Kids VALLEY
- MetaMask
- MySQL
- NFT
- OpenStack
- Perl
- PHP
- PHPcon
- PHPerKaigi
- QUIC
- Rancher
- RPA
- Ruby
- Selenium
- splunk
- SRE
- SSL
- Terraform
- TLS
- TypeScript
- UI/UX
- VLAN
- VS Code
- インターンシップ
- オブジェクト指向
- オンボーディング
- お名前.com
- カルチャー
- コンテナ
- スクラム
- スペシャリスト
- ソフトウェアテスト
- チームビルディング
- ドローン
- ネットワーク
- プログラミング教育
- ブロックチェーン
- ゆめみらいワーク
- リモートワーク
- 基礎
- 多拠点開発
- 大学授業
- 宮崎オフィス
- 応用
- 技育プロジェクト
- 新卒
- 暗号
- 機械学習
- 決済
PICKUP