π§ Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ
β οΈ ΠΡΠΊΠ°Π· ΠΎΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ: Π²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, ΡΡΠ΅ΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ, ARN, HostName etc ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Faker ΠΡΠΊΠ°Π· ΠΠ½ΠΈ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ .
π’ ΠΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅
- EC2.
- ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΡΠΏΠΈΡΠΊΠ°, ΡΠΈΠΏ ΠΈ ΠΈΠΌΡ
- Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΌ IP-Π°Π΄ΡΠ΅ΡΠΎΠΌ ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ
- Π‘ΠΏΠΈΡΠΎΠΊ VPCS ΠΈ IP-Π±Π»ΠΎΠΊΠ° CIDR
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ΄ΡΠ΅ΡΠΈ Π΄Π»Ρ VPC
- Π‘ΠΏΠΈΡΠΎΠΊ Π³ΡΡΠΏΠΏ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
- ΠΠ΅ΡΠ°ΡΡ Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°
- Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°
- ΠΠ΅ΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π³ΡΡΠΏΠΏΠΎΠ²ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Print ΠΊΠ°ΠΊ fromaddress ΠΈ toport
- ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π² Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
- Π£Π΄Π°Π»ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΎΡ Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
- Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π³ΡΡΠΏΠΏΡ
- Π£Π΄Π°Π»ΠΈΡΡ Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
- S3
- Π‘ΠΏΠΈΡΠΎΠΊ Π²Π΅Π΄Π΅Ρ
- Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π²Π΅Π΄ΡΠ΅
- Π‘ΠΎΠ·Π΄Π°ΡΡ Π²Π΅Π΄ΡΠΎ
- Π£Π΄Π°Π»ΠΈΡΡ Π²Π΅Π΄ΡΠΎ
- Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ S3 Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ
- ΠΠ°Π³ΡΡΠ·ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° S3
- Π£Π΄Π°Π»ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ S3
- Π‘ΠΊΠ°ΡΠ°ΡΡ Π²Π΅Π΄ΡΠΎ Π² ΠΌΠ΅ΡΡΠ½ΠΎΠ΅
- ΠΠ°Π³ΡΡΠ·ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π² Π²Π΅Π΄ΡΠΎ
- ΠΠ±ΡΠ΅ΠΊΡ S3 S3 Π±Π΅Π· ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°
- API Gateway
- Π‘ΠΏΠΈΡΠΎΠΊ ID ΠΈ ΠΈΠΌΠ΅Π½Π° ΡΠ»ΡΠ·Π° API
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ»ΡΡΠΈ ΡΠ»ΡΠ·Π° API
- Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΠΌΠ΅Π½Π½ΡΡ ΠΈΠΌΠ΅Π½ΠΈ Gateway API
- Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ΅ΡΡΡΡΠΎΠ² Π΄Π»Ρ Gateway API
- ΠΠ°ΠΉΡΠΈ Π»ΡΠΌΠ±Π΄Π° Π΄Π»Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² API
- Elb.
- Π‘ΠΏΠΈΡΠΎΠΊ elb Ρ ΠΎΡΡΠΎΠ²
- Π‘ΠΏΠΈΡΠΎΠΊ alb arns
- Π‘ΠΏΠΈΡΠΎΠΊ Elb Target Group ARNS
- ΠΠ°ΠΉΡΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ Π΄Π»Ρ ΡΠ΅Π»Π΅Π²ΠΎΠΉ Π³ΡΡΠΏΠΏΡ
- ΠΡΠΈΠ½ΡΠΈΠΏ
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² ΠΠ
- Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΠ
- ΠΡΠΈΠ½ΡΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° DB
- ΠΡΠΈΠ½ΠΈΠΌΠ°ΠΉΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠ° ΠΊΠ»Π°ΡΡΠ΅ΡΠ° DB
- ΠΠ»Π°ΡΡΠΈΠΊΠ°Π»ΠΈΠ½Π°
- Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ»Π°ΡΡΠΈΡΠ½ΡΠΉ ΡΠΈΠΏ ΠΌΠ°ΡΠΈΠ½Ρ ΠΈ ΠΈΠΌΡ
- Π‘ΠΏΠΈΡΠΎΠΊ Π³ΡΡΠΏΠΏ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΏΡΡΠ³ΠΎΡΡΠΈ
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ ΡΠΏΡΡΠ³ΠΎΡΡΠΈ
- Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠ»Π°ΡΡΠ΅ΠΉ
- Π£Π΄Π°Π»ΠΈΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠΏΡΡΠ³ΠΎΡΡΠΈ
- ΠΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ Π²Π²Π΅ΡΡ /Π²Π½ΠΈΠ· Π Π΅ΠΏΠ»ΠΈΠΊΠ° Elasticache
- ΠΡΠΌΠ±Π΄Π°
- Π‘ΠΏΠΈΡΠΎΠΊ Π»ΡΠΌΠ±Π΄Π° ΡΡΠ½ΠΊΡΠΈΠΉ, Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΠ°ΠΌΡΡΠΈ
- Π‘ΠΏΠΈΡΠΎΠΊ lambda ΡΠ»ΠΎΠ΅Π²
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ Π΄Π»Ρ Π»ΡΠΌΠ±Π΄Π°
- Π‘ΠΊΠ°ΡΠ°ΡΡ Π»ΡΠΌΠ±Π΄Π° ΠΊΠΎΠ΄
- Cloudwatch.
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΡΡΠ΅Π²ΠΎΠ³ΠΈ ΠΈ ΡΡΠ°ΡΡΡΠ°
- Π‘ΠΎΠ·Π΄Π°ΡΡ Π±ΡΠ΄ΠΈΠ»ΡΠ½ΠΈΠΊ Π΄Π»Ρ EC2 ΠΡΡΠΎΠΊΠ°Ρ cpuutilization
- Π‘ΠΎΠ·Π΄Π°ΡΡ Π±ΡΠ΄ΠΈΠ»ΡΠ½ΠΈΠΊ Π΄Π»Ρ EC2 High StatusCheckFailed_Instance
- Market53.
- Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²
- Π‘ΠΏΠΈΡΠΎΠΊ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π΄Π»Ρ Π΄ΠΎΠΌΠ΅Π½Π° (Π·ΠΎΠ½Π°)
- SNS.
- Π‘ΠΏΠΈΡΠΎΠΊ sns timics
- Π‘ΠΏΠΈΡΠΎΠΊ SNS-ΡΠ΅ΠΌΠ° ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΡΠΈΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ
- ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π½Π° SNS-ΡΠ΅ΠΌΡ
- ΠΠΈΠ½Π°ΠΌΠΎΠ΄Π±
- Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ°Π±Π»ΠΈΡ dynamodb
- ΠΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ
- ΠΠΎΠ»ΡΡΠΈΡΡ ΡΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ
- ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ°
- ΠΠΎΠ»ΡΡΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ»Ρ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
- Π£Π΄Π°Π»ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ°
- SQS.
- ΠΡΠ΅Π±Ρ ΡΠΏΠΈΡΠΊΠ°
- Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ
- ΠΠΎΠ΄ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ
- ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
- ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
- Π£Π΄Π°Π»ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
- ΠΡΠΈΡΡΠΈΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ
- Π£Π΄Π°Π»ΠΈΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ
- Cloudfront.
- Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ CloudFront ΠΈ Origins
- Π‘ΠΎΠ·Π΄Π°ΡΡ Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΡΡ
- ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΡΠ°ΡΡΡ Π°Π½Π½ΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΡΡΠ°
- Π£ΡΠΈΠ»ΠΈΠ²Π°ΡΡ
- Π‘ΠΏΠΈΡΠΎΠΊ ΡΡΠΈΠ»ΠΈΡΠ΅Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°
- ΠΠΎΠ³Π½ΠΈΡΠΎ
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΈ ΠΈΠΌΠ΅Π½ ΠΏΡΠ»Π°
- Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΏΠΎΡΡΠ° Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
- IAM ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
- Π‘ΠΏΠΈΡΠΎΠΊ userid ΠΈ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
- ΠΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
- ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
- Π£Π΄Π°Π»ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ»ΡΡΠ΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ° Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
- Π£Π΄Π°Π»ΠΈΡΡ ΠΊΠ»ΡΡ Π΄ΠΎΡΡΡΠΏΠ° Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
- ΠΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ/Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡ Π΄ΠΎΡΡΡΠΏΠ° Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
- Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠ»ΡΡ Π΄ΠΎΡΡΡΠΏΠ° Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
- IAM GROUP
- Π‘ΠΏΠΈΡΠΎΠΊ Π³ΡΡΠΏΠΏ
- ΠΠΎΠ±Π°Π²ΠΈΡΡ/Π£Π΄Π°Π»ΠΈΡΡ Π³ΡΡΠΏΠΏΡ
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΠΈΡΠΈΠΊ ΠΈ Π°ΡΠ½ΠΎΠ²
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ/Π³ΡΡΠΏΠΏΠ°/ΡΠΎΠ»ΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΠΈΡΠΈΠΊ Π΄Π»Ρ Π³ΡΡΠΏΠΏΡ
- ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ Π² Π³ΡΡΠΏΠΏΡ
- ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π³ΡΡΠΏΠΏΡ
- Π£Π΄Π°Π»ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ· Π³ΡΡΠΏΠΏΡ
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π² Π³ΡΡΠΏΠΏΠ΅
- Π‘ΠΏΠΈΡΠΎΠΊ Π³ΡΡΠΏΠΏ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
- ΠΡΠΈΠΊΡΠ΅ΠΏΠΈΡΡ/ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ ΠΊ Π³ΡΡΠΏΠΏΠ΅
βΉοΈ Pro Tip!
π ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅ΡΠ½ΡΡ
Π·Π°ΠΏΠΈΡΠ΅ΠΉ AWS, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ Bash, ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅. Π’Π°ΠΊ ΡΡΠΎ Π²Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡΡ - ΠΡΠΎΡΠΈΠ»Ρ
ΠΊ AWS
ΠΎΡΡΠ΄ΠΈΠ΅ ΡΡΡΠ΄Π°.
alias aws-prod="aws --profile work-prod" alias aws-dev="aws --profile work-dev" alias aws-self="aws --profile personal" alias aws="aws --profile work-dev"
π ΠΠ»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ AWS
ΠΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΡΠ°Π±Π»ΠΈΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ Π½Π° ΡΡΠΎΠ»Π±Π΅Ρ --Ρ
ΠΡΠΊΠ°Π·
# aws ec2 describe-instances | jq ... i-0f112d652ecf13dac c3.x2large fisher.com i-0b3b5128445a332db t2.nano robinson.com # aws ec2 describe-instances | jq ... | column -t i-0f112d652ecf13dac c3.x2large fisher.com i-0b3b5128445a332db t2.nano robinson.com
EC2.
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΡΠΏΠΈΡΠΊΠ°, ΡΠΈΠΏ ΠΈ ΠΈΠΌΡ
aws ec2 describe-instances | jq -r '.Reservations[].Instances[]|.InstanceId+" "+.InstanceType+" "+(.Tags[] | select(.Key == "Name").Value)' i-0f112d652ecf13dac c3.xlarge fisher.com i-0b3b5128445a332db t2.nano robinson.com i-0d1c1cf4e980ac593 t2.micro nolan.com i-004ee6b792c3b6914 t2.nano grimes-green.net i-00f11e8e33c971058 t2.nano garrett.com
Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΌ IP-Π°Π΄ΡΠ΅ΡΠΎΠΌ ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ
π Π‘ΠΎΠ²Π΅Ρ: ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ ΡΡΠΎ Π½Π° Π²Π°Ρ /etc/hosts
aws ec2 describe-instances --query 'Reservations[*].Instances[?not_null(PublicIpAddress)]' | jq -r '.[][]|.PublicIpAddress+" "+(.Tags[]|select(.Key=="Name").Value)' 223.64.72.64 fisher.com 198.82.207.161 robinson.com 182.139.20.233 nolan.com 153.134.83.44 grimes-green.net 202.32.63.121 garrett.com
Π‘ΠΏΠΈΡΠΎΠΊ VPCS ΠΈ IP-Π±Π»ΠΎΠΊΠ° CIDR
aws ec2 describe-vpcs | jq -r '.Vpcs[]|.VpcId+" "+(.Tags[]|select(.Key=="Name").Value)+" "+.CidrBlock' vpc-0d1c1cf4e980ac593 frontend-vpc 10.0.0.0/16 vpc-00f11e8e33c971058 backend-vpc 172.31.0.0/16
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ΄ΡΠ΅ΡΠΈ Π΄Π»Ρ VPC
aws ec2 describe-subnets --filter Name=vpc-id,Values=vpc-0d1c1cf4e980ac593 | jq -r '.Subnets[]|.SubnetId+" "+.CidrBlock+" "+(.Tags[]|select(.Key=="Name").Value)' subnet-0dae5d4daa47fe4a2 10.0.128.0/20 Public Subnet 1 subnet-0641a25faccb01f0f 10.0.32.0/19 Private Subnet 2 subnet-09fb8038641f1f36f 10.0.0.0/19 Private Subnet 1 subnet-02a63c67684d8deed 10.0.144.0/20 Public Subnet 2
Π‘ΠΏΠΈΡΠΎΠΊ Π³ΡΡΠΏΠΏ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
aws ec2 describe-security-groups | jq -r '.SecurityGroups[]|.GroupId+" "+.GroupName' sg-02a63c67684d8deed backend-db sg-0dae5d4daa47fe4a2 backend-redis sg-0a56bff7b12264282 frontend-lb sg-0641a25faccb01f0f frontend-https sg-09fb8038641f1f36f internal-ssh
ΠΠ΅ΡΠ°ΡΡ Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°
aws ec2 describe-instances --instance-ids i-0dae5d4daa47fe4a2 | jq -r '.Reservations[].Instances[].SecurityGroups[]|.GroupId+" "+.GroupName' sg-02a63c67684d8deed backend-db sg-0dae5d4daa47fe4a2 backend-redis
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°
π ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅
aws ec2 modify-instance-attribute --instance-id i-0dae5d4daa47fe4a2 --groups sg-02a63c67684d8deed sg-0dae5d4daa47fe4a2
ΠΠ΅ΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π³ΡΡΠΏΠΏΠΎΠ²ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Print ΠΊΠ°ΠΊ fromaddress ΠΈ toport
aws ec2 describe-security-groups --group-ids sg-02a63c67684d8deed | jq -r '.SecurityGroups[].IpPermissions[]|. as $parent|(.IpRanges[].CidrIp+" "+($parent.ToPort|tostring))' 223.64.72.64/32 3306 198.82.207.161/32 3306 168.244.58.160/32 3306 202.0.149.202/32 3306 212.143.80.102/32 3306
ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π² Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
aws ec2 authorize-security-group-ingress --group-id sg-02a63c67684d8deed --protocol tcp --port 443 --cidr 35.0.0.1
Π£Π΄Π°Π»ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΎΡ Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
aws ec2 revoke-security-group-ingress --group-id sg-02a63c67684d8deed --protocol tcp --port 443 --cidr 35.0.0.1
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π³ΡΡΠΏΠΏΡ
π ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π²ΡΠ΅ IP-Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ
aws ec2 update-security-group-rule-descriptions-ingress --group-id sg-02a63c67684d8deed --ip-permissions 'ToPort=443,IpProtocol=tcp,IpRanges=[{CidrIp=202.171.186.133/32,Description=Home}]'
Π£Π΄Π°Π»ΠΈΡΡ Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
aws ec2 delete-security-group --group-id sg-02a63c67684d8deed
S3
Π‘ΠΏΠΈΡΠΎΠΊ Π²Π΅Π΄Π΅Ρ
aws s3 ls 2020-01-28 18:49:50 customer-data-primary 2020-01-28 18:50:22 customer-data-backup 2020-01-28 18:50:54 wordpress-cdn 2020-01-28 18:52:25 backend-artifacts-20200220-deployment
Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π²Π΅Π΄ΡΠ΅
aws s3 ls wordpress-cdn/wp-content/uploads/2019/10/04/ 2019-10-04 15:02:02 133557 amazing-content.jpg 2019-10-04 15:02:02 2986 amazing-content-103x50.jpg 2019-10-04 15:02:02 5640 amazing-content-120x120.jpg 2019-10-04 15:02:02 7924 amazing-content-150x150.jpg
Π‘ΠΎΠ·Π΄Π°ΡΡ Π²Π΅Π΄ΡΠΎ
aws s3 mb s3://my-awesome-new-bucket make_bucket: my-awesome-new-bucket
Π£Π΄Π°Π»ΠΈΡΡ Π²Π΅Π΄ΡΠΎ
aws s3 rb s3://my-awesome-new-bucket --force
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ S3 Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ
aws s3 cp s3://my-awesome-new-bucket . download: ./backup.tar from s3://my-awesome-new-bucket/backup.tar
ΠΠ°Π³ΡΡΠ·ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° S3
aws s3 cp backup.tar s3://my-awesome-new-bucket upload: ./backup.tar to s3://my-awesome-new-bucket/backup.tar
Π£Π΄Π°Π»ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ S3
aws s3 rm s3://my-awesome-new-bucket/secret-file.gz . delete: s3://my-awesome-new-bucket/secret-file.gz
Π‘ΠΊΠ°ΡΠ°ΡΡ Π²Π΅Π΄ΡΠΎ Π² ΠΌΠ΅ΡΡΠ½ΠΎΠ΅
aws s3 sync s3://my-awesome-new-bucket/ /media/Passport-Ultra/Backup
ΠΠ°Π³ΡΡΠ·ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π² Π²Π΅Π΄ΡΠΎ
aws s3 sync /home/minhaz/Downloads s3://my-awesome-new-bucket/
ΠΠ±ΡΠ΅ΠΊΡ S3 S3 Π±Π΅Π· ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°
aws s3 presign s3://my-awesome-new-bucket/business-reports.pdf --expires-in 3600 https://my-awesome-new-bucket.s3.amazonaws.com/business-reports.pdf?AWSAccessKeyId=AKISUENSAKSIEUAA&Expires=1582876994&Signature=kizOEA93kaIHw7uv25wSFIKLmAx
API Gateway
Π‘ΠΏΠΈΡΠΎΠΊ ID ΠΈ ΠΈΠΌΠ΅Π½Π° ΡΠ»ΡΠ·Π° API
aws apigateway get-rest-apis | jq -r '.items[] | .id+" "+.name' 5e3221cf8 backend-api 69ef7d4c8 frontend-api bb1e3c281 partner-api f99796943 internal-crm-api ee86b4cde import-data-api
Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ»ΡΡΠΈ ΡΠ»ΡΠ·Π° API
aws apigateway get-api-keys | jq -r '.items[] | .id+" "+.name' ee86b4cde backend-api-key 69ef7d4c8 partner-api-key
Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΠΌΠ΅Π½Π½ΡΡ ΠΈΠΌΠ΅Π½ΠΈ Gateway API
aws apigateway get-domain-names | jq -r '.items[] | .domainName+" "+.regionalDomainName' backend-api.mdminhazulhaque.io d-ee86b4cde.execute-api.ap-southeast-1.amazonaws.com frontend-api.mdminhazulhaque.io d-bb1e3c281.execute-api.ap-southeast-1.amazonaws.com
Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ΅ΡΡΡΡΠΎΠ² Π΄Π»Ρ Gateway API
aws apigateway get-resources --rest-api-id ee86b4cde | jq -r '.items[] | .id+" "+.path' ee86b4cde /{proxy+} 69ef7d4c8 /
ΠΠ°ΠΉΡΠΈ Π»ΡΠΌΠ±Π΄Π° Π΄Π»Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² API
aws apigateway get-integration --rest-api-id ee86b4cde --resource-id 69ef7d4c8 --http-method GET | jq -r '.uri' arn:aws:lambda:ap-southeast-1:987654321:function:backend-api-function-5d4daa47fe4a2:live/invocations
Elb.
Π‘ΠΏΠΈΡΠΎΠΊ elb Ρ ΠΎΡΡΠΎΠ²
aws elbv2 describe-load-balancers --query 'LoadBalancers[*].DNSName' | jq -r 'to_entries[] | .value' frontend-lb-1220186848339.ap-southeast-1.elb.amazonaws.com backend-lb-6208709163457.ap-southeast-1.elb.amazonaws.com
Π‘ΠΏΠΈΡΠΎΠΊ alb arns
aws elbv2 describe-load-balancers | jq -r '.LoadBalancers[] | .LoadBalancerArn' arn:aws:elasticloadbalancing:ap-southeast-1:987654321:loadbalancer/app/frontend-lb/1220186848339 arn:aws:elasticloadbalancing:ap-southeast-1:987654321:loadbalancer/app/backend-lb/6208709163457
Π‘ΠΏΠΈΡΠΎΠΊ Elb Target Group ARNS
aws elbv2 describe-target-groups | jq -r '.TargetGroups[] | .TargetGroupArn' arn:aws:elasticloadbalancing:ap-southeast-1:987654321:targetgroup/frontend/b6da07d35 arn:aws:elasticloadbalancing:ap-southeast-1:987654321:targetgroup/backend/97ad3b13c
ΠΠ°ΠΉΡΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ Π΄Π»Ρ ΡΠ΅Π»Π΅Π²ΠΎΠΉ Π³ΡΡΠΏΠΏΡ
aws elbv2 describe-target-health --target-group-arn arn:aws:elasticloadbalancing:ap-southeast-1:987654321:targetgroup/wordpress-ph/88f517d6b5326a26 | jq -r '.TargetHealthDescriptions[] | .Target.Id' i-0b3b5128445a332db i-0d1c1cf4e980ac593 i-00f11e8e33c971058
ΠΡΠΈΠ½ΡΠΈΠΏ
Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² ΠΠ
aws rds describe-db-clusters | jq -r '.DBClusters[] | .DBClusterIdentifier+" "+.Endpoint' backend-prod backend-prod.cluster-b6da07d35.ap-southeast-1.rds.amazonaws.com internal-prod internal-dev.cluster-b6da07d35.ap-southeast-1.rds.amazonaws.com
Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΠ
aws rds describe-db-instances | jq -r '.DBInstances[] | .DBInstanceIdentifier+" "+.DBInstanceClass+" "+.Endpoint.Address' backend-dev db.t3.medium backend-prod.b6da07d35.ap-southeast-1.rds.amazonaws.com internal-dev db.t2.micro internal-dev.b6da07d35.ap-southeast-1.rds.amazonaws.com
ΠΡΠΈΠ½ΡΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° DB
aws rds create-db-snapshot --db-snapshot-identifier backend-dev-snapshot-0001 --db-instance-identifier backend-dev aws rds describe-db-snapshots --db-snapshot-identifier backend-dev-snapshot-0001 --db-instance-identifier general
ΠΡΠΈΠ½ΠΈΠΌΠ°ΠΉΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠ° ΠΊΠ»Π°ΡΡΠ΅ΡΠ° DB
aws rds create-db-cluster-snapshot --db-cluster-snapshot-identifier backend-prod-snapshot-0002 --db-cluster-identifier backend-prod aws rds describe-db-cluster-snapshots --db-cluster-snapshot-identifier backend-prod-snapshot-0002 --db-cluster-identifier backend-prod
ΠΠ»Π°ΡΡΠΈΠΊΠ°Π»ΠΈΠ½Π°
Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ»Π°ΡΡΠΈΡΠ½ΡΠΉ ΡΠΈΠΏ ΠΌΠ°ΡΠΈΠ½Ρ ΠΈ ΠΈΠΌΡ
aws elasticache describe-cache-clusters | jq -r '.CacheClusters[] | .CacheNodeType+" "+.CacheClusterId' cache.t2.micro backend-login-hk cache.t2.micro backend-login-vn cache.t2.micro backend-login-sg
Π‘ΠΏΠΈΡΠΎΠΊ Π³ΡΡΠΏΠΏ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΏΡΡΠ³ΠΎΡΡΠΈ
aws elasticache describe-replication-groups | jq -r '.ReplicationGroups[] | .ReplicationGroupId+" "+.NodeGroups[].PrimaryEndpoint.Address' backend-login-hk backend-login-hk.6da35.ng.0001.apse1.cache.amazonaws.com backend-login-vn backend-login-vn.6da35.ng.0001.apse1.cache.amazonaws.com backend-login-sg backend-login-sg.6da35.ng.0001.apse1.cache.amazonaws.com
Π‘ΠΏΠΈΡΠΎΠΊ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ ΡΠΏΡΡΠ³ΠΎΡΡΠΈ
aws elasticache describe-snapshots | jq -r '.Snapshots[] | .SnapshotName' automatic.backend-login-hk-2020-02-27-00-27 automatic.backend-login-vn-2020-02-27-00-27 automatic.backend-login-sg-2020-02-27-00-27
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠ»Π°ΡΡΠ΅ΠΉ
aws elasticache create-snapshot --snapshot-name backend-login-hk-snap-0001 --replication-group-id backend-login-hk --cache-cluster-id backend-login-hk
Π£Π΄Π°Π»ΠΈΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠΏΡΡΠ³ΠΎΡΡΠΈ
aws elasticache delete-snapshot --snapshot-name backend-login-hk-snap-0001
ΠΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ Π²Π²Π΅ΡΡ /Π²Π½ΠΈΠ· Π Π΅ΠΏΠ»ΠΈΠΊΠ° Elasticache
aws elasticache increase-replica-count --replication-group-id backend-login-hk --apply-immediately aws elasticache decrease-replica-count --replication-group-id backend-login-hk --apply-immediately
ΠΡΠΌΠ±Π΄Π°
Π‘ΠΏΠΈΡΠΎΠΊ Π»ΡΠΌΠ±Π΄Π° ΡΡΠ½ΠΊΡΠΈΠΉ, Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΠ°ΠΌΡΡΠΈ
aws lambda list-functions | jq -r '.Functions[] | .FunctionName+" "+.Runtime+" "+(.MemorySize|tostring)' backend-api-function nodejs8.10 512 backend-signup-email-function nodejs10.x 128 partner-api-8XJAP1VVLYA7 python3.7 128 marketing-promo-sqs-function nodejs10.x 128
Π‘ΠΏΠΈΡΠΎΠΊ lambda ΡΠ»ΠΎΠ΅Π²
aws lambda list-layers | jq -r '.Layers[] | .LayerName' imagemagik-layer django-layer nodejs-extra-layer
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ Π΄Π»Ρ Π»ΡΠΌΠ±Π΄Π°
aws lambda list-event-source-mappings | jq -r '.EventSourceMappings[] | .FunctionArn+" "+.EventSourceArn' arn:aws:lambda:function:backend-api-function arn:aws:dynamodb:table/prod-user-list/stream arn:aws:lambda:function:backend-signup-email-function arn:aws:dynamodb:table/prod-user-email/stream arn:aws:lambda:function:partner-api-8XJAP1VVLYA7 arn:aws:sqs:partner-input-msg-queue arn:aws:lambda:function:marketing-promo-sqs-function arn:aws:sqs:promo-input-msg-queue
Π‘ΠΊΠ°ΡΠ°ΡΡ Π»ΡΠΌΠ±Π΄Π° ΠΊΠΎΠ΄
aws lambda get-function --function-name DynamoToSQS | jq -r .Code.Location https://awslambda-ap-se-1-tasks.s3.ap-southeast-1.amazonaws.com/snapshots/987654321/backend-api-function-1fda0de7-a751-4586-bf64-5601a410c170
Cloudwatch.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΡΡΠ΅Π²ΠΎΠ³ΠΈ ΠΈ ΡΡΠ°ΡΡΡΠ°
aws cloudwatch describe-alarms | jq -r '.MetricAlarms[] | .AlarmName+" "+.Namespace+" "+.StateValue' backend-autoscale AWS/EC2 OK backend-lb AWS/ApplicationELB OK partner-hk AWS/ECS ALARM partner-vn AWS/ECS ALARM partner-sg AWS/ECS ALARM userdata-read AWS/DynamoDB OK userdata-write AWS/DynamoDB OK
Π‘ΠΎΠ·Π΄Π°ΡΡ Π±ΡΠ΄ΠΈΠ»ΡΠ½ΠΈΠΊ Π΄Π»Ρ EC2 ΠΡΡΠΎΠΊΠ°Ρ cpuutilization
aws cloudwatch put-metric-alarm --alarm-name high-cpu-usage --alarm-description "Alarm when CPU exceeds 70 percent" --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average --period 300 --threshold 70 --comparison-operator GreaterThanThreshold --dimensions "Name=InstanceId,Value=i-123456789" --evaluation-periods 2 --alarm-actions arn:aws:sns:ap-southeast-1:987654321:System-Alerts --unit Percent
Π‘ΠΎΠ·Π΄Π°ΡΡ Π±ΡΠ΄ΠΈΠ»ΡΠ½ΠΈΠΊ Π΄Π»Ρ EC2 High StatusCheckFailed_Instance
aws cloudwatch put-metric-alarm --alarm-name EC2-StatusCheckFailed-AppServer --alarm-description "EC2 StatusCheckFailed for AppServer" --metric-name StatusCheckFailed_Instance --namespace AWS/EC2 --statistic Average --period 60 --threshold 0 --comparison-operator GreaterThanThreshold --dimensions "Name=InstanceId,Value=i-123456789" --evaluation-periods 3 --alarm-actions arn:aws:sns:ap-southeast-1:987654321:System-Alerts --unit Count
Market53.
Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²
aws route53 list-hosted-zones | jq -r '.HostedZones[]|.Id+" "+.Name' /hostedzone/ZEB1PAH4U mysite.com. /hostedzone/ZQUOHGH3G yoursite.com. /hostedzone/ZEADEA0CO staywith.us.
Π‘ΠΏΠΈΡΠΎΠΊ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π΄Π»Ρ Π΄ΠΎΠΌΠ΅Π½Π° (Π·ΠΎΠ½Π°)
aws route53 list-resource-record-sets --hosted-zone-id /hostedzone/ZEB1PAH4U | jq -r '.ResourceRecordSets[]| if (.AliasTarget!=null) then .Type+" "+.Name+" "+.AliasTarget.DNSName else .Type+" "+.Name+" "+.ResourceRecords[].Value end' A mysite.com. dualstack.mysite-lb-967522168.ap-southeast-1.elb.amazonaws.com. A mysite.com. 11.22.33.44 TXT _amazonses.mysite.com. 6c6d761371f0480bbe60de0df275b550 A test.mysite.com. 55.66.77.88 CNAME www.mysite.com. mysite.com
SNS.
Π‘ΠΏΠΈΡΠΎΠΊ sns timics
aws sns list-topics | jq -r '.Topics[] | .TopicArn' arn:aws:sns:ap-southeast-1:987654321:backend-api-monitoring arn:aws:sns:ap-southeast-1:987654321:dynamodb-count-check arn:aws:sns:ap-southeast-1:987654321:partner-integration-check arn:aws:sns:ap-southeast-1:987654321:autoscale-notifications
Π‘ΠΏΠΈΡΠΎΠΊ SNS-ΡΠ΅ΠΌΠ° ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΡΠΈΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ
aws sns list-subscriptions | jq -r '.Subscriptions[] | .TopicArn+" "+.Protocol+" "+.Endpoint' arn:aws:sns:ap-southeast-1:autoscale-notifications lambda arn:aws:lambda:function:autoscale-function arn:aws:sns:ap-southeast-1:backend-api-monitoring email alert@mdminhazulhaque.io arn:aws:sns:ap-southeast-1:dynamodb-count-check email alert@mdminhazulhaque.io arn:aws:sns:ap-southeast-1:partner-integration-check lambda arn:aws:lambda:function:partner-function arn:aws:sns:ap-southeast-1:autoscale-notifications lambda arn:aws:lambda:function:autoscale-function
ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π½Π° SNS-ΡΠ΅ΠΌΡ
aws sns publish --topic-arn arn:aws:sns:ap-southeast-1:987654321:backend-api-monitoring \ --message "Panic!!!" \ --subject "The API is down!!!"
ΠΠΈΠ½Π°ΠΌΠΎΠ΄Π±
Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ°Π±Π»ΠΈΡ dynamodb
aws dynamodb list-tables | jq -r .TableNames[] userdata_hk userdata_vn userdata_sg providers events
ΠΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ
β ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π½ΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄ΠΎ Sigint ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ
aws dynamodb scan --table-name events
ΠΠΎΠ»ΡΡΠΈΡΡ ΡΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ
aws dynamodb scan --table-name events --select COUNT | jq .ScannedCount 726119
ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ°
aws dynamodb get-item --table-name events --key '{"email": {"S": "admin@mdminhazulhaque.io"}}' { "Item": { "email": { "S": "admin@mdminhazulhaque.io" }, "created_at": { "N": "1554780667296" }, "event_type": { "S": "DISPATCHED" } } }
ΠΠΎΠ»ΡΡΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ»Ρ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
aws dynamodb get-item --table-name events --key '{"email": {"S": "admin@mdminhazulhaque.io"}}' --attributes-to-get event_type { "Item": { "event_type": { "S": "DISPATCHED" } } }
Π£Π΄Π°Π»ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ°
aws dynamodb delete-item --table-name events --key '{"email": {"S": "admin@mdminhazulhaque.io"}}'
SQS.
ΠΡΠ΅Π±Ρ ΡΠΏΠΈΡΠΊΠ°
aws sqs list-queues | jq -r '.QueueUrls[]' https://ap-southeast-1.queue.amazonaws.com/987654321/public-events.fifo https://ap-southeast-1.queue.amazonaws.com/987654321/user-signup
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ
aws sqs create-queue --queue-name public-events.fifo | jq -r .QueueUrl https://ap-southeast-1.queue.amazonaws.com/987654321/public-events.fifo
ΠΠΎΠ΄ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ
aws sqs get-queue-attributes --queue-url https://ap-southeast-1.queue.amazonaws.com/987654321/public-events.fifo | jq -r '.Attributes | .QueueArn + " " + .ApproximateNumberOfMessages' arn:aws:sqs:ap-southeast-1:987654321:events.fifo 42
ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
aws sqs send-message --queue-url https://ap-southeast-1.queue.amazonaws.com/987654321/public-events.fifo --message-body Hello { "MD5OfMessageBody": "37b51d194a7513e45b56f6524f2d51f2", "MessageId": "4226398e-bab0-4bee-bf5a-8e7ae18c855a" }
ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
aws sqs receive-message --queue-url https://ap-southeast-1.queue.amazonaws.com/987654321/public-events.fifo | jq -r '.Messages[] | .Body' Hello
Π£Π΄Π°Π»ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
aws sqs delete-message --queue-url https://ap-southeast-1.queue.amazonaws.com/987654321/public-events.fifo --receipt-handle "AQEBpqKLxNb8rIOn9ykSeCkKebNzn0BrEJ3Cg1RS6MwID2t1oYHCnMP06GnuVZGzt7kpWXZ5ieLQ=="
ΠΡΠΈΡΡΠΈΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ
aws sqs purge-queue --queue-url https://ap-southeast-1.queue.amazonaws.com/987654321/public-events.fifo
Π£Π΄Π°Π»ΠΈΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ
aws sqs delete-queue --queue-url https://ap-southeast-1.queue.amazonaws.com/987654321/public-events.fifo
Cloudfront.
Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ CloudFront ΠΈ Origins
aws cloudfront list-distributions | jq -r '.DistributionList.Items[] | .DomainName+" "+.Origins.Items[0].DomainName' d9d5bb1e3c281f.cloudfront.net frontend-prod-hk.s3.amazonaws.com d12b09e8a0a996.cloudfront.net frontend-prod-vn.s3.amazonaws.com db64e7e9b3cc22.cloudfront.net frontend-prod-sg.s3.amazonaws.com d5e3221cf8b921.cloudfront.net cdn.mdminhazulhaque.io
Π‘ΠΎΠ·Π΄Π°ΡΡ Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΡΡ
aws cloudfront create-invalidation --distribution-id D12B09E8A0A996 --path /blog/\* /blog/assets/\* | jq -r '.Invalidation.Id' IALJ5AL93ZD79
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΡΠ°ΡΡΡ Π°Π½Π½ΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΡΡΠ°
aws cloudfront get-invalidation --distribution-id D12B09E8A0A996 --id IALJ5AL93ZD79 | jq -r '.Invalidation.Status' Completed
Π£ΡΠΈΠ»ΠΈΠ²Π°ΡΡ
Π‘ΠΏΠΈΡΠΎΠΊ ΡΡΠΈΠ»ΠΈΡΠ΅Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°
aws amplify list-apps | jq -r '.apps[] | .name+" "+.defaultDomain+" "+.repository' fe-vn d9d5bb1e3c281f.amplifyapp.com https://bitbucket.org/aws/frontend-vn fe-hk db64e7e9b3cc22.amplifyapp.com https://bitbucket.org/aws/frontend-hk fe-sg d5e3221cf8b921.amplifyapp.com https://bitbucket.org/aws/frontend-sg
ΠΠΎΠ³Π½ΠΈΡΠΎ
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΈ ΠΈΠΌΠ΅Π½ ΠΏΡΠ»Π°
aws cognito-idp list-user-pools --max-results 60 | jq -r '.UserPools[] | .Id+" "+.Name' ap-southeast-1_b6da07d35 prod-users ap-southeast-1_b6da07d34 dev-users
Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΏΠΎΡΡΠ° Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
aws cognito-idp list-users --user-pool-id ap-southeast-1_b6da07d35 | jq -r '.Users[].Attributes | from_entries | .sub + " " + .phone_number + " " + .email' 585fb96e-525c-4f9b-9d41-865d2dffde9b +601122334455 admin@mdminhazulhaque.io 71f2778c-8e21-4775-94dc-e363c77d1ae1 +601122334455 foo@bar.com 8fc1882e-e661-49db-88e6-45d370bc352a +601122334455 cli@aws.com
IAM ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
Π‘ΠΏΠΈΡΠΎΠΊ userid ΠΈ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
aws iam list-users | jq -r '.Users[]|.UserId+" "+.UserName' AIDAZBWIOJIQFOLNBXXCVSUQ kaiser AIDAZCTWYVXYOKSHVWXPYPLR thornton AIDAZUYALCGFQJENBCZFJTVX maldonado AIDAZKQAFIGQJWOKKSKRBLGE key AIDAZXUDGQVQCEWBFGIJOWWY nelson
ΠΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
aws iam get-user --user-name kaiser
ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
aws iam create-user --user-name audit-temp
Π£Π΄Π°Π»ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
aws iam delete-user --user-name audit-temp
Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ»ΡΡΠ΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ° Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
aws iam list-access-keys --user-name audit-temp | jq -r .AccessKeyMetadata[].AccessKeyId AKIABWIOJIQFOLNBXXCVSUQ AKIACTWYVXYOKSHVWXPYPLR AKIAUYALCGFQJENBCZFJTVX
Π£Π΄Π°Π»ΠΈΡΡ ΠΊΠ»ΡΡ Π΄ΠΎΡΡΡΠΏΠ° Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
aws iam delete-access-key --user-name audit-temp --access-key-id AKIABWIOJIQFOLNBXXCVSUQ
ΠΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ/Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡ Π΄ΠΎΡΡΡΠΏΠ° Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
aws iam update-access-key --status Inactive --user-name audit-temp --access-key-id AKIABWIOJIQFOLNBXXCVSUQ aws iam update-access-key --status Active --user-name audit-temp --access-key-id AKIABWIOJIQFOLNBXXCVSUQ
Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠ»ΡΡ Π΄ΠΎΡΡΡΠΏΠ° Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
aws iam create-access-key --user-name audit-temp | jq -r '.AccessKey | .AccessKeyId+" "+.SecretAccessKey' AKIABWIOJIQFOLNBXXCVSUQ p9ge02ebLX9jobdQKmfikRqCiEw3HBylwHyXq0z
IAM GROUP
Π‘ΠΏΠΈΡΠΎΠΊ Π³ΡΡΠΏΠΏ
aws iam list-groups | jq -r .Groups[].GroupName developers administrators testers marketing-ro
ΠΠΎΠ±Π°Π²ΠΈΡΡ/Π£Π΄Π°Π»ΠΈΡΡ Π³ΡΡΠΏΠΏΡ
aws iam create-group --group-name business-ro aws iam delete-group --group-name business-ro
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΠΈΡΠΈΠΊ ΠΈ Π°ΡΠ½ΠΎΠ²
aws iam list-policies | jq -r '.Policies[]|.PolicyName+" "+.Arn' aws iam list-policies --scope AWS | jq -r '.Policies[]|.PolicyName+" "+.Arn' aws iam list-policies --scope Local | jq -r '.Policies[]|.PolicyName+" "+.Arn'
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ/Π³ΡΡΠΏΠΏΠ°/ΡΠΎΠ»ΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ
aws iam list-entities-for-policy --policy-arn arn:aws:iam::987654321:policy/Marketing-ReadOnly
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΠΈΡΠΈΠΊ Π΄Π»Ρ Π³ΡΡΠΏΠΏΡ
aws iam list-attached-group-policies --group-name business-ro
ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ Π² Π³ΡΡΠΏΠΏΡ
aws iam attach-group-policy --group-name business-ro --policy-arn arn:aws:iam::aws:policy/DynamoDBReadOnlyAccess
ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π³ΡΡΠΏΠΏΡ
aws iam add-user-to-group --group-name business-ro --user-name marketing-michael
Π£Π΄Π°Π»ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ· Π³ΡΡΠΏΠΏΡ
aws iam remove-user-from-group --group-name business-ro --user-name marketing-alice
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π² Π³ΡΡΠΏΠΏΠ΅
aws iam get-group --group-name business-ro
Π‘ΠΏΠΈΡΠΎΠΊ Π³ΡΡΠΏΠΏ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
aws iam list-groups-for-user --user-name qa-bob
ΠΡΠΈΠΊΡΠ΅ΠΏΠΈΡΡ/ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ ΠΊ Π³ΡΡΠΏΠΏΠ΅
aws iam detach-group-policy --group-name business-ro --policy-arn arn:aws:iam::aws:policy/DynamoDBFullAccess aws iam attach-group-policy --group-name business-ro --policy-arn arn:aws:iam::aws:policy/DynamoDBFullAccess
ΠΠ΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ Π·Π²Π΅Π·Π΄ΠΎΡΠΊΡ, Π²ΠΈΠ»ΠΈΡΡ Π΅Π³ΠΎ ΠΈΠ»ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΡΠ³Ρ!
mdminhazulhaque/aws-cli-cheatsheet
βοΈ AWS CLI + ΠΆΠΈΠ·Π½Ρ ΠΠΎΠ»Π΅Π³ΡΠ΅
π§ Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ
π’ ΠΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅
- EC2.
- ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΡΠΏΠΈΡΠΊΠ°, ΡΠΈΠΏ ΠΈ ΠΈΠΌΡ
- Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΌ IP-Π°Π΄ΡΠ΅ΡΠΎΠΌ ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ
- Π‘ΠΏΠΈΡΠΎΠΊ VPCS ΠΈ IP-Π±Π»ΠΎΠΊΠ° CIDR
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ΄ΡΠ΅ΡΠΈ Π΄Π»Ρ VPC
- Π‘ΠΏΠΈΡΠΎΠΊ Π³ΡΡΠΏΠΏ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
- ΠΠ΅ΡΠ°ΡΡ Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°
- Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°
- ΠΠ΅ΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π³ΡΡΠΏΠΏΠΎΠ²ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Print ΠΊΠ°ΠΊ fromaddress ΠΈ toport
- ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π² Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
- Π£Π΄Π°Π»ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΎΡ Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
- Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π³ΡΡΠΏΠΏΡ
- Π£Π΄Π°Π»ΠΈΡΡ Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
- S3
- Π‘ΠΏΠΈΡΠΎΠΊ Π²Π΅Π΄Π΅Ρ
- Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π²Π΅Π΄ΡΠ΅
- Π‘ΠΎΠ·Π΄Π°ΡΡ Π²Π΅Π΄ΡΠΎ
- Π£Π΄Π°Π»ΠΈΡΡ Π²Π΅Π΄ΡΠΎ
- Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ S3 Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ
- ΠΠ°Π³ΡΡΠ·ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° S3
- Π£Π΄Π°Π»ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ S3
- Π‘ΠΊΠ°ΡΠ°ΡΡ Π²Π΅Π΄ΡΠΎ Π² ΠΌΠ΅ΡΡΠ½ΠΎΠ΅
- ΠΠ°Π³ΡΡΠ·ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π² Π²Π΅Π΄ΡΠΎ
- ΠΠ±ΡΠ΅ΠΊΡ S3 S3 Π±Π΅Π· ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°
- API Gateway
ΠΡΠΈΠ³ΠΈΠ½Π°Π»: «https://dev.to/mdminhazulhaque/aws-cli-cheatsheet-15f2»