2017-11-01 12 views
1

EC2インスタンスを作成して、それを自分の自動スケーリンググループに追加しようとしています。私は多くの問題を認証しようとしています。私は単純にインスタンスを開始するために私のアクセスキーを使用して要求を認証する簡単な方法を探しています。これまでに試したこと:EC2インスタンスの認証と実行:AWS

//Authenticate AWS: 
var myCredentials = new AWS.CognitoIdentityCredentials({ 
    IdentityPoolId:'us-west-2:IdentityPoolID' 
}); 

var myConfig = new AWS.Config({ 
    credentials: myCredentials, region: 'us-west-2' 
}); 

AWS.config = myConfig 

var minInst = 1; 
var maxInst = 3; 

var ec2 = new AWS.EC2(); 
//Set up parameters for EC2 Instances: 
var params = { 
    ImageId: 'ami-6e1a0117', 
    MaxCount: minInst, 
    MinCount: maxInst, 
    InstanceInitiatedShutdownBehavior: 'terminate', 
    InstanceType: 't2.micro', 
    Monitoring: { 
    Enabled: false 
    }, 
    NetworkInterfaces: [{ 
    AssociatePublicIpAddress: true, 
    DeleteOnTermination: true, 
    }], 
    Placement: { 
    AvailabilityZone: 'us-west-2', 
    }, 
    SecurityGroupIds: [ 
    'sg-b0307ccd', 
    ], 
    SecurityGroups: [ 
    'CAB432Assignment2SG', 
    ], 

}; 
ec2.runInstances(params, function(err, data) { 
    if (err){ 
    console.log(err, err.stack); //An error occurred 
    } 
    else{ 
    console.log(data); //Successful Response 
    } 
}); 

私はこのコードが間違っていることを知っています。私はただそれを修正することを知らない。私が得るエラーは次のとおりです。

CredentialsError: Missing credentials in config

ご協力いただければ幸いです。

+0

何らかの理由でCognitoアカウントでログインしていますか? –

+0

私はちょうど設定を行うときにエラーは表示されません。私はruninstancesを呼び出すときにのみエラーを取得します。私は自分のアクセスキーで認証する方法を探しています –

+0

どのアクセスキーですか?コード内のどこにでもアクセスキーを使用しているとは思いません。あなたはCognitoでログインして、何とかアクセスキーを取得していますか?あなたが標準的なIAMアクセスキーと秘密鍵を持っているような音がして、あなたは間違った経路をたどってこのCognitoのものを含めようとしています。 –

答えて

2

は完全にコードのこのセクションを削除します。

//Authenticate AWS: 
var myCredentials = new AWS.CognitoIdentityCredentials({ 
    IdentityPoolId:'us-west-2:IdentityPoolID' 
}); 

var myConfig = new AWS.Config({ 
    credentials: myCredentials, region: 'us-west-2' 
}); 

AWS.config = myConfig 

変更をこの:これに

var ec2 = new AWS.EC2(); 

var ec2 = new AWS.EC2({region: 'us-west-2'}); 

次にSetting Credentials in Node.jsドキュメントで、このページを読んで行きます。特に、次のいずれかを実行する必要があります。

  • EC2インスタンスがEC2で実行されている場合、IAMロールをこのインスタンスに追加します。
  • ラムダで実行されている場合は、ラムダ関数にIAM実行ロールを追加します。
  • ~/.aws/credentialsファイルをキーで作成してください。これはthe AWS CLIがインストールされている場合にaws configureコマンドで実行できます。
  • 環境変数としてキーを設定します。
+0

共有の資格情報ファイルを使用しています。私は今、rrrorのAuthFailure:Credentialにスラッシュで区切られた要素を正確に5つ持つ必要があります。 keyid/date/region/service/term、 'アクセス権' –

+0

資格情報ファイルを開き、そこにある値を確認します。 –

+0

それは 'credentials'と呼ばれる必要があり、アクセスキーと秘密鍵は" "にある必要はありませんか? –

関連する問題