Performans açısından arka plan işlemlerini doğru yönetmek çok önemlidir. Bu noktada Laravel Queue yapısı devreye girer. Queue sistemi sayesinde zaman alan işlemleri arka planda çalıştırabilirsiniz. Bu yazıda ise, Laravel Queue yapısını AWS SQS (Simple Queue Service) kullanarak nasıl kuracağınızı adım adım anlatacağım.
Gereksinimler
Bu rehberi uygulayabilmek için aşağıdaki bilgilere sahip olmanız gerekir:
- Temel düzeyde Laravel bilgisi
- Aktif bir AWS hesabı
- SQS için oluşturulmuş IAM kullanıcı bilgileri
1. AWS IAM Kullanıcısı Oluşturma
İlk olarak, AWS üzerinde SQS servisini kullanacak bir IAM kullanıcısı oluşturmalıyız.
- Öncelikle AWS IAM paneline girin.
- Ardından yeni bir kullanıcı oluşturun.
- Daha sonra kullanıcıya aşağıdaki yetkiyi verin:
AmazonSQSFullAccess
- Son olarak, kullanıcı için oluşturduğunuz Access Key ID ve Secret Access Key bilgilerini mutlaka saklayın.
Çünkü bu bilgiler Laravel yapılandırmasında kullanılacaktır.
2. AWS SQS Kuyruğu Oluşturma
IAM kullanıcısını oluşturduktan sonra, Amazon SQS servisine geçebiliriz.
Önce AWS Console üzerinden SQS bölümüne girin.
Ardından Create queue butonuna tıklayın.
Daha sonra kuyruğunuza bir isim verin. Örneğin: default.
Gerekli ayarları yaptıktan sonra kuyruğu oluşturun.



Kuyruk oluşturulduğunda size bir Queue URL verilecektir.
👉 Bu URL, Laravel tarafında kullanılacağı için önemlidir.
3. Laravel Tarafında AWS SDK Kurulumu
Laravel projenizin AWS servisleriyle iletişim kurabilmesi için AWS PHP SDK’yı kurmanız gerekir.
Bunun için aşağıdaki komutu çalıştırın:
composer require aws/aws-sdk-php:~3.0
4. Laravel .env Dosyası Yapılandırması
Şimdi sıra, SQS bağlantısı için .env dosyasını düzenlemeye geldi.
Aşağıdaki satırları .env dosyanıza ekleyin:
QUEUE_CONNECTION=sqs AWS_ACCESS_KEY_ID=ERISIM_ANAHTARI AWS_SECRET_ACCESS_KEY=GIZLI_ERISIM_ANAHTARI AWS_DEFAULT_REGION=us-east-1 SQS_PREFIX=https://sqs.us-east-1.amazonaws.com/039612869269 SQS_QUEUE=default
Açıklamalar:
- QUEUE_CONNECTION: Laravel’in hangi queue sürücüsünü kullanacağını belirtir
- SQS_PREFIX: AWS hesabınıza ait SQS temel URL’i
- SQS_QUEUE: Oluşturduğunuz kuyruk adı
5. Queue Worker Çalıştırma
Tüm ayarları tamamladıktan sonra queue worker’ı başlatabilirsiniz.
Bunun için aşağıdaki komutu kullanın:
php artisan queue:work
Ancak, üretim ortamında bu işlemi Supervisor gibi bir araçla yönetmeniz önerilir.
Böylece worker sürekli çalışır ve kopmalar yaşanmaz.
Sonuç
Bu yazıda Laravel Queue sistemini AWS SQS ile nasıl entegre edeceğimizi öğrendik.
Sonuç olarak AWS SQS kullanarak:
- Daha ölçeklenebilir
- Daha güvenilir
- Daha yüksek performanslı
bir arka plan işlem altyapısı kurabilirsiniz.