私は、SaltStack を学習するための小規模な調査 AWS インフラストラクチャを作成しました。すでに 3 つの ec2 インスタンスが実行されています。(マスターとミニオン2体)。1 人のミニオンは iam-role なしで、もう 1 人のミニオンは、ec2 および s3 アクションにアクセスできるロールを持っています。(純粋にテスト目的でロールを設定します。)
私が発見しようとしているのは、salt-master (または salt-minion ?) を構成して aws services にアクセスできるようにする方法です。今のところ、SSH で 2 番目のミニオンにアクセスでき、boto3 を使用して ec2 と ss3 にアクセスできます。しかし、salt-master => salt-minion から boto_ec2 実行モジュールを使用すると、アクセスエラーが発生します。使用する必要がある/etc/salt/cloud.providersおよび/etc/salt/cloud.profiles構成があることは知っています。私が見たほとんどの例は、ソルトミニオンがソルトによって作成されることを期待していたので、既存のインスタンスでそれを行う方法に少し混乱しています。
質問は次のとおりです。「salt-master から boto_ec2 モジュール (またはその他) を使用してミニオンをオーケストレーションできるように、マスターとミニオンを構成する正しい正しい方法は何ですか。AWS 資格情報 (キー) はどこでどのように設定する必要がありますか?どの構成ファイルを変更/追加する必要があり、どのコマンドを実行する必要がありますか? インスタンスは既に稼働しています。"
このリンクを見つけました: https://salt-cloud.readthedocs.org/en/latest/topics/aws.htmlしかし、次のような場所があります:
"The following settings are always required for EC2:"
# Set the EC2 login data
my-ec2-config:
id: HJGRYCILJLKJYG
key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
keyname: test
securitygroup: quick-start
private_key: /root/test.pem
provider: ec2
しかし、この構成がどこにあるべきかは言われていません。マスター/ミニオン?どのファイル?そして、コマンドを実行すると:
# salt '*142*' boto_ec2.exists Master
: 'boto_ec2' __virtual__ returned False
ERROR: Minions returned with non-zero exit code
動いていない。