[ 
https://issues.apache.org/jira/browse/SPARK-6220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14586616#comment-14586616
 ] 

Daniel LaBar commented on SPARK-6220:
-------------------------------------

Ok, I'll create a new JIRA with a reference to this one.

Thanks for checking the commit.  Our IT security team only gives us AWS keys 
for a "service account", but we don't have access to EC2, EMR, S3, etc. from 
this account.  In order to do anything useful we have to switch roles using the 
service account credentials and MFA.  But the Spark EC2 script doesn't seem to 
work with anything other than the AWS key/secret.  So I use the service account 
credentials to create an EC2 instance with an IAM profile that can do useful 
things.  I SSH into that EC2 instance, and then launch the EC2 Spark cluster 
from there using the modified spark_ec2.py script.

> Allow extended EC2 options to be passed through spark-ec2
> ---------------------------------------------------------
>
>                 Key: SPARK-6220
>                 URL: https://issues.apache.org/jira/browse/SPARK-6220
>             Project: Spark
>          Issue Type: Improvement
>          Components: EC2
>            Reporter: Nicholas Chammas
>            Priority: Minor
>
> There are many EC2 options exposed by the boto library that spark-ec2 uses. 
> Over time, many of these EC2 options have been bubbled up here and there to 
> become spark-ec2 options.
> Examples:
> * spot prices
> * placement groups
> * VPC, subnet, and security group assignments
> It's likely that more and more EC2 options will trickle up like this to 
> become spark-ec2 options.
> While major options are well suited to this type of promotion, we should 
> probably allow users to pass through EC2 options they want to use through 
> spark-ec2 in some generic way.
> Let's add two options:
> * {{--ec2-instance-option}} -> 
> [{{boto::run}}|http://boto.readthedocs.org/en/latest/ref/ec2.html#boto.ec2.image.Image.run]
> * {{--ec2-spot-instance-option}} -> 
> [{{boto::request_spot_instances}}|http://boto.readthedocs.org/en/latest/ref/ec2.html#boto.ec2.connection.EC2Connection.request_spot_instances]
> Each option can be specified multiple times and is simply passed directly to 
> the underlying boto call.
> For example:
> {code}
> spark-ec2 \
>     ...
>     --ec2-instance-option "instance_initiated_shutdown_behavior=terminate" \
>     --ec2-instance-option "ebs_optimized=True"
> {code}
> I'm not sure about the exact syntax of the extended options, but something 
> like this will do the trick as long as it can be made to pass the options 
> correctly to boto in most cases.
> I followed the example of {{ssh}}, which supports multiple extended options 
> similarly.
> {code}
> ssh -o LogLevel=ERROR -o UserKnowHostsFile=/dev/null ...
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to