私はかなりの量のシェフを書いてきましたが、AWS/VPC とネットワーク トラフィックの管理 (特に踏み台ホスト) の両方にかなり慣れていません。
knife ec2 プラグインを使用して、開発者ワークステーションから VM を動的に作成およびブートストラップする機能が必要です。VM は、VPC のパブリックまたはプライベート サブネットに存在できる必要があります。エラスティック IP を使用せずに、これらすべてを実行したいと考えています。また、踏み台ホストをハンドオフしたいと考えています (つまり、踏み台ホストで VM ごとのリッスン トンネルを明示的に作成する必要がないようにしたいと考えています)。
ナイフ ec2 プラグインを使用して、レガシー EC2 モデル (たとえば、VPC の外部) で VM を作成することに成功しました。現在、VPC でインスタンスを作成しようとしています。ナイフのコマンド ラインで、ゲートウェイ、セキュリティ グループ、サブネットなどを指定しています。VM は作成されますが、その後ナイフで ssh に失敗します。
これが私のナイフのコマンドラインです:
knife ec2 server create \
--flavor t1.micro \
--identity-file <ssh_private_key> \
--image ami-3fec7956 \
--security-group-ids sg-9721e1f8 \
--subnet subnet-e4764d88 \
--ssh-user ubuntu \
--server-connect-attribute private_ip_address \
--ssh-port 22 \
--ssh-gateway <gateway_public_dns_hostname (route 53)> \
--tags isVPC=true,os=ubuntu-12.04,subnet_type=public-build-1c \
--node-name <VM_NAME>
私の問題は、要塞ホストの構成に関係していると思われます。グーグルで一日を過ごした後、機能する構成を見つけることができませんでした。要塞ホストに SSH で接続でき、そこから新しく作成された VM に SSH で接続できます。ゲートウェイ引数を使用してナイフでこれを正常に複製することはできません。
/etc/ssh/ssh_config で遊んでみました。今日の存在は次のとおりです。
ForwardAgent yes
#ForwardX11 no
#ForwardX11Trusted yes
#RhostsRSAAuthentication no
#RSAAuthentication yes
#PasswordAuthentication no
#HostbasedAuthentication yes
#GSSAPIAuthentication no
#GSSAPIDelegateCredentials no
#GSSAPIKeyExchange no
#GSSAPITrustDNS no
#BatchMode no
CheckHostIP no
#AddressFamily any
#ConnectTimeout 0
StrictHostKeyChecking no
IdentityFile ~/.ssh/identity
#IdentityFile ~/.ssh/id_rsa
#IdentityFile ~/.ssh/id_dsa
#Port 22
#Protocol 2,1
#Cipher 3des
#Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
#MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
#EscapeChar ~
Tunnel yes
#TunnelDevice any:any
#PermitLocalCommand no
#VisualHostKey no
#ProxyCommand ssh -q -W %h:%p gateway.example.com
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
GatewayPorts yes
また、/home/ubuntu/.ssh/identity を新しいインスタンスの対応する秘密鍵に設定しました。
アップデート:
踏み台ホストの /var/log/auth.log に次のように記録されています。
May 9 12:15:47 ip-10-0-224-93 sshd[8455]: Invalid user from <WORKSTATION_IP>
May 9 12:15:47 ip-10-0-224-93 sshd[8455]: input_userauth_request: invalid user [preauth]