Otomatik kapanma Yaşam Döngüsü Yapılandırması ile SageMaker Studio'yu ve Terraform | SageMaker Canvas'ı desteklemek için yalnızca VPC modunda Amazon SageMaker Etki Alanı | Amazon Web Hizmetleri

Otomatik kapanma Yaşam Döngüsü Yapılandırması ile SageMaker Studio'yu ve Terraform | SageMaker Canvas'ı desteklemek için yalnızca VPC modunda Amazon SageMaker Etki Alanı | Amazon Web Hizmetleri

Amazon SageMaker Etki Alanı SageMaker Studio ve SageMaker Canvas dahil olmak üzere SageMaker makine öğrenimi (ML) ortamlarını destekler. Adaçayı Yapıcı Stüdyo veri hazırlamaktan makine öğrenimi modellerinizi oluşturmaya, eğitmeye ve dağıtmaya, veri bilimini geliştirmeye kadar tüm makine öğrenimi geliştirme adımlarını gerçekleştirmek için amaca yönelik olarak oluşturulmuş araçlara erişebileceğiniz tek bir web tabanlı görsel arayüz sağlayan tamamen entegre bir geliştirme ortamıdır (IDE). Ekip üretkenliğini 10 kata kadar artırın. SageMaker Kanvas İş analistlerine herhangi bir makine öğrenimi deneyimi gerektirmeden veya tek bir kod satırı yazmak zorunda kalmadan kendi başlarına doğru makine öğrenimi tahminleri oluşturmalarına olanak tanıyan görsel bir arayüz sağlayarak makine öğrenimine erişimi genişletir.

HashiCorp Terraformu altyapınızı yeniden kullanılabilir kod modülleri halinde düzenlemenize olanak tanıyan bir kod olarak altyapı (IaC) aracıdır. AWS müşterileri, SageMaker Domains gibi bulut altyapılarını tasarlamak, geliştirmek ve yönetmek için IaC'ye güveniyor. IaC, geliştirme operasyonları (DevOps) alanındaki en iyi uygulamaları takip ederken müşteri altyapısının ve hizmetlerinin tutarlı, ölçeklenebilir ve tekrarlanabilir olmasını sağlar. Terraform'u kullanarak SageMaker Etki Alanınızı ve onu destekleyen altyapıyı tutarlı ve tekrarlanabilir bir şekilde geliştirebilir ve yönetebilirsiniz.

Bu yazıda, bir SageMaker Etki Alanını dağıtmak için Terraform uygulamasını gösteriyoruz ve Amazon Sanal Özel Bulut (Amazon VPC) ile ilişkilendirilir. Çözüm, aşağıdakileri oluşturmak için Terraform'u kullanacak:

  • SageMaker Etki Alanı için yalnızca VPC modunu desteklemek üzere alt ağlara, güvenlik gruplarına ve ayrıca VPC uç noktalarına sahip bir VPC.
  • Yalnızca VPC modunda kullanıcı profiline sahip bir SageMaker Etki Alanı.
  • SageMaker Studio'nun Amazon Elastic File System (Amazon EFS) birimini şifrelemek için bir AWS Key Management Service (AWS KMS) anahtarı.
  • Boşta olan Studio dizüstü bilgisayar örneklerini otomatik olarak kapatmak için SageMaker Etki Alanına eklenen bir Yaşam Döngüsü Yapılandırması.
  • SageMaker Studio ve Canvas işlevlerini etkinleştirmek için bir SageMaker Etki Alanı yürütme rolü ve IAM politikaları.

Bu yazıda açıklanan çözüm şu adreste mevcuttur: GitHub repo.

Çözüme genel bakış

Aşağıdaki resimde SageMaker Etki Alanı yalnızca VPC modunda gösterilmektedir.

sagemaker_domain_vpc_only

SageMaker Domain'i VPC'nizde başlatarak SageMaker Studio ve Canvas ortamlarınızdaki veri akışını kontrol edebilirsiniz. Bu, internet erişimini kısıtlamanıza, standart AWS ağ ve güvenlik özelliklerini kullanarak trafiği izlemenize ve incelemenize ve VPC uç noktaları aracılığıyla diğer AWS kaynaklarına bağlanmanıza olanak tanır.

