2026-02-18

CloudWatch OAM ile Kolay Çapraz Hesap Log Toplama

C
<div class="toc"> <h3>İçindekiler</h3> <ul> <li><a href="#giris">Giriş</a></li> <li><a href="#oam-nedir">Observability Access Manager (OAM) Nedir?</a></li> <li><a href="#oam-kurulumu">OAM Kurulumu: Sink ve Link Yapısı</a></li> <li><a href="#adim-adim-rehber">Adım Adım Uygulama</a></li> <li><a href="#dogrulama">Kurulumun Doğrulanması</a></li> <li><a href="#sonuc">Sonuç</a></li> <li><a href="#sss">Sıkça Sorulan Sorular</a></li> </ul> </div> <h2 id="giris">Giriş</h2> <p>Birden fazla AWS hesabında dağıtık sistemleri izlemek ve hata ayıklamak zor olabilir. Merkezi bir görünüm olmadan, hesaplar arasında geçiş yapmak zaman kaybına neden olur. AWS CloudWatch Observability Access Manager (OAM), logları, metrikleri ve izleri (trace) kaynak hesaplardan tek bir izleme hesabına toplamanızı sağlayarak bu sorunu çözer.</p> <h2 id="oam-nedir">Observability Access Manager (OAM) Nedir?</h2> <p>OAM, çapraz hesap izlenebilirliğini (cross-account observability) basitleştirmek için iki temel kavram kullanır: <strong>Sink (Havuz)</strong> ve <strong>Link (Bağlantı)</strong>.</p> <ul> <li><strong>Sink:</strong> Merkezi izleme hesabında oluşturulur. Verilerin toplandığı hedeftir.</li> <li><strong>Link:</strong> Kaynak hesaplarda oluşturulur. Hangi veri türlerinin (log, metrik, trace) Sink ile paylaşılacağını tanımlar.</li> </ul> <h2 id="oam-kurulumu">OAM Kurulumu: Sink ve Link Yapısı</h2> <p>Kurulum, izleme hesabınızda bir Sink yapılandırmayı ve kaynak hesaplarınızda verileri bu Sink'e gönderecek Link'ler oluşturmayı içerir. Bu mimari, karmaşık manuel yönlendirme çözümlerine olan ihtiyacı ortadan kaldırır.</p> <h2 id="adim-adim-rehber">Adım Adım Uygulama</h2> <p>Aşağıda, Terraform kullanarak OAM'i nasıl kurabileceğiniz anlatılmaktadır. Bu örnek, bir AWS Organizasyonu kullandığınızı varsayar.</p> <h3 id="1-sink-yapilandirmasi">1. Sink Yapılandırması (İzleme Hesabı)</h3> <p>İlk olarak, merkezi izleme hesabınızda Sink'i oluşturun ve kaynak hesapların veri göndermesine izin veren bir politika tanımlayın.</p> <pre><code class="language-hcl"> resource "aws_oam_sink" "monitoring_sink" { name = "MerkeziIzlemeHavuzu" } resource "aws_oam_sink_policy" "monitoring_sink_policy" { sink_identifier = aws_oam_sink.monitoring_sink.id policy = jsonencode({ Version = "2012-10-17" Statement = [ { Effect = "Allow" Principal = { AWS = ["arn:aws:iam::123456789012:root", "arn:aws:iam::987654321098:root"] } # Kaynak Hesap ID'leriniz veya Org ID ile değiştirin Action = ["oam:CreateLink", "oam:UpdateLink"] Resource = "*" Condition = { "ForAllValues:StringEquals" = { "oam:ResourceTypes" = ["AWS::CloudWatch::Metric", "AWS::Logs::LogGroup", "AWS::XRay::Trace"] } } } ] }) } </code></pre> <h3 id="2-link-olusturma">2. Link Oluşturma (Kaynak Hesaplar)</h3> <p>Her kaynak hesapta, Sink'in ARN'ine işaret eden bir Link oluşturun.</p> <pre><code class="language-hcl"> resource "aws_oam_link" "source_link" { label_template = "" resource_types = ["AWS::CloudWatch::Metric", "AWS::Logs::LogGroup", "AWS::XRay::Trace"] sink_identifier = "arn:aws:oam:us-east-1:111111111111:sink/ornek-sink-id" # Sink ARN'iniz ile değiştirin } </code></pre> <h2 id="dogrulama">Kurulumun Doğrulanması</h2> <p>Dağıtım tamamlandıktan sonra, AWS Konsolunda yapılandırmayı doğrulayın:</p> <ol> <li>İzleme Hesabınızda <strong>CloudWatch Konsolu</strong>na gidin.</li> <li><strong>Settings</strong> > <strong>Manage Cross-Account Observability</strong> menüsüne gidin.</li> <li>"Monitoring account enabled" (İzleme hesabı etkin) ibaresini görmelisiniz.</li> <li>Kaynak hesaplarda ise durum "Linked" (Bağlı) olarak görünmelidir.</li> </ol> <h2 id="sonuc">Sonuç</h2> <p>AWS CloudWatch OAM, çoklu hesap ortamlarını izlemenin operasyonel yükünü önemli ölçüde azaltır. Loglarınızı, metriklerinizi ve izlerinizi merkezileştirerek altyapınızın birleşik bir görünümünü elde eder, sorunları daha hızlı çözebilir ve daha iyi içgörüler kazanabilirsiniz.</p> <h2 id="sss">Sıkça Sorulan Sorular</h2> <div class="faq-item"> <h3>OAM tüm AWS bölgelerini destekliyor mu?</h3> <p>OAM çoğu ticari AWS bölgesinde desteklenmektedir. En güncel bilgiler için resmi dokümantasyonu kontrol edin.</p> </div> <div class="faq-item"> <h3>OAM kullanmanın bir maliyeti var mı?</h3> <p>OAM'in kendisinin doğrudan bir maliyeti yoktur, ancak standart CloudWatch çapraz hesap veri transferi ve alım ücretleri geçerlidir.</p> </div> <div class="faq-item"> <h3>Birden fazla kaynak hesabı tek bir sink'e bağlayabilir miyim?</h3> <p>Evet, OAM çoktan bire (many-to-one) toplama için tasarlanmıştır, böylece birden fazla kaynak hesap tek bir izleme hesabına veri gönderebilir.</p> </div> <p><em>Bu kısım doğrulanamadı: Bazı kaynaklar bölge başına Sink sayısındaki limitlerin esnek olabileceğini öne sürse de, resmi dokümanlar katı kotalar belirtmektedir.</em></p> <p>Bulut stratejileri hakkında daha fazla bilgi için <a href="/tech/aws-consultancy">AWS Danışmanlığı</a> ve <a href="/tech/kubernetes-consultancy">Kubernetes Danışmanlığı</a> rehberlerimize göz atın.</p> <p>Kaynak / Source: <a href="https://awsfundamentals.com/blog/easy-cross-account-aggregation-of-logs-metrics-and-traces-on-cloudwatch-with-observability-access-manager">https://awsfundamentals.com/blog/easy-cross-account-aggregation-of-logs-metrics-and-traces-on-cloudwatch-with-observability-access-manager</a></p>