Sunucu kurulumu
GCP
Desteği biten Linux sunucularını kullanıcı yapılandırmasına dokunmadan modernize etmek
Uzun ömürlü iki sunucu desteği bitmiş bir dağıtımda duruyordu: bir R Shiny sunucusu ve bir bilimsel lisans sunucusu. Shiny sunucusunu LTS sürümleri boyunca yerinde ve kademeli yükselttik, tüm R paketlerini kaynaktan yeniden derledik, veri kaybetmedik. Lisans sunucusunu kendi yazdığımız adım adım runbook'la temiz ve güncel bir kuruluma taşıdık; disk ayak izini de belirgin şekilde küçülttük. Kullanıcı tarafındaki yapılandırmayı ikisinde de bozmadan geçirdik.
- Ubuntu Pro/ESM
- R
- RStudio Server
- Shiny Server
- nginx
- Schrödinger
- Maestro
Ağ ve VPN
AWS + GCP
AWS ve GCP arasında yüksek kullanılabilirlikli VPN
Araştırma iş yüklerinin diğer buluttaki lisans sunucusuna ve dizine erişmesi gerekiyordu; önce tek tünelle köprüledik, sonra bunu çift tünelli yüksek kullanılabilirlikli site-to-site VPN olarak yeniden kurduk. İkinci buluttaki sunucuyu birincideki yönetilen dizin domainine üye yaptık, tam bağlantı matrisini diyagramla belgeledik ve ağ erişimini yalnız lisans sunucusuna daralttık. Sonraki tünel uç-nokta değişikliklerini BGP doğrulamasıyla, kesintisiz uyguladık.
- AWS Site-to-Site VPN
- GCP HA VPN
- Cloud Router
- BGP
- AWS Managed AD
- Shared VPC
AWS
Yatay harekete karşı security group mimarisinin standartlaştırılması
Security group'lar sunucu başına büyümüş, yatay hareket için açık yollar bırakmıştı. Sunucu yerine kullanım sınıfına dayalı bir standart önerdik (public ve private katmanlar, minimum açık port, ön koşul olarak VPN) ve önce DEV sonra PROD sırasıyla uyguladık. Geçişte atlanan portları sorun çıkmadan yakaladık, domain dışı yerel yönetici hesaplarını da aynı turda temizledik.
- EC2
- Security Groups
- VPC
- AWS SSO
- Site-to-Site VPN
Domain, DNS ve SSL
AWS
Süresi dolan VPN sertifika zincirinden kurtarma
Yönetilen Client VPN'in arkasındaki CA, sunucu ve istemci sertifikalarının süresi dolduğunda bütün kullanıcıların erişimi aynı anda kesildi. Kök nedeni VPN loglarındaki süresi-dolmuş zincirden çıkardık, sertifikaları aynı gün yeniledik ve istemci yapılandırmasını yeniden dağıttık; erişim çalışma günü içinde geri geldi. Olayın önünü açan boşluğu (sertifika yöneticisinde süre-bitimi uyarısı yoktu) kayda geçirip yenilemeyi takvime bağladık.
- AWS Client VPN
- ACM
- OpenVPN
- CloudWatch
- PKI
Buluta taşıma
AWS + GCP
Araştırma uygulama yığınının ikinci buluta taşınması
Bir buluttan diğerine taşıdığımız uygulamalar taşıma sonrasında görülen alışıldık arızalarla çıktı; domain, DNS ve TLS'i yeni adresler etrafında yeniden kurduk. Belirli sayıda API çağrısından sonra kopan bir entegrasyonun kaynağını sunucuda eksik olan statik dış adreste bulduk ve adres atayarak giderdik. Yalnız VPN üzerinden erişilebilen bir platformun erişimini yönetilen load balancer ve otomatik sertifikayla yeniden kurduk.
- GCP Compute Engine
- Route 53
- AWS ALB
- ACM
- Static IP
- Dotmatics
Yedekleme ve izleme
AWS + GCP
Yedekleme planları ve onları kanıtlayan geri yüklemeler
Günlük ve haftalık yedekleme planlarını tanımladık ve kritik sunucuları bu planlara atadık: veritabanı, bilimsel uygulama ve dizin sunucuları. Bu planları arıza anında kullandık: bozulan kurulumları ve bozulmuş yapılandırmaları belirli geri yükleme noktalarından kurtardık; ikinci bulutta snapshot'ı geri yükleyip adresi takas ederek arızalı sunucunun yerine yenisini, çalışma gününü kurtaracak hızda koyduk.
- AWS Backup
- EBS Snapshot
- GCP Snapshot
- Static IP
- Oracle
Kullanıcı ve erişim düzeni
GCP
GCP organizasyonunda varsayılan servis hesaplarının değiştirilmesi
Yönetilmeyen bir araştırma sunucusu filosunu beş fazlı bir programa aldık (keşif, zafiyet incelemesi, karar, uygulama, dokümantasyon) ve varsayılan hesaplama servis hesaplarını bucket bazında kapsamlanmış özel hesaplarla değiştirdik. PROD sunucularını tek planlı pencerede, kesinti olmadan taşıdık. Yerinde değiştirilemeyen instance'ları yeniden kurduk, veri ve depo geçmişlerini kayıpsız taşıdık, ardından disk bağlamalarını yeniden başlatmaya dayanıklı hale getirdik.
- Compute Engine
- IAM
- Service Accounts
- GCS
- gcsfuse
- Cloud Logging
AWS
Araştırma erişiminin tek kimlik katmanında toplanması
Ayrılan bir çalışanın üzerinde kalan domain sahipliği güvenlik alarmına dönüşünce, eskiyi yamamak yerine tek bir kimlik katmanı kurma fırsatı doğdu. Yönetilen dizini kurduk, üzerine dosya paylaşımlarını, client VPN'i ve tek oturum açmayı bindirdik; internete açık SSH'ı kapattık ve hesaplama sunucularını ayrı bir araştırma ağına aldık. Dizin yönetim sunucusunda birikmiş rolleri ayrıştırıp sunucuyu sıkılaştırdık.
- FSx
- AWS Managed Microsoft AD
- AWS Client VPN
- AWS SSO
- VPC
- Route 53
AWS + GCP
Sözleşmeli araştırma kuruluşlarıyla kapsamlanmış veri paylaşımı
Dış araştırma paydaşlarıyla veri paylaşımını tek tek izin vermek yerine tekrarlanabilir bir desene bağladık: yeterli olduğu yerde tek klasöre veya bucket'a kısıtlı, silme yetkisiz kimlikler; uyumluluk gerektirdiğinde cross-account bucket policy veya presigned URL akışları. Kimlik bilgilerini kimlik-doğrulamalı kanaldan ilettik, aşırı geniş politikaları yayına çıkmadan yakaladık, büyük aktarımları multipart upload'a aldık.
- S3
- GCS
- IAM
- Bucket Policy
- Presigned URL
- Multipart Upload
AWS
Denizaşırı CRO ekipleri için güvenli masaüstleri
Denizaşırı bir sözleşmeli araştırma kuruluşunun bilim insanlarının, kendilerine VPN veya dizin hesabı açılmadan araştırma platformu içinde çalışması gerekiyordu. Yönetilen masaüstü servisini PoC'dan üretim mimarisine taşıdık (transit gateway peering, dizin connector'ı, kapsamlanmış ağ kuralları), sonra masaüstlerini yeni akış protokolüne erişim kaybı olmadan taşıdık ve ağ yolunu aynı adımda sadeleştirdik.
- AWS WorkSpaces
- Transit Gateway
- AD Connector
- VPC
AWS
Dış hizmet sağlayıcı için katmanlı en-az-yetki erişimi
Dış bir hizmet sağlayıcı devreye girdiğinde ona katmanlı bir erişim modeli kurduk: permissions boundary ile sınırlanmış, silme korumalı bir operasyonel yönetici rolü, her kişi için ayrı kimlik, zorunlu MFA ve onay akışından geçen yetki yükseltme. Sağlayıcının neyi yapıp neyi yapamayacağını devirden önce yazıya döktük.
- AWS IAM
- Permissions Boundary
- IAM Roles
- MFA
- AWS Organizations
Güvenlik taraması ve raporu
AWS
CIS ve HIPAA denetim bulgularının kapatılması, denetimin içeriye alınması
Dış firmaların CIS Controls, CIS Benchmark ve HIPAA taramalarından çıkan bulguları madde madde ele aldık: MFA kapsamı, anahtar rotasyonu, akış logları, yapılandırma kaydı. Düzenlemeye tabi veriyi tutan bucket'ları, sağlayıcının BAA'sı devredeyken uyum paketi kurallarına bağladık. Zamanla denetimin kendisini içeriye aldık ve sürekli hale getirdik; periyodik dış taramanın yerini tehdit tespiti, yapılandırma kuralları ve güvenlik merkezi aldı.
- AWS Config
- Security Hub
- GuardDuty
- CIS Benchmark
- VPC Flow Logs
- AWS Artifact
Dashboard kurulumu
AWS + GCP
Kuruluş geneli merkezi audit-log ve canlı dashboard
Depolama audit logları çok projeli bir bulut organizasyonunda dağınık duruyordu; kuruluş seviyesinde toplu bir sink ile merkezileştirdik; loglar sorgulama için partition'lı analiz ambarına, saklama için arşiv bucket'ına gitti. Paneli prototip çatısından gerçek bir uygulama yığınına taşıdık ve iç load balancer arkasına, yalnız VPN'den erişilir şekilde koyduk. Platformun yönetilen sertifikaları bu topolojiyi karşılamayınca TLS'i diğer bulutta sonlandırıp zinciri çapraz kurduk.
- BigQuery
- Cloud Logging
- Aggregated Log Sink
- Cloud Run
- Internal Load Balancer
- AWS ALB
- ACM
Bulut faturasını düşürme
AWS
Maliyet temizliği: atıl bulut filosunun geri kazanılması
Aylık kullanım ve maliyet raporlamasını sahiplenilmiş bir envantere çevirdik; her instance, volume, imaj ve snapshot'ı etiketleyip adı belli bir sahibe bağladık. Hiçbir şeye dokunmadan önce sahipliği tek tek doğruladık, sonra atıl varlığı emekliye ayırdık: sahipsiz volume'lar, bayat imajlar, birikmiş snapshot yığını ve uzun süredir uyuyan hesaplama sunucuları. Arkasına, envanter yeniden şişmesin diye boşta-durdurma rutinleri ve etiketleme disiplini koyduk.
- EC2
- EBS
- AMI
- EBS Snapshot
- Cost Explorer
- Compute Optimizer
- Trusted Advisor
Araştırma platformu işletme
AWS
Bilimsel iş yükleri için HPC Slurm kümesi kurulumu
Simülasyon ve dizileme iş yüklerine zamanlayıcı yönetimli kümeler kurduk (yönetilen küme altyapısı üzerinde Slurm, GPU düğüm tipleri dahil) ve bunları kod olarak tanımladık; böylece her küme kendi şablonundan yeniden kurulabildi. Bir ağ taşıması kontrolcüye erişimi kopardığında arızayı zamanlayıcı servisi üzerinden izleyip kümeyi geri getirdik. Aynı şablonu sonraki iş yüklerinde yeniden kullandık.
- Slurm
- AWS ParallelCluster
- CloudFormation
- EC2 GPU
- VPC
AWS
Bilimsel veri platformu için Oracle 12c→19c yükseltmesi
Yerinde yükseltme yapmak yerine PROD sunucularını gece yedeklerinden aynı placement group'a klonladık; test ortamı üretimle birebir eşleşti. Yükseltmeyi önce klon üzerinde prova ettik, uygulama katmanını ona karşı yeniden doğruladık ve geçişi planlı pencerede yaptık; eski sunucuları geri dönüş yolumuz olarak koruduk. Aynı klonla-hazırla-geç desenini platformun sonraki DEV/PROD yaşam döngüsü işlerinde de kullandık.
- Oracle 19c
- EC2
- Placement Group
- AMI
- EBS Snapshot
- Windows Server
AWS
Yapısal biyoloji ve cryo-EM için özel hesap
Yapısal biyoloji ve cryo-EM işlerini ana ortamdan ayırıp kendi hesabına aldık: küme zamanlaması, rekonstrüksiyon yazılımı ve iş gönderimi için web arayüzü. Eski ağı devreden çıkardık, yeni hesabı birincil hesaba peering ile bağladık, dizin erişimini bir connector üzerinden kurduk ve diğer buluttaki lisans yolunu mevcut VPN üzerinden taşıdık. Yönetişim, yaşam döngüsü kuralları ve yapılandırma izlemesi hesaba ilk günden girdi.
- AWS ParallelCluster
- CryoSPARC
- Open OnDemand
- VPC Peering
- AD Connector
- AWS Config
AWS + GCP
Bilimsel veri analiz platformlarının kurulumu ve işletilmesi
İki bilimsel veri analiz platformu için DEV ve PROD sunucularını kurduk; self-signed sertifika denemeleri çıkmaz sokak olunca TLS'i kalıcı olarak yönetilen load balancer'lara ve bulutun sertifika yöneticisine oturttuk. Tek oturum açmayı üreticiyle OIDC üzerinden entegre ettik, servisleri yeniden başlatmalara dayanacak şekilde denetim altına aldık. Platformlar sonradan ikinci buluta taşınırken erişim yollarını bozulmadan geçirdik.
- Dotmatics
- Certara D360
- AWS ALB
- ACM
- Okta OIDC
- EC2