圖片來源:financialbuzz
上面是我收到這兩個月AWS 帳單的表情....靠妖怎麼那麼貴!?我不是已經用了Reserved Instance 了?使用AWS的優點是收費彈性,但是這也是恐怖的地方,如果沒有設定好,以及隨時監控,你的錢就會在無形中燃燒殆盡....
hadoop fs -cat s3n://<your bucket name>/test or hadoop fs -cat s3://<your bucket name>/test這時候問題來了....那S3要設定怎樣的權限? 如何讓EMR存取?這時候就要使用IAM
An AWS Identity and Access Management (IAM) role is a way to delegate access so IAM users or services in AWS can act on your AWS resources. You create an IAM role and assign permissions to it, such as the ability to read and write data in one of your Amazon S3 buckets. When an IAM user or a service in AWS assumes that IAM role, they gain the specified permissions to access your AWS resources.簡單來說就是使用IAM 的設定以後,理論上我就不需要把我的accessKey 和 secureKey 設定到每一台instance裡面,就可以直接存取AWS Resource 的資源。
Amazon EMR uses IAM roles so that applications running on the EC2 instances of your cluster can access your AWS resources without the need to distribute your AWS account or IAM user credentials to those EC2 instances
Launching a cluster with IAM roles is currently not supported in the Amazon EMR console. If you need to use IAM roles in your cluster, launch the cluster using the CLI or the API.
fs.s3n.awsSecretAccessKey
fs.s3n.awsAccessKeyId
但是如果使用IAM,並且給予S3的權限,所以在你的core-site.xml 裡面就不會有SecureKey和AccessKey的出現。
『太空,人類的終極邊疆。星艦企業號的旅程就是為了探索陌生的新世界,去尋找宇宙中的新生命與新文明,勇敢航向人類足跡從未踏至的領域。』不知道為什麼就很想用這個梗,大概我跟也迷航在Openstack的功能與設定裡面了...Orz..不知道何時雲端運算會變成銀河運算或是宇宙運算....(誤)
EC2 API method
|
實際測試 | |
AllocateAddress
|
無法測試 | |
AssociateAddress
|
無法測試 | |
AttachVolume
|
ok | |
AuthorizeSecurityGroupIngress
|
||
BundleInstance
|
||
CancelBundleTask
|
||
CancelSpotInstanceRequests
|
||
ConfirmProductInstance
|
||
CreateImage
|
||
CreateKeyPair
|
ok | |
CreatePlacementGroup
|
||
CreateSecurityGroup
|
ok | |
CreateSnapshot
|
||
CreateSpotDatafeedSubscription
|
||
CreateTags
|
||
CreateVolume
|
ok | |
DeleteKeyPair
|
無法測試 | |
DeletePlacementGroup
|
||
DeleteSecurityGroup
|
||
DeleteSnapshot
|
||
DeleteSpotDatafeedSubscription
|
||
DeleteTags
|
||
DeleteVolume
|
ok | |
DeregisterImage
|
無法測試 | |
DescribeAddresses
|
空的 | |
DescribeAvailabilityZones
|
||
DescribeBundleTasks
|
||
DescribeImageAttribute
|
||
DescribeImages
|
ok | |
DescribeInstanceAttribute
|
||
DescribeInstances
|
ok | |
DescribeKeyPairs
|
ok | |
DescribePlacementGroups
|
||
DescribeRegions
|
||
DescribeReservedInstances
|
||
DescribeReservedInstancesOfferings
|
||
DescribeSecurityGroups
|
||
DescribeSnapshotAttribute
|
||
DescribeSnapshots
|
||
DescribeSpotDatafeedSubscription
|
||
DescribeSpotInstanceRequests
|
||
DescribeSpotPriceHistory
|
||
DescribeTags
|
||
DescribeVolumes
|
會有warn | |
DetachVolume
|
ok | |
DisassociateAddress
|
無法測試 | |
GetConsoleOutput
|
空的 | |
GetPasswordData
|
||
ImportKeyPair
|
UnknownError | |
ModifyImageAttribute
|
||
ModifyInstanceAttribute
|
||
ModifySnapshotAttribute
|
||
MonitorInstances
|
||
PurchaseReservedInstancesOffering
|
||
RebootInstances
|
ok | |
RegisterImage
|
||
ReleaseAddress
|
無法測試 | |
RequestSpotInstances
|
||
ResetImageAttribute
|
||
ResetInstanceAttribute
|
||
ResetSnapshotAttribute
|
||
RevokeSecurityGroupIngress
|
||
RunInstances
|
部分ok | |
StartInstances
|
ok | |
StopInstances
|
等同Terminate | |
TerminateInstances
|
ok | |
UnmonitorInstances
|