Yalnızca VPC modunu kullanmak için VPC gereksinimleri

Yalnızca VPC modunda bir SageMaker Etki Alanı oluşturmak için aşağıdaki yapılandırmalara sahip bir VPC gerekir:

  1. Yüksek kullanılabilirlik sağlamak için her biri farklı bir Erişilebilirlik Alanında bulunan en az iki özel alt ağ.
  2. Alt ağlarınızın gerekli sayıda IP adresine sahip olduğundan emin olun. Kullanıcı başına iki ila dört IP adresi öneriyoruz. Bir Studio alanının toplam IP adresi kapasitesi, alan oluşturulduğunda sağlanan her bir alt ağ için mevcut IP adreslerinin toplamıdır.
  3. Birlikte aşağıdaki trafiğe izin veren gelen ve giden kurallara sahip bir veya daha fazla güvenlik grubu oluşturun:
    • Etki alanı ile Amazon EFS birimi arasında 2049 numaralı bağlantı noktasında TCP üzerinden NFS trafiği.
    • Güvenlik grubu içindeki TCP trafiği. Bu, JupyterServer uygulaması ile KernelGateway uygulamaları arasındaki bağlantı için gereklidir. En azından 8192–65535 aralığındaki bağlantı noktalarına erişime izin vermelisiniz.
  4. Amazon Simple Storage Service (Amazon S3) için bir ağ geçidi uç noktası oluşturun. SageMaker Studio'nun, Gateway VPC uç noktalarını kullanarak VPC'nizden Amazon S3'e erişmesi gerekiyor. Ağ geçidi uç noktasını oluşturduktan sonra, bunu VPC'nizden Amazon S3'e yönlendirilen trafik için rota tablonuza hedef olarak eklemeniz gerekir.
  5. Studio'nun ilgili hizmet adlarıyla aşağıdaki hizmetlere erişmesine izin vermek için arayüz VPC uç noktaları (AWS PrivateLink) oluşturun. Ayrıca 443 numaralı bağlantı noktasından gelen tüm trafiğe izin vermek için VPC'niz için bir güvenlik grubunu bu uç noktalarla ilişkilendirmeniz gerekir:
    • SageMaker API'si: com.amazonaws.region.sagemaker.api. Bu, SageMaker API ile iletişim kurmak için gereklidir.
    • SageMaker çalışma zamanı: com.amazonaws.region.sagemaker.runtime. Bu, Studio not defterlerini çalıştırmak ve modelleri eğitmek ve barındırmak için gereklidir.
    • SageMaker Özellik Mağazası: com.amazonaws.region.sagemaker.featurestore-runtime. SageMaker Özellik Mağazasını kullanmak için bu gereklidir.
    • SageMaker Projeleri: com.amazonaws.region.servicecatalog. SageMaker Projelerini kullanmak için bu gereklidir.

SageMaker Canvas'ı kullanmak için ek VPC uç noktaları

Daha önce bahsedilen VPC uç noktalarına ek olarak SageMaker Canvas'ı kullanmak için aşağıdaki arayüz VPC uç noktalarını da oluşturmanız gerekir:

  • Amazon Tahmini ve Amazon Tahmini Sorgusu: com.amazonaws.region.forecast ve com.amazonaws.region.forecastquery. Bunlar Amazon Tahminini kullanmak için gereklidir.
  • Amazon Tanınması: com.amazonaws.region.rekognition. Amazon Rekognition'ı kullanmak için bu gereklidir.
  • Amazon Metni: com.amazonaws.region.textract. Amazon Textract'ı kullanmak için bu gereklidir.
  • Amazon Anlayın: com.amazonaws.region.comprehend. Amazon Comprehend'i kullanmak için bu gereklidir.
  • AWS Güvenlik Belirteci Hizmeti (AWS STS): com.amazonaws.region.sts. SageMaker Canvas, veri kaynaklarına bağlanmak için AWS STS kullandığından bu gereklidir.
  • Amazon Athena ve AWS Glue: com.amazonaws.region.athena ve com.amazonaws.region.glue. Bu, Amazon Athena aracılığıyla AWS Glue Data Catalog'a bağlanmak için gereklidir.
  • Amazon Kırmızıya Kayma: com.amazonaws.region.redshift-data. Bu, Amazon Redshift veri kaynağına bağlanmak için gereklidir.

