As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Configurar EMR CloudFormation modelos da Amazon no Service Catalog
Este tópico pressupõe que os administradores estejam familiarizados com AWS CloudFormationos portfólios e produtos da Amazon. AWS Service Catalog EMR
Para simplificar a criação de EMR clusters da Amazon a partir do Studio, os administradores podem registrar um EMR CloudFormation modelo da Amazon como um produto em um AWS Service Catalogportfólio. Para disponibilizar o modelo aos cientistas de dados, eles devem associar o portfólio à função de SageMaker execução usada no Studio ou no Studio Classic. Por fim, para permitir que os usuários descubram modelos, provisionem clusters e se conectem aos EMR clusters da Amazon a partir do Studio ou do Studio Classic, os administradores precisam definir as permissões de acesso apropriadas.
Os EMR AWS CloudFormation modelos da Amazon podem permitir que os usuários finais personalizem vários aspectos do cluster. Por exemplo, os administradores podem definir uma lista aprovada de tipos de instância que os usuários podem escolher ao criar um cluster.
As instruções a seguir usam end-to-end CloudFormation pilhas
nota
O GitHub repositório aws-samples/ sagemaker-studio-emr
O repositório sagemaker-studio-emr/cloudformation/emr_servicecatalog_templates
Consulte Conecte-se a um EMR cluster da Amazon a partir do SageMaker Studio ou do Studio Classic para obter detalhes sobre os métodos de autenticação que você pode usar para se conectar a um EMR cluster da Amazon.
Para permitir que cientistas de dados descubram EMR CloudFormation modelos da Amazon e provisionem clusters do Studio ou do Studio Classic, siga estas etapas.
Etapa 0: verifique sua rede e prepare sua CloudFormation pilha
Antes de começar:
-
Verifique se você analisou os requisitos de rede e segurança emConfigurar redes.
-
Você deve ter uma end-to-end CloudFormation pilha existente que ofereça suporte ao método de autenticação de sua escolha. Você pode encontrar exemplos desses CloudFormation modelos no repositório sagemaker-studio-emr GitHub aws-samples/
. As etapas a seguir destacam as configurações específicas em sua end-to-end pilha para permitir o uso de EMR modelos da Amazon no Studio ou no Studio Classic.
Etapa 1: Associar seu portfólio do Service Catalog ao SageMaker
Em seu portfólio do Service Catalog, associe seu ID de portfólio à função de SageMaker execução que acessa seu cluster.
Para fazer isso, adicione a seção a seguir (aqui em YAML formato) à sua pilha. Isso concede à função de SageMaker execução acesso ao portfólio especificado do Service Catalog contendo produtos como os EMR modelos da Amazon. Ele permite que as funções assumidas pela SageMaker lancem esses produtos.
Substituir SageMakerExecutionRole.Arn
e SageMakerStudioEMRProductPortfolio.ID
com seus valores reais.
SageMakerStudioEMRProductPortfolioPrincipalAssociation: Type: AWS::ServiceCatalog::PortfolioPrincipalAssociation Properties: PrincipalARN:
SageMakerExecutionRole.Arn
PortfolioId:SageMakerStudioEMRProductPortfolio.ID
PrincipalType: IAM
nota
Qual função de execução você deve considerar?
A interface do usuário do Studio determina suas permissões a partir da função de execução associada ao perfil de usuário que a iniciou. A interface do usuário define essas permissões no momento do lançamento. No entanto, os espaços que iniciam JupyterLab os aplicativos do Studio Classic podem ter permissões separadas.
Para obter acesso consistente aos EMR modelos e clusters da Amazon em todos os aplicativos (como a interface do usuário do Studio e o Studio Classic), conceda o mesmo subconjunto de permissões para todas as funções no domínio, no perfil do usuário ou no nível do espaço. JupyterLab As permissões devem permitir a descoberta e o provisionamento de clusters da AmazonEMR.
Para obter detalhes sobre o conjunto de IAM permissões necessário, consulte a seção de permissões.
Etapa 2: referenciar um EMR modelo da Amazon em um produto do Service Catalog
Em um produto do Service Catalog do seu portfólio, faça referência a um recurso de EMR modelo da Amazon e garanta sua visibilidade no Studio ou no Studio Classic.
Para fazer isso, faça referência ao recurso de EMR modelo da Amazon na definição do produto Service Catalog e, em seguida, adicione o seguinte "sagemaker:studio-visibility:emr"
conjunto de chaves de tag ao valor "true"
(veja o exemplo em YAML formato).
Na definição do produto Service Catalog, o AWS CloudFormation modelo do cluster é referenciado por meio URL de. A tag adicional definida como true garante a visibilidade dos EMR modelos da Amazon no Studio ou no Studio Classic.
nota
O EMR modelo da Amazon referenciado pelo fornecido URL no exemplo não impõe nenhum requisito de autenticação quando lançado. Essa opção é destinada a fins de demonstração e aprendizado. Não é recomendado em um ambiente de produção.
SMStudioEMRNoAuthProduct: Type: AWS::ServiceCatalog::CloudFormationProduct Properties: Owner: AWS Name: SageMaker Studio Domain No Auth EMR ProvisioningArtifactParameters: - Name: SageMaker Studio Domain No Auth EMR Description: Provisions a SageMaker domain and No Auth EMR Cluster Info: LoadTemplateFromURL:
Link to your CloudFormation template. For example, https://aws-blogs-artifacts-public.s3.amazonaws.com/artifacts/astra-m4-sagemaker/end-to-end/CFN-EMR-NoStudioNoAuthTemplate-v3.yaml
Tags: - Key: "sagemaker:studio-visibility:emr" Value: "true"
Etapa 3: parametrizar o modelo da Amazon EMR CloudFormation
O CloudFormation modelo usado para definir o EMR cluster da Amazon dentro do produto Service Catalog permite que os administradores especifiquem parâmetros configuráveis. Os administradores podem definir Default
valores e AllowedValues
intervalos para esses parâmetros na Parameters
seção do modelo. Durante o processo de lançamento do cluster, os cientistas de dados podem fornecer entradas personalizadas ou fazer seleções a partir dessas opções predefinidas para personalizar certos aspectos do cluster da Amazon. EMR
O exemplo a seguir ilustra parâmetros de entrada adicionais que os administradores podem definir ao criar um modelo da AmazonEMR.
"Parameters": { "EmrClusterName": { "Type": "String", "Description": "EMR cluster Name." }, "MasterInstanceType": { "Type": "String", "Description": "Instance type of the EMR master node.", "Default": "m5.xlarge", "AllowedValues": [ "m5.xlarge", "m5.2xlarge", "m5.4xlarge" ] }, "CoreInstanceType": { "Type": "String", "Description": "Instance type of the EMR core nodes.", "Default": "m5.xlarge", "AllowedValues": [ "m5.xlarge", "m5.2xlarge", "m5.4xlarge", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge" ] }, "CoreInstanceCount": { "Type": "String", "Description": "Number of core instances in the EMR cluster.", "Default": "2", "AllowedValues": [ "2", "5", "10" ] }, "EmrReleaseVersion": { "Type": "String", "Description": "The release version of EMR to launch.", "Default": "emr-5.33.1", "AllowedValues": [ "emr-5.33.1", "emr-6.4.0" ] } }
Depois que os administradores disponibilizarem os EMR CloudFormation modelos da Amazon no Studio, os cientistas de dados poderão usá-los para autoprovisionar clusters da AmazonEMR. A Parameters
seção definida no modelo se traduz em campos de entrada no formulário de criação de cluster no Studio ou no Studio Classic. Para cada parâmetro, os cientistas de dados podem inserir um valor personalizado na caixa de entrada ou selecionar entre as opções predefinidas listadas em um menu suspenso, que corresponde ao AllowedValues
especificado no modelo.
A ilustração a seguir mostra o formulário dinâmico montado a partir de um EMR modelo da CloudFormation Amazon para criar um EMR cluster da Amazon no Studio ou no Studio Classic.
![Ilustração de um formulário dinâmico montado a partir de um EMR modelo da CloudFormation Amazon para criar um EMR cluster da Amazon a partir do Studio ou do Studio Classic.](images/studio/emr/studio-notebooks-emr-cluster-creation.png)
Visite Inicie um EMR cluster da Amazon a partir do Studio ou do Studio Classic para saber como lançar um cluster do Studio ou do Studio Classic usando esses EMR modelos da Amazon.
Etapa 4: configurar as permissões para permitir a listagem e o lançamento de EMR clusters da Amazon a partir do Studio
Por fim, anexe IAM as permissões necessárias para permitir a listagem de EMR clusters Amazon existentes em execução e o autoprovisionamento de novos clusters do Studio ou do Studio Classic.
As funções às quais você deve adicionar essas permissões dependem se o Studio ou o Studio Classic e a Amazon EMR estão implantados na mesma conta (escolha Conta única) ou em contas diferentes (escolha Conta cruzada).
nota
Atualmente, o Studio não oferece suporte ao acesso aos EMR clusters da Amazon criados em uma AWS conta diferente da conta na qual o Studio está implantado. O acesso entre contas está disponível somente no Studio Classic.
Para obter mais informações sobre o acesso entre contas usando funções, consulte Acesso a recursos entre contas em IAM.
Se seus EMR clusters da Amazon e o Studio ou o Studio Classic estiverem implantados na mesma AWS conta, anexe as seguintes permissões à função de SageMaker execução que acessa seu cluster.
nota
Qual função de execução você deve considerar?
A interface do usuário do Studio determina suas permissões a partir da função de execução associada ao perfil de usuário que a iniciou. A interface do usuário define essas permissões no momento do lançamento. No entanto, os espaços que iniciam JupyterLab os aplicativos do Studio Classic podem ter permissões separadas.
Para obter acesso consistente aos EMR modelos e clusters da Amazon em todos os aplicativos (como a interface do usuário do Studio e o Studio Classic), conceda o mesmo subconjunto de permissões para todas as funções no domínio, no perfil do usuário ou no nível do espaço. JupyterLab As permissões devem permitir a descoberta e o provisionamento de clusters da AmazonEMR.
-
Encontre a função de execução do seu domínio, perfil de usuário ou espaço. Para obter informações sobre como recuperar a função de execução, consulteObtenha sua função de execução.
-
Abra o console do IAM em https://console.aws.amazon.com/sagemaker/
. -
Escolha Funções e, em seguida, pesquise a função que você criou digitando o nome da função no campo Pesquisar.
-
Siga o link para sua função.
-
Escolha Adicionar permissões e, em seguida, Criar política em linha.
-
Na JSONguia, adicione a seguinte JSON política com as permissões:
-
AllowPresignedUrl
permite gerar pré-assinados URLs para acessar a interface do usuário do Spark a partir do Studio ou do Studio Classic. -
AllowClusterDiscovery
eAllowClusterDetailsDiscovery
permita listar e descrever EMR clusters da Amazon na conta/região do Studio ou do Studio Classic. -
AllowEMRTemplateDiscovery
permite pesquisar EMR modelos da Amazon no Service Catalog. O Studio e o Studio Classic usam isso para mostrar os modelos disponíveis. -
AllowSagemakerProjectManagement
permite criar e excluir. Em SageMaker, o acesso ao AWS Service Catalog é gerenciado por meio deAutomatize MLOps com projetos SageMaker .
A IAM política definida no fornecido JSON concede essas permissões. Substituir
studio-region
estudio-account
com os valores reais de sua região e ID da AWS conta antes de copiar a lista de extratos para a política embutida de sua função.{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPresignedUrl", "Effect": "Allow", "Action": [ "elasticmapreduce:CreatePersistentAppUI", "elasticmapreduce:DescribePersistentAppUI", "elasticmapreduce:GetPersistentAppUIPresignedURL", "elasticmapreduce:GetOnClusterAppUIPresignedURL" ], "Resource": [ "arn:aws:elasticmapreduce:
studio-region
:studio-account
:cluster/*" ] }, { "Sid": "AllowClusterDetailsDiscovery", "Effect": "Allow", "Action": [ "elasticmapreduce:DescribeCluster", "elasticmapreduce:ListInstances", "elasticmapreduce:ListInstanceGroups", "elasticmapreduce:DescribeSecurityConfiguration" ], "Resource": [ "arn:aws:elasticmapreduce:studio-region
:studio-account
:cluster/*" ] }, { "Sid": "AllowClusterDiscovery", "Effect": "Allow", "Action": [ "elasticmapreduce:ListClusters" ], "Resource": "*" }, { "Sid": "AllowEMRTemplateDiscovery", "Effect": "Allow", "Action": [ "servicecatalog:SearchProducts" ], "Resource": "*" }, { "Sid": "AllowSagemakerProjectManagement", "Effect": "Allow", "Action": [ "sagemaker:CreateProject", "sagemaker:DeleteProject" ], "Resource": "arn:aws:sagemaker:studio-region
:studio-account
:project/*" } ] } -
-
Escolha Avançar e, em seguida, forneça um nome de política.
-
Escolha Criar política.
Se seus EMR clusters da Amazon e o Studio ou o Studio Classic forem implantados em AWS contas separadas, você configura as permissões em ambas as contas.
Na EMR conta da Amazon
Na conta em que a Amazon EMR está implantada, também chamada de conta confiável, crie uma IAM função personalizada nomeada ASSUMABLE-ROLE
com a seguinte configuração:
-
Permissões: conceda as permissões necessárias para
ASSUMABLE-ROLE
permitir o acesso aos EMR recursos da Amazon. -
Relação de confiança: configure a política de confiança
ASSUMABLE-ROLE
para permitir assumir a função da conta do Studio que requer acesso.
Ao assumir a função, o Studio ou o Studio Classic podem obter acesso temporário às permissões necessárias na AmazonEMR.
-
Crie uma nova política para a função.
-
Abra o console do IAM em https://console.aws.amazon.com/sagemaker/
. -
No menu à esquerda, escolha Políticas e, em seguida, Criar política.
-
Na JSONguia, adicione a seguinte JSON política com as permissões:
-
AllowPresignedUrl
permite gerar pré-assinados URLs para acessar a interface do usuário do Spark de dentro do Studio. -
AllowClusterDiscovery
eAllowClusterDetailsDiscovery
permite listar e descrever EMR clusters da Amazon na conta/região do Studio.
Substituir
emr-region
eemr-account
com seus valores reais de região e ID AWS da conta antes de copiá-los JSON para sua apólice.{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPresignedUrl", "Effect": "Allow", "Action": [ "elasticmapreduce:CreatePersistentAppUI", "elasticmapreduce:DescribePersistentAppUI", "elasticmapreduce:GetPersistentAppUIPresignedURL", "elasticmapreduce:GetOnClusterAppUIPresignedURL" ], "Resource": [ "arn:aws:elasticmapreduce:
emr-region
:emr-account
:cluster/*" ] }, { "Sid": "AllowClusterDetailsDiscovery", "Effect": "Allow", "Action": [ "elasticmapreduce:DescribeCluster", "elasticmapreduce:ListInstances", "elasticmapreduce:ListInstanceGroups", "elasticmapreduce:DescribeSecurityConfiguration" ], "Resource": [ "arn:aws:elasticmapreduce:emr-region
:emr-account
:cluster/*" ] }, { "Sid": "AllowClusterDiscovery", "Effect": "Allow", "Action": [ "elasticmapreduce:ListClusters" ], "Resource": "*" } ] } -
-
Dê um nome à sua política e escolha Criar política.
-
-
Crie uma IAM função personalizada chamada e
ASSUMABLE-ROLE
, em seguida, anexe sua nova política à função.-
No IAM console, escolha Funções no menu à esquerda e, em seguida, Criar função.
-
Para Tipo de entidade confiável, escolha AWS conta e, em seguida, Avançar.
-
Selecione a permissão que você acabou de criar e escolha Avançar.
-
Dê um nome à sua função
ASSUMABLE-ROLE
e escolha o botão Editar à direita da Etapa 1: Selecionar entidades confiáveis. -
Para Tipo de entidade confiável, escolha Política de confiança personalizada e cole a seguinte relação de confiança. Isso concede à conta em que o Studio está implantado (a conta confiável) a permissão para assumir essa função.
Substituir
studio-account
com o ID real AWS da conta. Escolha Próximo.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
studio-account
:root" }, "Action": "sts:AssumeRole" } ] } -
Encontre e selecione a permissão que você acabou de criar novamente e escolha Avançar.
-
Sua política de confiança deve ser atualizada com a última versão JSON que você colou. Selecione Criar função.
-
Para obter mais informações sobre como criar uma função em uma AWS conta, consulte Criação de uma IAM função (console).
Na conta do Studio
Na conta em que o Studio ou o Studio Classic está implantado, também chamada de conta confiável, atualize a função de SageMaker execução acessando seu cluster com as permissões necessárias para acessar recursos na conta confiável.
nota
Qual função de execução você deve considerar?
A interface do usuário do Studio determina suas permissões a partir da função de execução associada ao perfil de usuário que a iniciou. A interface do usuário define essas permissões no momento do lançamento. No entanto, os espaços que iniciam JupyterLab os aplicativos do Studio Classic podem ter permissões separadas.
Para obter acesso consistente aos EMR modelos e clusters da Amazon em todos os aplicativos (como a interface do usuário do Studio e o Studio Classic), conceda o mesmo subconjunto de permissões para todas as funções no domínio, no perfil do usuário ou no nível do espaço. JupyterLab As permissões devem permitir a descoberta e o provisionamento de clusters da AmazonEMR.
-
Encontre a função de execução do seu domínio, perfil de usuário ou espaço. Para obter informações sobre como recuperar a função de execução, consulteObtenha sua função de execução.
-
Abra o console do IAM em https://console.aws.amazon.com/sagemaker/
. -
Escolha Funções e, em seguida, pesquise a função que você criou digitando o nome da função no campo Pesquisar.
-
Siga o link para sua função.
-
Escolha Adicionar permissões e, em seguida, Criar política em linha.
-
Na JSONguia, adicione a seguinte JSON política com as permissões:
-
AllowEMRTemplateDiscovery
permite pesquisar EMR modelos da Amazon no Service Catalog. O Studio Classic usa isso para mostrar os modelos disponíveis. -
AllowSagemakerProjectManagement
permite criar e excluir. Em SageMaker, o acesso ao AWS Service Catalog é gerenciado por meio deAutomatize MLOps com projetos SageMaker .
A IAM política definida no fornecido JSON concede essas permissões. Substituir
studio-region
estudio-account
com seus valores reais de região e ID AWS da conta antes de copiar a lista de extratos para sua apólice.{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowEMRTemplateDiscovery", "Effect": "Allow", "Action": [ "servicecatalog:SearchProducts" ], "Resource": "*" }, { "Sid": "AllowSagemakerProjectManagement", "Effect": "Allow", "Action": [ "sagemaker:CreateProject", "sagemaker:DeleteProject" ], "Resource": "arn:aws:sagemaker:
studio-region
:studio-account
:project/*" } ] } -
-
Escolha Avançar e, em seguida, forneça um nome de política.
-
Escolha Criar política.
-
Repita a etapa para adicionar outra política em linha à função de execução do Studio. A política deve permitir a suposição de funções entre contas para descobrir recursos em outra conta.
Na página de detalhes da função de execução, escolha Adicionar permissões e, em seguida, Criar política embutida.
-
Na JSONguia, adicione a JSON política a seguir. Atualize o
emr-account
com o ID da EMR conta da Amazon.{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRoleAssumptionForCrossAccountDiscovery", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": ["arn:aws:iam::
emr-account
:role/ASSUMABLE-ROLE
" ] }] } -
Escolha Avançar, forneça um nome de política e escolha Criar política.
-
Para permitir a listagem de EMR clusters da Amazon implantados na mesma conta do Studio, adicione uma política embutida adicional à sua função de execução do Studio, conforme definido na guia Conta única do. Configurar a listagem de EMR clusters da Amazon
Passe a função ARN no lançamento do servidor Jupyter
Por fim, veja Configuração adicional para acesso entre contas para saber como fornecer o ARN do ASSUMABLE-ROLE
para sua função de execução do Studio. O ARN é carregado pelo servidor Jupyter no lançamento. A função de execução usada pelo Studio assume essa função entre contas para descobrir e se conectar aos EMR clusters da Amazon na conta confiável.