仮想マシンの起動時、インスタンスに SSH アクセスできるようにするための、キーペア を注入できます。これを動作させるために、イメージに cloud-init
パッケージをインストールしておく必要があります。
各プロジェクトに少なくとも 1 つのキーペアを作成できます。そのプロジェクトに属する複数のインスタンスに対してそのキーペアを使用できます。外部ツールを用いてキーペアを生成した場合、OpenStack にインポートできます。
注釈
プロジェクトではなく、ユーザ個人に属したキーペア。キーペアを複数のユーザーにまたがってシェアするためには、各ユーザーでそのキーペアのインポートが必要です。
イメージが固定の root パスワードまたは固定のキーセットを使用する場合、どちらも推奨されませんが、インスタンスを起動するためにキーペアを提供する必要がありません。
セキュリティーグループ は、インスタンスへアクセスが可能なトラフィックの種別を制限するために使用するネットワークのアクセスルールを名前を付けてまとめたものです。インスタンスを起動して、1 つまたは複数のセキュリティーグループをインスタンスに割り当てることができます。セキュリティーグループを作成しない場合、新しいインスタンスには明示的に別のセキュリティーグループを指定しない限り、自動的に Default のセキュリティーグループが割り当てられます。
セキュリティーグループごとに割り当てた ルール は、グループ内のインスタンスへのトラフィックを制御します。デフォルトでは、ルールと合致しない受信トラフィックは、拒否されます。セキュリティーグループへルールを追加することも、セキュリティーグループからルールを削除することも可能です。デフォルトのルールやその他のセキュリティーグループのルールを変更することができます。
セキュリティーグループのルールを変更して、別のポートやプロトコルからインスタンスにアクセスすることができます。例えば、SSH 経由でのインスタンスへのアクセス、ping、UDP トラフィックの許可 (例: インスタンス上で実行中の DNS) などができるようにルールを変更することができます。ルールについては以下のパラメーターを指定します。
ルールは、作成または変更後すぐに自動的に有効になります。
注釈
デフォルトのセキュリティーグループを使用するインスタンスは、デフォルトでクラウド外の IP アドレスからアクセスできません。これらの IP アドレスがインスタンスにアクセスしたければ、デフォルトのセキュリティーグループのルールを編集する必要があります。また、セキュリティーグループは自動的にインスタンスからの DHCP 応答を破棄します。
また、実行中のインスタンスに Floating IP アドレスを割り当て、クラウド外からアクセスできるようにすることも可能です。IP アドレスの管理 を参照してください。
キーペアの生成や既存の公開鍵のアップロードが可能です。
キーペアを生成するために、以下のコマンドを実行します。
$ openstack keypair create KEY_NAME > MY_KEY.pem
このコマンドは、指定した KEY_NAME という名前のキーペアを生成し、秘密鍵を .pem
ファイルに書き込み、公開鍵を Nova データベースに登録します。
あなただけが読み書きできるよう、 .pem
ファイルのパーミッションを設定するために、以下のコマンドを実行します。
$ chmod 600 MY_KEY.pem
すでにキーペアを生成し、公開鍵が ~/.ssh/id_rsa.pub
にある場合、以下のコマンドでこの公開鍵をアップロードします。
$ openstack keypair create --public-key ~/.ssh/id_rsa.pub KEY_NAME
このコマンドは、Nova データベースに公開鍵を登録して、キーペアの名前を指定した KEY_NAME
にします。
キーペアが正常にインポートされたことを確認するために、以下のとおりキーペアを一覧表示します。
$ openstack keypair list
現在のプロジェクトのセキュリティーグループと説明を一覧表示するために、以下のコマンドを入力します。
$ openstack security group list
指定された名前と説明を持つセキュリティーグループを作成するために、以下のコマンドを入力します。
$ openstack security group create SECURITY_GROUP_NAME --description GROUP_DESCRIPTION
指定されたグループを削除するために、以下のコマンドを入力します。
$ openstack security group delete SECURITY_GROUP_NAME
注釈
プロジェクトの Default のセキュリティーグループは削除できません。また、実行中のインスタンスに割り当てられているセキュリティーグループも削除できません。
openstack security group rule コマンドを用いてセキュリティーグループのルールを編集します。開始する前に、OpenStack RC ファイルを読み込みます。詳細は OpenStack RC ファイルを用いた環境変数の設定 を参照してください。
セキュリティーグループのルールを一覧表示するために、以下のコマンドを実行します。
$ openstack security group rule list SECURITY_GROUP_NAME
インスタンスへの SSH 接続を許可するために、以下のオプションのどれかを選択します。
CIDR 表記で IP サブネット 0.0.0.0/0
として指定して、すべての IP アドレスからのアクセスを許可します。
$ openstack security group rule create SECURITY_GROUP_NAME \
--protocol tcp --dst-port 22:22 --remote-ip 0.0.0.0/0
他のセキュリティーグループからの IP アドレス (ソースグループ) のみが指定したポートにアクセスできるようにします。
$ openstack security group rule create SECURITY_GROUP_NAME \
--protocol tcp --dst-port 22:22 --remote-group SOURCE_GROUP_NAME
インスタンスへの ping アクセスを許可するには、以下のオプションのどれかを選択します。
CIDR 表記で IP サブネット 0.0.0.0/0
として指定して、すべての IP アドレスからの ping を許可します。
$ openstack security group rule create --protocol icmp \
SECURITY_GROUP_NAME
これにより、すべてのコードとすべての種類の ICMP 通信が許可されます。
他のセキュリティーグループ (ソースグループ) のメンバーのみがインスタンスに ping できるようにします。
$ openstack security group rule create --protocol icmp \
--remote-group SOURCE_GROUP_NAME SECURITY_GROUP
仮想マシンで実行する DNS サーバーにアクセスするなど、UDP ポート経由でのアクセスを許可するには、以下のオプションの 1 つを選択します。
CIDR 表記で IP サブネット 0.0.0.0/0
として指定して、すべての IP アドレスからの UDP アクセスを許可します。
$ openstack security group rule create --protocol udp \
--dst-port 53:53 SECURITY_GROUP
他のセキュリティーグループからの IP アドレス (ソースグループ) のみが指定したポートにアクセスできるようにします。
$ openstack security group rule create --protocol udp \
--dst-port 53:53 --remote-group SOURCE_GROUP_NAME SECURITY_GROUP
セキュリティーグループのルールを削除するには、ルールの ID を指定します。
$ openstack security group rule delete RULE_ID
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.