SageMaker Canvas ile kullanabileceğiniz her hizmete ilişkin tüm VPC uç noktalarını görüntülemek için lütfen şu adrese gidin: Amazon SageMaker Canvas'ı internet erişimi olmayan bir VPC'de yapılandırma.

SageMaker Studio'nun EFS birimi için AWS KMS şifrelemesi

Ekibinizdeki bir kullanıcı SageMaker Studio'ya ilk katıldığında, SageMaker ekip için bir EFS birimi oluşturur. Ekibinizin bir parçası olarak Studio'ya katılan her kullanıcı için birimde bir giriş dizini oluşturulur. Not defteri dosyaları ve veri dosyaları bu dizinlerde saklanır.

SageMaker Studio'nuzun EFS birimini bir KMS anahtarıyla şifreleyebilirsiniz, böylece ana dizinlerinizdeki veriler kullanımda değilken şifrelenir. Bu Terraform çözümü bir KMS anahtarı oluşturur ve bunu SageMaker Studio'nun EFS birimini şifrelemek için kullanır.

Boşta olan Studio dizüstü bilgisayarlarını otomatik olarak kapatmak için SageMaker Etki Alanı Yaşam Döngüsü Yapılandırması

sagemaker_auto_shutdown

Yaşam Döngüsü Yapılandırmaları, yeni bir Studio not defterinin başlatılması gibi Amazon SageMaker Studio yaşam döngüsü olayları tarafından tetiklenen kabuk komut dosyalarıdır. Studio ortamınız için özelleştirmeyi otomatikleştirmek amacıyla Yaşam Döngüsü Yapılandırmalarını kullanabilirsiniz.

Bu Terraform çözümü, otomatik kapanma Jupyter uzantısını kullanarak Studio içinde maliyete neden olan boşta kalan kaynakları tespit etmek ve durdurmak için bir SageMaker Yaşam Döngüsü Yapılandırması oluşturur. Temel olarak, istenen sonucu elde etmek için aşağıdaki kaynaklar oluşturulur veya yapılandırılır:

  1. Bir S3 grubu oluşturun ve otomatik kapanma uzantısının en son sürümünü yükleyin sagemaker_studio_autoshutdown-0.1.5.tar.gz. Daha sonra otomatik kapatma komut dosyası çalıştırılacaktır. s3 cp Uzantı dosyasını Jupyter Sunucusu başlangıçlarındaki S3 klasöründen indirme komutu. Hakkında daha fazla bilgi için lütfen aşağıdaki GitHub depolarına bakın. otomatik kapanma uzantısı ve otomatik kapanma komut dosyası.
  2. Bir oluşturma aws_sagemaker_studio_lifecycle_config kaynak “auto_shutdown”. Bu kaynak şunları kodlayacaktır: autoshutdown-script.sh temel 64 ile SageMaker Etki Alanı için bir Yaşam Döngüsü Yapılandırması oluşturun.
  3. SageMaker Etki Alanı varsayılan kullanıcı ayarları için Yaşam Döngüsü Yapılandırmasını belirtin ve bunu varsayılan olarak ayarlayın.

SageMaker yürütme rolü IAM izinleri

Yönetilen bir hizmet olarak SageMaker, SageMaker tarafından yönetilen AWS donanımı üzerinde sizin adınıza işlemleri gerçekleştirir. SageMaker yalnızca kullanıcının izin verdiği işlemleri gerçekleştirebilir.

