

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

# Akses aplikasi kontainer secara pribadi di Amazon EKS menggunakan AWS PrivateLink dan Network Load Balancer
<a name="access-container-applications-privately-on-amazon-eks-using-aws-privatelink-and-a-network-load-balancer"></a>

*Kirankumar Chandrashekar, Amazon Web Services*

## Ringkasan
<a name="access-container-applications-privately-on-amazon-eks-using-aws-privatelink-and-a-network-load-balancer-summary"></a>

Pola ini menjelaskan cara meng-host aplikasi kontainer Docker secara pribadi di Amazon Elastic Kubernetes Service (Amazon EKS) di belakang Network Load Balancer, dan mengakses aplikasi dengan menggunakan AWS. PrivateLink Anda kemudian dapat menggunakan jaringan pribadi untuk mengakses layanan dengan aman di Amazon Web Services (AWS) Cloud. 

Cluster Amazon EKS yang menjalankan aplikasi Docker, dengan Network Load Balancer di ujung depan, dapat dikaitkan dengan titik akhir virtual private cloud (VPC) untuk akses melalui AWS. PrivateLink Layanan endpoint VPC ini kemudian dapat dibagikan dengan orang lain VPCs dengan menggunakan titik akhir VPC mereka.

Pengaturan yang dijelaskan oleh pola ini adalah cara aman untuk berbagi akses aplikasi di antara VPCs dan akun AWS. Ini tidak memerlukan konektivitas khusus atau konfigurasi perutean, karena koneksi antara akun konsumen dan penyedia berada di tulang punggung AWS global dan tidak melintasi internet publik.

## Prasyarat dan batasan
<a name="access-container-applications-privately-on-amazon-eks-using-aws-privatelink-and-a-network-load-balancer-prereqs"></a>

**Prasyarat**
+ [Docker](https://www.docker.com/), diinstal dan dikonfigurasi di Linux, macOS, atau Windows.
+ Aplikasi yang berjalan di Docker.
+ Akun AWS yang aktif.
+ [AWS Command Line Interface (AWS CLI) versi](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) 2, diinstal dan dikonfigurasi di Linux, macOS, atau Windows.
+ Cluster Amazon EKS yang ada dengan subnet pribadi yang diberi tag dan dikonfigurasi untuk meng-host aplikasi. Untuk informasi selengkapnya, lihat [Penandaan subnet](https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html#vpc-subnet-tagging) di dokumentasi Amazon EKS. 
+ Kubectl, diinstal dan dikonfigurasi untuk mengakses sumber daya di klaster Amazon EKS Anda. Untuk informasi selengkapnya, lihat [Menginstal kubectl di dokumentasi](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html) Amazon EKS. 

## Arsitektur
<a name="access-container-applications-privately-on-amazon-eks-using-aws-privatelink-and-a-network-load-balancer-architecture"></a>

![Gunakan PrivateLink dan Network Load Balancer untuk mengakses aplikasi dalam wadah Amazon EKS.](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/ce977924-012c-4fb6-8e51-94d6e5c829a6/images/378456a3-f4d1-4a57-bb36-879c240cabfb.png)


**Tumpukan teknologi**
+ Amazon EKS
+ AWS PrivateLink
+ Penyeimbang Beban Jaringan

**Otomatisasi dan skala**
+ Manifes Kubernetes dapat dilacak dan dikelola pada repositori berbasis GIT, dan digunakan dengan menggunakan integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD) di AWS. CodePipeline 
+ Anda dapat menggunakan AWS CloudFormation untuk membuat pola ini dengan menggunakan infrastruktur sebagai kode (IAc).

## Alat
<a name="access-container-applications-privately-on-amazon-eks-using-aws-privatelink-and-a-network-load-balancer-tools"></a>
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) — AWS Command Line Interface (AWS CLI) Command Line Interface (AWS CLI) adalah alat sumber terbuka yang memungkinkan Anda berinteraksi dengan layanan AWS menggunakan perintah di shell baris perintah Anda.
+ [Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) — Elastic Load Balancing mendistribusikan lalu lintas aplikasi atau jaringan yang masuk ke beberapa target, seperti instans Amazon Elastic Compute Cloud ( EC2Amazon), container, dan alamat IP, dalam satu atau beberapa Availability Zone.
+ [Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html) — Amazon Elastic Kubernetes Service (Amazon EKS) adalah layanan terkelola yang dapat Anda gunakan untuk menjalankan Kubernetes di AWS tanpa perlu menginstal, mengoperasikan, dan memelihara control plane atau node Kubernetes Anda sendiri.
+ [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) — Amazon Virtual Private Cloud (Amazon VPC) membantu Anda meluncurkan sumber daya AWS ke jaringan virtual yang telah Anda tentukan.
+ [Kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) — Kubectl adalah utilitas baris perintah untuk menjalankan perintah terhadap klaster Kubernetes.

## Epik
<a name="access-container-applications-privately-on-amazon-eks-using-aws-privatelink-and-a-network-load-balancer-epics"></a>

### Menerapkan penerapan Kubernetes dan file manifes layanan
<a name="deploy-the-kubernetes-deployment-and-service-manifest-files"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
|  Buat file manifes penerapan Kubernetes. | Buat file manifes penyebaran dengan memodifikasi file contoh berikut sesuai dengan kebutuhan Anda.<pre>apiVersion: apps/v1<br />kind: Deployment<br />metadata:<br />  name: sample-app<br />spec:<br />  replicas: 3<br />  selector:<br />    matchLabels:<br />      app: nginx<br />  template:<br />    metadata:<br />      labels:<br />        app: nginx<br />    spec:<br />      containers:<br />        - name: nginx<br />          image: public.ecr.aws/z9d2n7e1/nginx:1.19.5<br />          ports:<br />            - name: http<br />              containerPort: 80</pre>Ini adalah file konfigurasi sampel NGINX yang digunakan dengan menggunakan image NGINX Docker. Untuk informasi selengkapnya, lihat [Cara menggunakan image resmi NGINX Docker](https://www.docker.com/blog/how-to-use-the-official-nginx-docker-image/) dalam dokumentasi Docker. | DevOps insinyur | 
| Menerapkan file manifes penerapan Kubernetes. | Jalankan perintah berikut untuk menerapkan file manifes penerapan ke cluster Amazon EKS Anda:<br />`kubectl apply –f <your_deployment_file_name> ` | DevOps insinyur | 
|  Buat file manifes layanan Kubernetes.  | Buat file manifes layanan dengan memodifikasi file contoh berikut sesuai dengan kebutuhan Anda.<pre>apiVersion: v1<br />kind: Service<br />metadata:<br />  name: sample-service<br />  annotations:<br />    service.beta.kubernetes.io/aws-load-balancer-type: nlb<br />    service.beta.kubernetes.io/aws-load-balancer-internal: "true"<br />spec:<br />  ports:<br />    - port: 80<br />      targetPort: 80<br />      protocol: TCP<br />  type: LoadBalancer<br />  selector:<br />    app: nginx</pre>Pastikan Anda menyertakan yang berikut ini `annotations` untuk menentukan Network Load Balancer internal:<pre>service.beta.kubernetes.io/aws-load-balancer-type: nlb<br />service.beta.kubernetes.io/aws-load-balancer-internal: "true"</pre> | DevOps insinyur | 
| Menerapkan file manifes layanan Kubernetes. | Jalankan perintah berikut untuk menerapkan file manifes layanan ke cluster Amazon EKS Anda:<br />`kubectl apply -f <your_service_file_name>` | DevOps insinyur | 

### Untuk membuat titik akhir
<a name="create-the-endpoints"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Rekam nama Network Load Balancer.  | Jalankan perintah berikut untuk mengambil nama Network Load Balancer:<br />`kubectl get svc sample-service -o wide`<br />Rekam nama Network Load Balancer, yang diperlukan untuk membuat titik PrivateLink akhir AWS. | DevOps insinyur | 
| Buat PrivateLink titik akhir AWS. | Masuk ke AWS Management Console, buka konsol Amazon VPC, lalu buat titik akhir PrivateLink AWS. Kaitkan titik akhir ini dengan Network Load Balancer, ini membuat aplikasi tersedia secara pribadi bagi pelanggan. Untuk informasi selengkapnya, lihat [layanan titik akhir VPC (AWS PrivateLink) di dokumentasi](https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html) Amazon VPC.Jika akun konsumen memerlukan akses ke aplikasi, [ID akun AWS akun](https://docs.aws.amazon.com/IAM/latest/UserGuide/console_account-alias.html) konsumen harus ditambahkan ke daftar prinsipal yang diizinkan untuk konfigurasi titik akhir PrivateLink AWS. Untuk informasi selengkapnya, lihat [Menambahkan dan menghapus izin untuk layanan endpoint Anda](https://docs.aws.amazon.com/vpc/latest/userguide/add-endpoint-service-permissions.html) di dokumentasi Amazon VPC. | Administrator awan  | 
| Buat VPC endpoint | Di konsol Amazon VPC, pilih **Endpoint Services**, lalu pilih **Create** Endpoint Service. Buat titik akhir VPC untuk titik akhir AWS. PrivateLink <br />Nama domain (FQDN) yang sepenuhnya memenuhi syarat dari titik akhir VPC menunjuk ke FQDN untuk titik akhir AWS. PrivateLink Ini menciptakan sebuah elastic network interface ke layanan endpoint VPC yang dapat diakses oleh endpoint DNS.  | Administrator awan | 

## Sumber daya terkait
<a name="access-container-applications-privately-on-amazon-eks-using-aws-privatelink-and-a-network-load-balancer-resources"></a>
+ [Menggunakan gambar resmi NGINX Docker](https://www.docker.com/blog/how-to-use-the-official-nginx-docker-image/)
+ [Penyeimbangan beban jaringan di Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/load-balancing.html) 
+ [Membuat layanan titik akhir VPC (AWS) PrivateLink](https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html) 
+ [Menambahkan dan menghapus izin untuk layanan endpoint Anda](https://docs.aws.amazon.com/vpc/latest/userguide/add-endpoint-service-permissions.html)