簡単に言うと、私は s3cmd を使用して S3 バケットを操作し、アクセス資格情報を新しい「smlamazon」セクションの下にある environment.yaml にコピーしましたが、ブートストラップでアクセスが拒否されて失敗します。
mitchy$ s3cmd ls
2013-11-08 18:49 s3://sml-juju
2012-11-27 14:38 s3://sml-public
2013-05-27 15:45 s3://sml-website-backups
mitchy$ juju bootstrap --constraints "cpu-power=0 mem=512M" -v
verbose is deprecated with the current meaning, use show-log
2013-11-08 18:53:53 INFO juju.environs open.go:156 environment info already exists; using New not Prepare
2013-11-08 18:53:53 INFO juju.provider.ec2 ec2.go:193 opening environment "smlamazon"
2013-11-08 18:53:54 ERROR juju supercommand.go:282 Access Denied
基本的に、「amazon」ブロックをコピーして「smlamazon」に名前を変更し、アクセス キーとシークレット キー (および s3 と管理者シークレット) を更新しました。
何が足りないのでしょうか?
答え1
Juju には、S3 バケットと EC2 インスタンスを制御するためのアクセスが必要です。アクセス認証情報が AWS IAM から生成されたキーである場合、セキュリティ認証情報に正しいアクセス グループ ポリシーを追加していない可能性があります。このアクセス キー ペアを付与して AWS インフラストラクチャをプロビジョニングするには、次の手順を実行できます。
IAMコントロールパネルにアクセスする
アクセスキーとシークレットアクセスキーを取得する
ユーザーを選択し、ポリシーテンプレートを設定する
EC2フルアクセスとS3フルアクセスを選択 注記- 企業環境の場合、アクセス ポリシーに違反する可能性があります。特定の AZ またはカスタム アクセス レベルへのセグメント化されたアクセス許可が必要な場合は、管理者に確認してください。これは、管理者によって、または AWS IAM ポリシー チュートリアルに従って生成できます。