Bir SageMaker kullanıcısı bu izinleri bir IAM rolüyle (yürütme rolü olarak anılır) verebilir. Bir SageMaker Studio alanı oluşturduğunuzda, SageMaker varsayılan olarak yürütme rolünü oluşturmanıza olanak tanır. SageMaker kullanıcı profili rolünü değiştirerek kullanıcı profillerine erişimi kısıtlayabilirsiniz. Bu Terraform çözümü, aşağıdaki IAM politikalarını SageMaker yürütme rolüne ekler:

  • SageMaker yönetti AmazonSageMakerFullAccess politika. Bu politika, yürütme rolüne SageMaker Studio'yu kullanmak için tam erişim izni verir.
  • SageMaker Studio'nun EFS birimini şifrelemek için kullanılan KMS anahtarına erişim sağlayan müşteri tarafından yönetilen bir IAM politikası.
  • SageMaker yönetti AmazonSageMakerCanvasFullAccess ve AmazonSageMakerCanvasAIServicesAccess politikalar. Bu politikalar, yürütme rolüne SageMaker Canvas'ı kullanmak için tam erişim sağlar.
  • SageMaker Canvas'ta zaman serisi analizini etkinleştirmek için Amazon Forecast'e yönelik IAM güven politikasını da eklemeniz gerekir.

Çözüm yolu

Bu blog yazısında Terraform çözümünün nasıl dağıtılacağını gösteriyoruz. Dağıtımı yapmadan önce lütfen aşağıdaki önkoşulları karşıladığından emin olun:

Önkoşullar

  • Bir AWS hesabı
  • Yönetim erişimine sahip bir IAM kullanıcısı

Dağıtım adımları

Bu kılavuzu takip eden kullanıcılara birleşik bir dağıtım deneyimi sunmak için AWS CloudShell ile dağıtım sürecini gösteriyoruz. Tarayıcı tabanlı bir kabuk olan CloudShell'i kullanarak AWS Komut Satırı Arayüzü (AWS CLI) ile komut dosyalarını hızlı bir şekilde çalıştırabilir, AWS CLI'yi kullanarak hizmet API'lerini deneyebilir ve üretkenliğinizi artırmak için diğer araçları kullanabilirsiniz.

Terraform çözümünü dağıtmak için aşağıdaki adımları tamamlayın:

CloudShell başlatma ayarları

  • AWS Management Console'da oturum açın ve CloudShell hizmetini seçin.
  • Gezinti çubuğundaki Bölge seçicide şunu seçin: ABD Doğu (N. Virginia).

Tarayıcınız CloudShell terminalini açacaktır.

Terraform'u yükleyin

Sonraki adımlar CloudShell terminalinde yürütülmelidir.

Kontrol bu Hashicorp rehberi Amazon Linux için Terraform'u yüklemeye ilişkin güncel talimatlar için:

  • kurmak yum-config-manager Depolarınızı yönetmek için.
sudo yum install -y yum-utils

  • kullanım yum-config-manager resmi HashiCorp Linux deposunu eklemek için.
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo

  • Terraform'u yeni depodan yükleyin.
sudo yum -y install terraform

  • Terraform'un mevcut alt komutlarını listeleyerek kurulumun çalıştığını doğrulayın.
terraform -help

Beklenen çıktı:

Usage: terraform [-version] [-help] <command> [args] The available commands for execution are listed below. The most common, useful commands are shown first, followed by less common or more advanced commands. If you’re just getting started with Terraform, stick with the common commands. For the other commands, please read the help and docs before usage. …

Kod deposunu klonlayın

CloudShell terminalinde aşağıdaki adımları gerçekleştirin.

  • Depoyu klonlayın ve sagemaker-domain-vpconly-canvas-with-terraform klasörüne gidin:
git clone https://github.com/aws-samples/sagemaker-domain-vpconly-canvas-with-terraform.git cd sagemaker-domain-vpconly-canvas-with-terraform

  • Otomatik kapanma uzantısını indirin ve assets/auto_shutdown_template Klasör:
wget https://github.com/aws-samples/sagemaker-studio-auto-shutdown-extension/raw/main/sagemaker_studio_autoshutdown-0.1.5.tar.gz -P assets/auto_shutdown_template

Terraform çözümünü dağıtın

CloudShell terminalinde aşağıdaki Terraform komutlarını çalıştırın:

terraform init

Aşağıdaki gibi bir başarı mesajı görmelisiniz:

Terraform has been successfully initialized! You may now begin working with Terraform. Try running "terraform plan" to see any changes that are required for your infrastructure. All Terraform commands should now work...

Şimdi çalıştırabilirsiniz:

terraform plan

