長話短說,我使用 s3cmd 來操作 S3 儲存桶,並將存取憑證複製到新的「smlamazon」部分下的environments.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 完全訪問 筆記- 如果您處於公司環境中,這可能會違反存取策略。如果您需要特定可用區的分段權限或自訂存取級別,您應該諮詢管理員。這可以由您的管理員生成,也可以按照 AWS IAM 策略教學課程產生。