View a markdown version of this page

Konfigurasikan jaringan, grup keamanan, dan otentikasi IAM - Amazon Neptune

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Konfigurasikan jaringan, grup keamanan, dan otentikasi IAM

Penerapan kontainer di Amazon ECS atau Amazon EKS memerlukan konfigurasi jaringan yang benar dan manajemen kredensyal IAM untuk terhubung ke Neptunus.

Daftar periksa grup keamanan

  • Grup keamanan klaster Neptunus harus mengizinkan TCP masuk pada port 8182 (atau port khusus yang dikonfigurasi untuk cluster Neptunus Anda) dari node Amazon EKS atau rentang pod CIDR.

  • Jika Anda menggunakan plugin Amazon VPC CNI dengan jaringan khusus, verifikasi bahwa subnet pod memiliki rute ke subnet Neptunus.

  • Neptunus harus berada di VPC Amazon yang sama dengan Amazon ECS atau kluster Amazon EKS Anda, atau terhubung melalui peering VPC Amazon atau Gateway Transit.

Verifikasi konektivitas dari dalam wadah

Sebelum men-debug masalah tingkat aplikasi, konfirmasikan jalur jaringan dengan menjalankan salah satu perintah berikut dari dalam wadah:

AWS CLI
aws neptunedata get-engine-status \ --endpoint-url https://your-neptune-endpoint:8182

Untuk informasi selengkapnya, lihat get-engine-status di Command Reference. AWS CLI

SDK
import boto3 from botocore.config import Config client = boto3.client( 'neptunedata', region_name='us-east-1', endpoint_url='https://your-neptune-endpoint:8182', config=Config(read_timeout=10) ) response = client.get_engine_status() print(response['status'])
awscurl
awscurl https://your-neptune-endpoint:8182/status \ --region us-east-1 \ --service neptune-db
catatan

Contoh ini mengasumsikan bahwa AWS kredensil Anda dikonfigurasi di lingkungan Anda. Ganti us-east-1 dengan Wilayah cluster Neptunus Anda.

curl
curl -k https://your-neptune-endpoint:8182/status
catatan

-kBendera melewatkan verifikasi sertifikat. Gunakan ini hanya untuk pengujian konektivitas, bukan dalam kode produksi.

Respons yang berhasil mengonfirmasi bahwa grup keamanan, perutean, dan resolusi DNS semuanya berfungsi. Batas waktu menunjukkan masalah tingkat jaringan.

Penyegaran kredensi IAM

Jika Anda menggunakan autentikasi IAM dengan Neptunus, pod Anda harus me-refresh kredensialnya sebelum kedaluwarsa. Kami merekomendasikan Amazon EKS Pod Identity untuk penerapan baru. Peran IAM untuk Akun Layanan (IRSA) juga didukung dan digunakan secara luas.

Dengan salah satu pendekatan, ambil kredensyal di dalam fungsi generator otentikasi, tidak sekali saat startup. Token IRSA dan Pod Identity akan kedaluwarsa setelah 1 jam. Jika Anda menyimpan kredensil saat inisialisasi, permintaan akan gagal AccessDeniedException: security token expired setelah token kedaluwarsa.

  • Untuk gremlin-go: panggil cfg.Credentials.Retrieve(ctx) di dalam fungsi diteruskan ke. gen NewDynamicAuth

  • Untuk Java: gunakan NeptuneGremlinClient dengan HandshakeInterceptor yang menyegarkan penandatanganan SiGv4 pada setiap koneksi baru.

Cross-account akses

Neptunus tidak mendukung otentikasi IAM lintas akun langsung. Jika klaster Amazon EKS Anda berada di AWS akun yang berbeda dari cluster Neptunus Anda, pod harus terlebih dahulu berperan dalam akun Neptunus sebelum melakukan autentikasi.

Konfigurasi Ingress untuk Graph Explorer

Jika Anda menjalankan Graph Explorer di lingkungan kontainer, pastikan semua jalur dapat diakses oleh proksi—tidak hanya. /explorer Di Amazon EKS, konfigurasikan aturan pengontrol ingress Anda untuk mengizinkan semua jalur. Di Amazon ECS, konfigurasikan grup target Application Load Balancer dan aturan listener untuk meneruskan semua jalur ke container Graph Explorer. Proxy Graph Explorer membuat panggilan ke /summary/gremlin,,/openCypher, dan/sparql. Path-restricted aturan routing melanggar proxy secara diam-diam.