Planın oluşturulacak ana hatlarını çizdiği kaynaklardan memnun kaldıktan sonra şunları çalıştırabilirsiniz:

terraform apply

Giriş "Evet“ Dağıtımı onaylamanız istendiğinde.

Başarılı bir şekilde dağıtılırsa şuna benzeyen bir çıktı görmelisiniz:

Apply complete! Resources: X added, 0 changed, 0 destroyed.

SageMaker Studio ve Canvas'a Erişim

Artık VPC'mizle ilişkilendirilmiş bir Studio alanımız ve bu alanda bir kullanıcı profilimiz var.

sagemaker_domain

SageMaker Studio konsolunu kullanmak için Studio Kontrol Panelinde kullanıcı adınızı bulun (olmalıdır) defaultuser) ve Seç Stüdyo Aç.

Başardık! Artık SageMaker Studio ortamına bağlanmak için tarayıcınızı kullanabilirsiniz. Birkaç dakika sonra Studio ortamınızı oluşturmayı tamamlar ve başlatıcı ekranıyla karşılanırsınız.

studio_landing_page

SageMaker Canvas konsolunu kullanmak için Canvas Kontrol Panelinde kullanıcı adınızı bulun (olmalıdır) defaultuser) ve Kanvası Aç'ı seçin.

Artık SageMaker Canvas ortamına bağlanmak için tarayıcınızı kullanabilirsiniz. Birkaç dakika sonra Canvas ortamınızı oluşturmayı tamamlar ve başlatıcı ekranıyla karşılanırsınız.

canvas_landing_page

SageMaker Studio ve Canvas'ın sunduğu tüm işlevleri keşfetmekten çekinmeyin! SageMaker hakkında daha fazla bilgi edinmek için kullanabileceğiniz ek atölye çalışmaları ve eğitimler için lütfen Sonuç bölümüne bakın.

Temizlemek

Kaynaklarınızı temizlemek için aşağıdaki komutu çalıştırın:

terraform destroy

Bahşiş: Amazon EFS saklama politikasını “Retain” (varsayılan), “ sırasında sorunlarla karşılaşacaksınız.terraform destroy" çünkü Terraform, EFS birimi ve bununla ilişkili güvenlik grupları (SageMaker tarafından oluşturulan) hala mevcutken alt ağları ve VPC'yi silmeye çalışıyor. Bunu düzeltmek için önce AWS konsolunda EFS birimini manuel olarak silin, ardından alt ağları ve VPC'yi manuel olarak silin.

Sonuç

Bu yazıdaki çözüm size, SageMaker Studio ve SageMaker Canvas with Terraform dahil olmak üzere makine öğrenimi ortamlarını desteklemek için bir SageMaker Etki Alanı oluşturma yeteneği sağlar. SageMaker Studio, makine öğrenimi sürecindeki ağır yükü ortadan kaldıran, tam olarak yönetilen bir IDE sağlar. SageMaker Canvas ile iş kullanıcılarımız, herhangi bir kod yazmadan doğru tahminler yapmak için ML modellerini kolayca keşfedebilir ve oluşturabilir. Studio ve Canvas'ı bir VPC içinde başlatma olanağı ve EFS birimini şifrelemek için bir KMS anahtarının kullanılması sayesinde müşteriler, SageMaker ML ortamlarını gelişmiş güvenlikle kullanabilirler. Otomatik kapatma Yaşam Döngüsü Yapılandırması, müşterilerin boşta kalan Studio dizüstü bilgisayar bulut sunucularında maliyetten tasarruf etmesine yardımcı olur.

Bu çözümü test edin ve ne düşündüğünüzü bize bildirin. SageMaker Studio ve Sagemaker Canvas'ın nasıl kullanılacağı hakkında daha fazla bilgi için aşağıdakilere bakın:


Yazar Hakkında

chen_yang_awsÇen Yang Amazon Web Services'te Makine Öğrenimi Mühendisidir. AWS Profesyonel Hizmetler ekibinin bir parçasıdır ve müşteriler için güvenli makine öğrenimi ortamları oluşturmaya odaklanmaktadır. Boş zamanlarında Kuzeybatı Pasifik'te koşmayı ve yürüyüş yapmayı seviyor.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi