Správa VPC a dalších zdrojů, jako je podsíť, směrovací tabulka, internetová brána, z terminálu pomocí aws-cli může být trochu matoucí, pokud nejste dobří ve VPC. V tomto článku vytvoříme VPC se 2 podsítěmi, směrovací tabulkou a internetovou bránou, tyto podsítě budou veřejné podsítě. Po vytvoření VPC se pokusíme připojit k instanci EC2 vytvořené v tomto VPC. Cílem tohoto článku je seznámit vás s příkazy používanými ke správě VPC z terminálu.
Doporučuje se nejprve velmi dobře porozumět VPC, tento článek se nezaměřuje na vysvětlení VPC. Chcete-li znát operace, které lze provádět na VPC, navštivte oficiální dokumentaci zde.
Předpoklady
- Účet AWS (vytvořte si jej, pokud jej nemáte).
- Základní znalost VPC (Kliknutím sem se dozvíte, jak vytvořit VPC z konzoly AWS).
- Uživatel AWS IAM s připojenou zásadou AmazonVPCFullAccess a jeho přístupové a tajné klíče (kliknutím sem se dozvíte, jak vytvořit uživatele IAM).
- AWS CLI nainstalované na vašem místním počítači.
- Základní znalosti o instanci EC2 (kliknutím sem se dozvíte, jak vytvořit instanci Ubuntu EC2)
Co budeme dělat?
- Zkontrolujte aws cli a exportujte přístupový a tajný klíč AWS na místní počítač.
- Spravujte VPC pomocí aws cli.
Zkontrolujte aws cli a exportujte aws přístup a tajný klíč na místním počítači.
Pokud nástroj aws-cli nemáte nainstalovaný ve svém počítači, nahlédněte do oficiální dokumentace zde, kde jej nainstalujte do místního počítače, a poté zkontrolujte jeho verzi pomocí následujícího příkazu.
aws --version
Pokud provedete následující příkaz, zobrazí se chyba, protože jste v terminálu nenakonfigurovali přístup ke svému účtu AWS.
aws sts get-caller-identity
Exportujte uživatelský přístup a tajné klíče AWS IAM do svého terminálu pomocí následujících příkazů.
export AWS_ACCESS_KEY_ID=<aws-user-access-key>
export AWS_SECRET_ACCESS_KEY=<aws-user-secret-key>
Tentokrát můžete svou identitu zkontrolovat provedením následujícího příkazu
aws sts get-caller-identity
Správa VPC pomocí aws-cli
Vytvořte VPC pomocí následujícího příkazu, nevytvoří výchozí VPC. 10.0.0.0/16 bude CIDR pro VPC, který bude vytvořen. Můžete zadat platný CIDR podle svého výběru a požadavku.
aws ec2 create-vpc --cidr-block 10.0.0.0/16
Všimněte si VpcId na výše uvedeném snímku obrazovky. Ve výstupu uvidíte jiné VpcId. Poznamenejte si VpcId, budeme ho potřebovat v dalších krocích.
Chcete-li popsat všechny VPC z vaší aktuální oblasti, spusťte následující příkaz.
aws ec2 describe-vpcs
Zadáním VpcId můžete popsat konkrétní VPC
aws ec2 describe-vpcs --vpc-ids vpc-03c4278f3b75efd77
Nyní vytvoříme 2 podsítě ve VPC, které jsme vytvořili. Zde musí mít obě podsítě jedinečné bloky CIDR ve VPC.
aws ec2 create-subnet --vpc-id vpc-03c4278f3b75efd77 --cidr-block 10.0.1.0/24
aws ec2 create-subnet --vpc-id vpc-03c4278f3b75efd77 --cidr-block 10.0.2.0/24
Aby byly podsítě veřejné, musíme vytvořit internetovou bránu
aws ec2 create-internet-gateway
Připojte internetovou bránu s VPC, které jsme vytvořili dříve.
aws ec2 attach-internet-gateway --internet-gateway-id igw-04f1e4f13f92599c3 --vpc-id vpc-03c4278f3b75efd77
Nyní vytvoříme Route Table.
aws ec2 create-route-table --vpc-id vpc-03c4278f3b75efd77
Přiřaďte Route Table k oběma podsítím
aws ec2 associate-route-table --route-table-id rtb-0878d652f460dbf50 --subnet-id subnet-0748ef7a26aefc7cc
aws ec2 associate-route-table --route-table-id rtb-0878d652f460dbf50 --subnet-id subnet-0375b656eb64962e8
Vytvořením trasy z tabulky směrování do internetové brány zpřístupníte podsítě spojené s tabulkou směrování
aws ec2 create-route --route-table-id rtb-0878d652f460dbf50 --destination-cidr-block 0.0.0.0/0 --gateway-id igw-04f1e4f13f92599c3
Nyní máme VPC se 2 podsítěmi, 1 směrovací tabulkou a cestou z tabulky směrování k internetové bráně.
Pokud vytvoříme instanci EC2 v tomto VPC a kterékoli z podsítí, instance bude veřejně dostupná z internetu. Chcete-li se naučit vytvořit instanci Ubuntu EC2, přečtěte si dokument uvedený v předpokladu. Při vytváření instance zadejte VPC, kterou jsme právě vytvořili.
aws ec2 describe-instances --instance-ids i-079acfea39b6ad2c9 | grep VpcId
aws ec2 describe-instances --instance-ids i-079acfea39b6ad2c9 | grep SubnetId
aws ec2 describe-instances --instance-ids i-079acfea39b6ad2c9 | grep PublicIpAddress
ssh -i ~/Downloads/aws-cli.pem [email protected]
Závěr
V tomto článku jsme viděli kroky k vytvoření VPC se 2 podsítěmi, 1 směrovací tabulkou, internetovou bránou a cestou k internetové bráně z tabulky směrování. Také jsme viděli, že instance vytvořená v libovolné podsíti činí instanci veřejně dostupné, protože obě podsítě jsou veřejné podsítě.