{"id":2113,"date":"2026-05-26T07:24:05","date_gmt":"2026-05-26T07:24:05","guid":{"rendered":"https:\/\/www.vpascode.com\/vn\/docs\/uncategorized\/plantuml-deployment-diagram-syntax-guide\/"},"modified":"2026-05-26T07:24:05","modified_gmt":"2026-05-26T07:24:05","slug":"plantuml-deployment-diagram-syntax-guide","status":"publish","type":"ld_docs","link":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-deployment-diagram-syntax-guide\/","title":{"rendered":"H\u01b0\u1edbng d\u1eabn c\u00fa ph\u00e1p s\u01a1 \u0111\u1ed3 tri\u1ec3n khai PlantUML"},"content":{"rendered":"<h2>S\u01a1 \u0111\u1ed3 tri\u1ec3n khai l\u00e0 g\u00ec?<\/h2>\n<p>M\u1ed9t <strong>S\u01a1 \u0111\u1ed3 tri\u1ec3n khai<\/strong> l\u00e0 m\u1ed9t s\u01a1 \u0111\u1ed3 c\u1ea5u tr\u00fac <strong>s\u01a1 \u0111\u1ed3 UML<\/strong> m\u00f4 h\u00ecnh h\u00f3a ki\u1ebfn tr\u00fac th\u1ef1c thi v\u1eadt l\u00fd c\u1ee7a m\u1ed9t h\u1ec7 th\u1ed1ng ph\u1ea7n m\u1ec1m. L\u00e0 m\u1ed9t ti\u00eau chu\u1ea9n c\u1ed1t l\u00f5i trong \u0111\u1eb7c t\u1ea3 Ng\u00f4n ng\u1eef M\u00f4 h\u00ecnh h\u00f3a \u0110\u01a1n nh\u1ea5t (UML), lo\u1ea1i s\u01a1 \u0111\u1ed3 UML n\u00e0y<strong>lo\u1ea1i s\u01a1 \u0111\u1ed3 UML<\/strong> m\u00f4 t\u1ea3 c\u00e1ch c\u00e1c th\u00e0nh ph\u1ea7n ph\u1ea7n m\u1ec1m \u0111\u01b0\u1ee3c tri\u1ec3n khai v\u1eadt l\u00fd l\u00ean c\u00e1c m\u1ee5c ti\u00eau m\u00e1y ch\u1ee7 ph\u1ea7n c\u1ee9ng, c\u00e1c th\u00e0nh ph\u1ea7n h\u1ea1 t\u1ea7ng \u0111\u00e1m m\u00e2y ho\u1eb7c m\u00f4i tr\u01b0\u1eddng ch\u1ea1y container. N\u00f3 cung c\u1ea5p cho c\u00e1c k\u1ef9 s\u01b0 h\u1ec7 th\u1ed1ng, chuy\u00ean gia DevOps v\u00e0 ki\u1ebfn tr\u00fac s\u01b0 m\u1ea1ng m\u1ed9t b\u1ed1 c\u1ee5c r\u00f5 r\u00e0ng v\u1ec1 c\u00e1c ranh gi\u1edbi c\u1ee5m m\u00e1y ch\u1ee7, c\u00e1c \u0111\u01b0\u1eddng \u0111i sao ch\u00e9p c\u01a1 s\u1edf d\u1eef li\u1ec7u, c\u00e1c t\u1ea7ng c\u00e2n b\u1eb1ng t\u1ea3i v\u00e0 c\u00e1c giao th\u1ee9c m\u1ea1ng ph\u1ea7n c\u1ee9ng tr\u00ean c\u00e1c khu v\u1ef1c ph\u00e1t tri\u1ec3n v\u00e0 s\u1ea3n xu\u1ea5t.<\/p>\n<p>V\u1edbi <strong>VPasCode<\/strong>, b\u1ea1n kh\u00f4ng c\u1ea7n ph\u1ea3i v\u1ea5t v\u1ea3 v\u1edbi c\u00e1c h\u00ecnh d\u1ea1ng nh\u00f3m vector ph\u1ee9c t\u1ea1p hay \u00e1nh x\u1ea1 t\u1ecda \u0111\u1ed9 th\u1ee7 c\u00f4ng. B\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng c\u00e1c kh\u1ed1i m\u00e3 khai b\u00e1o \u0111\u01a1n gi\u1ea3n, b\u1ed9 x\u1eed l\u00fd c\u1ee7a ch\u00fang t\u00f4i t\u1ef1 \u0111\u1ed9ng nh\u00f3m, t\u00ednh to\u00e1n v\u00e0 l\u1ed3ng gh\u00e9p c\u1ea5u tr\u00fac n\u00fat ph\u1ea7n c\u1ee9ng c\u1ee7a b\u1ea1n m\u1ed9t c\u00e1ch s\u1ea1ch s\u1ebd.<\/p>\n<h2>H\u01b0\u1edbng d\u1eabn c\u00fa ph\u00e1p c\u1ed1t l\u00f5i: C\u00e1c th\u00e0nh ph\u1ea7n v\u00e0 c\u1ea5u tr\u00fac<\/h2>\n<p>\u0110\u1ec3 thi\u1ebft k\u1ebf m\u1ed9t s\u01a1 \u0111\u1ed3 tri\u1ec3n khai UML ch\u00ednh x\u00e1c v\u00e0 tu\u00e2n th\u1ee7 chu\u1ea9n trong PlantUML, b\u1ea1n c\u1ea7n n\u1eafm v\u1eefng c\u00e1c n\u00fat ph\u1ea7n c\u1ee9ng, m\u00f4i tr\u01b0\u1eddng th\u1ef1c thi, c\u00e1c t\u00e0i s\u1ea3n tri\u1ec3n khai v\u00e0 c\u00e1c li\u00ean k\u1ebft m\u1ea1ng.<\/p>\n<h3>1. Khai b\u00e1o c\u00e1c kh\u1ed1i c\u01a1 s\u1edf h\u1ea1 t\u1ea7ng (n\u00fat)<\/h3>\n<p>Trong b\u1ed1 c\u1ee5c tri\u1ec3n khai, c\u00e1c t\u00e0i nguy\u00ean t\u00ednh to\u00e1n v\u1eadt l\u00fd \u0111\u01b0\u1ee3c bi\u1ec3u di\u1ec5n d\u01b0\u1edbi d\u1ea1ng c\u00e1c kh\u1ed1i ba chi\u1ec1u 3D. B\u1ea1n khai b\u00e1o c\u00e1c th\u00e0nh ph\u1ea7n n\u00e0y b\u1eb1ng t\u1eeb kh\u00f3a <code>node<\/code> t\u1eeb kh\u00f3a, ho\u1eb7c b\u1eb1ng c\u00e1ch ch\u1ecdn c\u00e1c bi\u1ebfn th\u1ec3 chuy\u00ean bi\u1ec7t gi\u00fap ng\u01b0\u1eddi \u0111\u1ecdc ngay l\u1eadp t\u1ee9c hi\u1ec3u \u0111\u01b0\u1ee3c b\u1ed1i c\u1ea3nh tr\u1ef1c quan v\u1ec1 c\u1ea5p \u0111\u1ed9 ph\u1ea7n c\u1ee9ng:<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:oyjFILLGSaeiIbNmJIr9p55mB2Z8oKnEBCdCprC8JYqgIorIKaWiLd3EBqg5S7cvya1w81n3NgwKn9B4fCHYe2akC1QIFXUdU3-WSW00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:oyjFILLGyZsyi58XEUFXxkKA3tUlp4jNI7cuUocGSaeiIbNmJIr9p55II2nMSCulIWrEBIfBBUBboWDfX70CURbI4aiIanABKOrAFhPGeVZXxlaWqzOhv6G-tDrU2ZR7nIdU3wWT0000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">node \"M\u00e1y ch\u1ee7 \u1ee9ng d\u1ee5ng Bare Metal\" as CoreServer\r\nnode Server1\r\ndatabase \"M\u00e1y ch\u1ee7 c\u01a1 s\u1edf d\u1eef li\u1ec7u\" as DB_Node<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:oyjFILLGyZsyi58XEUFXxkKA3tUlp4jNI7cuUocGSaeiIbNmJIr9p55II2nMSCulIWrEBIfBBUBboWDfX70CURbI4aiIanABKOrAFhPGeVZXxlaWqzOhv6G-tDrU2ZR7nIdU3wWT0000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:oyjFILLGSaeiIbNmJIr9p55mB2Z8oKnEBCdCprC8JYqgIorIKaWiLd3EBqg5S7cvya1w81n3NgwKn9B4fCHYe2akC1QIFXUdU3-WSW00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"CKPzhvR\"><img fetchpriority=\"high\" alt=\"\" class=\"alignnone size-full wp-image-590\" decoding=\"async\" fetchpriority=\"high\" height=\"154\" sizes=\"(max-width: 381px) 100vw, 381px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19005832ad6.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19005832ad6.png 381w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19005832ad6-300x121.png 300w\" width=\"381\"\/><\/p>\n<h3>2. M\u00f4 h\u00ecnh h\u00f3a c\u00e1c l\u1edbp \u0111\u00e1m m\u00e2y v\u00e0 m\u00f4i tr\u01b0\u1eddng \u1ea3o<\/h3>\n<p>C\u00e1c \u1ee9ng d\u1ee5ng hi\u1ec7n \u0111\u1ea1i hi\u1ebfm khi \u0111\u01b0\u1ee3c tri\u1ec3n khai tr\u1ef1c ti\u1ebfp l\u00ean ph\u1ea7n c\u1ee9ng v\u1eadt l\u00fd. PlantUML cung c\u1ea5p c\u00e1c bao b\u1ecdc nh\u00f3m l\u1ed3ng gh\u00e9p \u0111\u1ec3 bi\u1ec3u di\u1ec5n c\u00e1c ranh gi\u1edbi th\u1ef1c thi logic, c\u00e1c v\u00f9ng ph\u1ee7 c\u1ee7a nh\u00e0 cung c\u1ea5p \u0111\u00e1m m\u00e2y ho\u1eb7c c\u00e1c m\u00f4i tr\u01b0\u1eddng ch\u1ea1y container \u1ea3o nh\u01b0 Docker v\u00e0 Kubernetes:<\/p>\n<ul>\n<li><code>cloud<\/code> \u2014 \u0110\u1ea1i di\u1ec7n cho c\u00e1c t\u1ea7ng web c\u00f4ng c\u1ed9ng b\u00ean ngo\u00e0i ho\u1eb7c c\u00e1c ranh gi\u1edbi m\u1ea1ng \u0111\u00e1m m\u00e2y (v\u00ed d\u1ee5: AWS, Azure).<\/li>\n<li><code>frame<\/code> \u2014 \u0110\u1ea1i di\u1ec7n cho c\u00e1c h\u1ec7 th\u1ed1ng \u1ea3o ho\u1eb7c c\u00e1c khu v\u1ef1c t\u1ed5 ch\u1ee9c.<\/li>\n<li><code>storage<\/code> \u2014 \u0110\u1ea1i di\u1ec7n cho c\u00e1c c\u1ea5u h\u00ecnh SAN v\u1eadt l\u00fd ho\u1eb7c c\u00e1c v\u1ecb tr\u00ed l\u01b0u tr\u1eef \u0111\u1ed1i t\u01b0\u1ee3ng.<\/li>\n<\/ul>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:Iyx9BqrHK7BCJQpAprC8JqrI24ujAijCJYrM20jmLbAevkLI08Ay_9HK1ILNPoC5dyoyqWe5pxpYaiIyv5GbXSHYXV3yekpK8Z-W4bwkMW00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:Iyx9BqrHK7BCJQpAprC8JqrI24ujAijCJYrM20jmLbAevkLI08Ay_9HK1QMGZ8UxDoOhb02fPWLNPoC5dyoyqWebXSHYXV3yekpK8Z-WCbwkMW00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">cloud \"Amazon Web Services VPC\" {\r\n    node \"Th\u1ef1c th\u1ec3 EC2 Linux\" as WorkerNode\r\n}<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:Iyx9BqrHK7BCJQpAprC8JqrI24ujAijCJYrM20jmLbAevkLI08Ay_9HK1QMGZ8UxDoOhb02fPWLNPoC5dyoyqWebXSHYXV3yekpK8Z-WCbwkMW00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:Iyx9BqrHK7BCJQpAprC8JqrI24ujAijCJYrM20jmLbAevkLI08Ay_9HK1ILNPoC5dyoyqWe5pxpYaiIyv5GbXSHYXV3yekpK8Z-W4bwkMW00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"JVQyXRY\"><img alt=\"\" class=\"alignnone size-full wp-image-591\" decoding=\"async\" height=\"101\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19006382161.png\" width=\"232\"\/><\/p>\n<h3>3. X\u00e1c \u0111\u1ecbnh c\u00e1c t\u00e0i s\u1ea3n tri\u1ec3n khai (Ch\u1ea1y \u1edf \u0111\u00e2u)<\/h3>\n<p>M\u1ed9t t\u00e0i s\u1ea3n \u0111\u1ea1i di\u1ec7n cho t\u1ec7p v\u1eadt l\u00fd th\u1ef1c t\u1ebf (v\u00ed d\u1ee5: t\u1ec7p JAR \u0111\u00e3 bi\u00ean d\u1ecbch, th\u01b0 m\u1ee5c x\u00e2y d\u1ef1ng t\u0129nh ho\u1eb7c g\u00f3i n\u00e9n) \u0111\u01b0\u1ee3c tri\u1ec3n khai l\u00ean m\u1ed9t n\u00fat. B\u1ea1n khai b\u00e1o m\u1ed9t t\u00e0i s\u1ea3n b\u1eb1ng t\u1eeb kh\u00f3a<code>t\u00e0i s\u1ea3n<\/code>t\u1eeb kh\u00f3a, ho\u1eb7c \u0111\u1eb7t n\u00f3 tr\u1ef1c ti\u1ebfp b\u00ean trong c\u00e1c kh\u1ed1i ph\u1ea7n c\u1ee9ng c\u1ee7a b\u1ea1n:<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:oyjFILLGSYmeoCbCJYp9pCzJ24ujAaijKbAevkLI08B4efBCjCJa4WMbn8BC-393FGEzyaIWT6AnWcE0PxnRPaugBrSj0000\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:oyjFILLGyZsyi58XEUFXxkKA3tUlp4jNI7cuUsbUkf92DI-N0X2K75wGgL3ySDVYF0Mbn8BC-393FGEzyiGY9ON4OWN70CzujyoSL5wkMW00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">node \"M\u00e1y ch\u1ee7 \u1ee9ng d\u1ee5ng\" {\r\n    t\u00e0i s\u1ea3n \"api_v1.0.war\" as API_File\r\n}<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:oyjFILLGyZsyi58XEUFXxkKA3tUlp4jNI7cuUsbUkf92DI-N0X2K75wGgL3ySDVYF0Mbn8BC-393FGEzyiGY9ON4OWN70CzujyoSL5wkMW00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:oyjFILLGSYmeoCbCJYp9pCzJ24ujAaijKbAevkLI08B4efBCjCJa4WMbn8BC-393FGEzyaIWT6AnWcE0PxnRPaugBrSj0000\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"UWYgaSU\"><img alt=\"\" class=\"alignnone size-full wp-image-592\" decoding=\"async\" height=\"97\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a190071a8c50.png\" width=\"224\"\/><\/p>\n<h3>4. B\u1ea3n \u0111\u1ed3 c\u00e1c li\u00ean k\u1ebft truy\u1ec1n th\u00f4ng m\u1ea1ng<\/h3>\n<p>C\u00e1c k\u1ebft n\u1ed1i gi\u1eefa c\u00e1c th\u00e0nh ph\u1ea7n h\u1ea1 t\u1ea7ng \u0111\u1ea1i di\u1ec7n cho c\u00e1c m\u1ea1ng v\u1eadt l\u00fd c\u1ee5 th\u1ec3, \u0111\u01b0\u1eddng d\u1eabn d\u00e2y ho\u1eb7c k\u00eanh kh\u00f4ng d\u00e2y. B\u1ea1n b\u1ea3n \u0111\u1ed3 c\u00e1c li\u00ean k\u1ebft n\u00e0y b\u1eb1ng d\u1ea5u g\u1ea1ch k\u00e9p li\u1ec1n (<code>--<\/code>), v\u00e0 th\u00eam v\u0103n b\u1ea3n b\u00ean trong d\u1ea5u ngo\u1eb7c k\u00e9p \u0111\u1ec3 x\u00e1c \u0111\u1ecbnh r\u00f5 giao th\u1ee9c m\u1ea1ng \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng (v\u00ed d\u1ee5: HTTPS, TCP\/IP, SSH):<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:oyjFILK8JYqgIoqovENA0_5SdEBzW3Gl5rHOGLSN9gPWfQ0KuXoWxncWe16GNrIYO6fYRAIf1000\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:oyjFILK8JYqgIoqovENA0_5SdEBzW3Gl5rHOGLSN9gPWfQ0KuXoWxncWeE7ySFVKl7G5KnDZ8qqb0000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">node Server1\r\nnode DB_Node\r\nServer1 -- DB_Node : \"TCP\/IP (C\u1ed5ng 5432)\"<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:oyjFILK8JYqgIoqovENA0_5SdEBzW3Gl5rHOGLSN9gPWfQ0KuXoWxncWeE7ySFVKl7G5KnDZ8qqb0000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:oyjFILK8JYqgIoqovENA0_5SdEBzW3Gl5rHOGLSN9gPWfQ0KuXoWxncWe16GNrIYO6fYRAIf1000\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"jxPXTem\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-593\" decoding=\"async\" height=\"176\" loading=\"lazy\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a190084d9e9d.png\" width=\"181\"\/><\/p>\n<h2>C\u00e1c nguy\u00ean t\u1eafc t\u1ed1t nh\u1ea5t cho b\u1ea3n \u0111\u1ed3 tri\u1ec3n khai th\u1ef1c t\u1ebf<\/h2>\n<ul>\n<li><strong>\u0110\u1eb7t c\u1ea5u tr\u00fac \u0111\u00fang c\u00e1ch:<\/strong> Lu\u00f4n v\u1ebd c\u00e1c th\u00e0nh ph\u1ea7n n\u1ed9i b\u1ed9 ho\u1eb7c t\u00e0i s\u1ea3n c\u1ee7a b\u1ea1n *b\u00ean trong* d\u1ea5u ngo\u1eb7c nh\u1ecdn c\u1ee7a khai b\u00e1o<code>node<\/code>\u0111\u1ec3 r\u00f5 r\u00e0ng th\u1ec3 hi\u1ec7n v\u1ecb tr\u00ed th\u1ef1c thi.<\/li>\n<li><strong>G\u1eafn nh\u00e3n giao th\u1ee9c truy\u1ec1n th\u00f4ng:<\/strong> Kh\u00f4ng bao gi\u1edd v\u1ebd d\u00f2ng tr\u1ed1ng gi\u1eefa c\u00e1c m\u00e1y ch\u1ee7. Lu\u00f4n g\u1eafn nh\u00e3n cho k\u1ebft n\u1ed1i b\u1eb1ng giao th\u1ee9c truy\u1ec1n th\u00f4ng ch\u00ednh c\u1ee7a n\u00f3 (v\u00ed d\u1ee5: <code>\"HTTPS (C\u1ed5ng 443)\"<\/code>) \u0111\u1ec3 h\u1ed7 tr\u1ee3 \u0111\u00e1nh gi\u00e1 m\u1ea1ng v\u00e0 b\u1ea3o m\u1eadt.<\/li>\n<li><strong>T\u00e1ch bi\u1ec7t c\u00e1c v\u00f9ng kh\u1ea3 d\u1ee5ng:<\/strong> Khi t\u00e0i li\u1ec7u h\u00f3a c\u00e1c c\u1ea5u h\u00ecnh \u0111\u00e1m m\u00e2y c\u00f3 kh\u1ea3 n\u0103ng ho\u1ea1t \u0111\u1ed9ng li\u00ean t\u1ee5c cao, h\u00e3y s\u1eed d\u1ee5ng c\u00e1c bao b\u1ecdc ri\u00eang bi\u1ec7t <code>khung<\/code> bao b\u1ecdc \u0111\u1ec3 minh h\u1ecda c\u00e1c thi\u1ebft l\u1eadp v\u00f9ng ph\u00e2n t\u00e1ch (v\u00ed d\u1ee5: <code>us-east-1a<\/code> so v\u1edbi <code>us-east-1b<\/code>).<\/li>\n<\/ul>\n<h2>C\u00e1c v\u00ed d\u1ee5 v\u1ec1 s\u01a1 \u0111\u1ed3 tri\u1ec3n khai PlantUML trong th\u1ebf gi\u1edbi th\u1ef1c<\/h2>\n<h3>V\u00ed d\u1ee5 1: C\u1ea5u h\u00ecnh web ba t\u1ea7ng c\u1ed5 \u0111i\u1ec3n (n\u00fat v\u00e0 giao th\u1ee9c)<\/h3>\n<p>M\u1eabu n\u00e0y m\u00f4 ph\u1ecfng c\u1ea5u tr\u00fac \u1ee9ng d\u1ee5ng doanh nghi\u1ec7p hi\u1ec7n \u0111\u1ea1i ti\u00eau chu\u1ea9n, m\u00f4 t\u1ea3 m\u1ea1ng ph\u00e2n ph\u1ed1i n\u1ed9i dung b\u00ean ngo\u00e0i, c\u1ee5m m\u00e1y ch\u1ee7 \u1ee9ng d\u1ee5ng v\u00e0 t\u1ea7ng m\u00e1y ch\u1ee7 c\u01a1 s\u1edf d\u1eef li\u1ec7u n\u1ed9i b\u1ed9 \u0111\u01b0\u1ee3c b\u1ea3o m\u1eadt.<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LP8nJyCm48NtIFaFfooKeQMqHQgOW1I9IWK59J2mL9Vu6emSEtASqeBuxvpJj08lbi-Vdj-xyqtZqBgsKc5GADCAY98sLxA0fNPaDRa8i07Umo0Cj144KUovZK9B42-Uu5wKr465q1xQMAoOMb0bbMHn-KK2temc62mUtyuZ-0u3u7KGUogbti7Ae80xLAWBif2ItPBjD6jhTlim-FaZd5YvHKTmMzVi4vqq6bwJ6D8sx-p-at_9M-tQNX4caz5urkbYNQyxegVzuZx83HOEei9OMcCjHnzeZ_ZnhGF_qtiIw337XbzwH8qb9rqSAvdq6VwvIKpZIalfymeuHOLs3x5g6zU75VcwGd_gnS_WdgV3qsZUmPdQA5Eo2GM5qPgABlYdjDJmOCZ1SEWd0DSGFMHPaaOyK3vojUlXgGw3R9N2vMXwpiJXYfbJFteC1ecn3kRZ-TXpfsj6JouzcyN9nV98Nysc4q_Va1Ryetu1\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:TP8nIyD05CVtGBx38ujrQArLeJW9SL2mKcbqS2dNIzgUfdVnSW6BE3ixE3X95H45KS751768z7lSD_5TMgi8tXBkvNVl_x__kxLO4QcIGMXRD1I93yucLu7aWGAQl_8UK9rTyfu390OisfPjSU47uBWw7V4-kElRu9g3tP38eC2epmtMbMI0t5x-XbsYFeEZ9B_c4Eli1KhhZVrv1qvi2t1D6ZRoqH1eNsTtg8nWHwSlU5Bfz8R1Te_nuw9x9CNnqBPEVqaqZ1LqAZZiDLtGsJtkV9tTuaUo_C5q6J__BxVRIRXAe5QhL9SB3H95xOAQdZ0BKs9TGXKuLCYWJI9MEI3o6myP9Oe9Fk5Ff_vyeaY7nAZcwVJEM1oFJ01NnjqJX4ndPmbyde-VTNP3CI2yAuSmV__ZrSMx3D1i_eY9DqMiUZ9exMmLudwdFI0nZcogEGTUd-dqGq6eqyS8innHyFFh8HmMLQwpSmPAH08dYLCkbyt0O1MS3SzhjXny1xZ5QX7qh0ubRwi5YvMbUIGclv2P1JN5e8HMB_2YzMgzQiWPWF3CgQ4zjxcm-SElB2_L3ByMS1yVunS0\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\ncloud \"Internet c\u00f4ng c\u1ed9ng\" as net\r\n\r\nnode \"C\u1ea1nh CDN Cloudflare\" as cdn\r\n\r\nframe \"V\u00f9ng phi qu\u00e2n s\u1ef1 (DMZ)\" {\r\n    node \"M\u00e1y ch\u1ee7 c\u00e2n b\u1eb1ng t\u1ea3i Nginx\" as proxy\r\n}\r\n\r\nframe \"M\u1ea1ng con VPC \u1ee9ng d\u1ee5ng ri\u00eang t\u01b0\" {\r\n    node \"M\u00e1y ch\u1ee7 Ubuntu 22.04\" as app_node {\r\n        artifact \"core_api.jar\" as application\r\n    }\r\n}\r\n\r\ndatabase \"T\u1ea7ng c\u01a1 s\u1edf d\u1eef li\u1ec7u \u0111\u01b0\u1ee3c qu\u1ea3n l\u00fd\" {\r\n    node \"C\u1ee5m ch\u00ednh PostgreSQL\" as db_master\r\n}\r\n\r\n' Thi\u1ebft l\u1eadp c\u00e1c d\u00e2y k\u1ebft n\u1ed1i topo\r\nnet -- cdn : \"HTTPS\"\r\ncdn -- proxy : \"HTTPS (TLS 1.3)\"\r\nproxy -- app_node : \"HTTP (C\u1ed5ng 8080)\"\r\napp_node -- db_master : \"TCP\/IP (C\u1ed5ng 5432)\"\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:TP8nIyD05CVtGBx38ujrQArLeJW9SL2mKcbqS2dNIzgUfdVnSW6BE3ixE3X95H45KS751768z7lSD_5TMgi8tXBkvNVl_x__kxLO4QcIGMXRD1I93yucLu7aWGAQl_8UK9rTyfu390OisfPjSU47uBWw7V4-kElRu9g3tP38eC2epmtMbMI0t5x-XbsYFeEZ9B_c4Eli1KhhZVrv1qvi2t1D6ZRoqH1eNsTtg8nWHwSlU5Bfz8R1Te_nuw9x9CNnqBPEVqaqZ1LqAZZiDLtGsJtkV9tTuaUo_C5q6J__BxVRIRXAe5QhL9SB3H95xOAQdZ0BKs9TGXKuLCYWJI9MEI3o6myP9Oe9Fk5Ff_vyeaY7nAZcwVJEM1oFJ01NnjqJX4ndPmbyde-VTNP3CI2yAuSmV__ZrSMx3D1i_eY9DqMiUZ9exMmLudwdFI0nZcogEGTUd-dqGq6eqyS8innHyFFh8HmMLQwpSmPAH08dYLCkbyt0O1MS3SzhjXny1xZ5QX7qh0ubRwi5YvMbUIGclv2P1JN5e8HMB_2YzMgzQiWPWF3CgQ4zjxcm-SElB2_L3ByMS1yVunS0\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LP8nJyCm48NtIFaFfooKeQMqHQgOW1I9IWK59J2mL9Vu6emSEtASqeBuxvpJj08lbi-Vdj-xyqtZqBgsKc5GADCAY98sLxA0fNPaDRa8i07Umo0Cj144KUovZK9B42-Uu5wKr465q1xQMAoOMb0bbMHn-KK2temc62mUtyuZ-0u3u7KGUogbti7Ae80xLAWBif2ItPBjD6jhTlim-FaZd5YvHKTmMzVi4vqq6bwJ6D8sx-p-at_9M-tQNX4caz5urkbYNQyxegVzuZx83HOEei9OMcCjHnzeZ_ZnhGF_qtiIw337XbzwH8qb9rqSAvdq6VwvIKpZIalfymeuHOLs3x5g6zU75VcwGd_gnS_WdgV3qsZUmPdQA5Eo2GM5qPgABlYdjDJmOCZ1SEWd0DSGFMHPaaOyK3vojUlXgGw3R9N2vMXwpiJXYfbJFteC1ecn3kRZ-TXpfsj6JouzcyN9nV98Nysc4q_Va1Ryetu1\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"xUaIIsy\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-594\" decoding=\"async\" height=\"721\" loading=\"lazy\" sizes=\"auto, (max-width: 362px) 100vw, 362px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19009dbf8f1.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19009dbf8f1.png 362w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19009dbf8f1-151x300.png 151w\" width=\"362\"\/><\/p>\n<p><strong>Ph\u00e2n t\u00edch c\u00fa ph\u00e1p:<\/strong> B\u1ea3n \u0111\u1ed3 n\u00e0y r\u00f5 r\u00e0ng x\u00e1c \u0111\u1ecbnh c\u00e1c khu v\u1ef1c b\u1ea3o m\u1eadt. T\u00e0i s\u1ea3n \u0111\u00e3 bi\u00ean d\u1ecbch <code>core_api.jar<\/code> \u0111\u01b0\u1ee3c \u0111\u1eb7t an to\u00e0n b\u00ean trong <code>app_node<\/code> h\u1ed9p m\u00e1y ch\u1ee7. C\u00e1c tuy\u1ebfn \u0111\u01b0\u1eddng m\u1ea1ng m\u1edf r\u1ed9ng s\u1ea1ch s\u1ebd v\u1ec1 ph\u00eda trong, thi\u1ebft l\u1eadp c\u00e1c quy t\u1eafc giao th\u1ee9c nghi\u00eam ng\u1eb7t cho t\u1eebng \u0111o\u1ea1n t\u1eeb m\u00e9p web c\u00f4ng c\u1ed9ng xu\u1ed1ng \u0111\u1ebfn t\u1ea7ng c\u01a1 s\u1edf d\u1eef li\u1ec7u \u0111\u01b0\u1ee3c qu\u1ea3n l\u00fd.<\/p>\n<h3>V\u00ed d\u1ee5 2: Ki\u1ebfn tr\u00fac container b\u1ea3n \u0111\u1ecba \u0111\u00e1m m\u00e2y (Kubernetes &amp; AWS Mesh)<\/h3>\n<p>B\u1ea3n thi\u1ebft k\u1ebf doanh nghi\u1ec7p n\u00e2ng cao n\u00e0y m\u00f4 t\u1ea3 tri\u1ec3n khai \u0111\u00e1m m\u00e2y \u0111a v\u00f9ng, c\u00f3 kh\u1ea3 n\u0103ng m\u1edf r\u1ed9ng cao. N\u00f3 s\u1eed d\u1ee5ng b\u1ed1 c\u1ee5c n\u00fat l\u1ed3ng gh\u00e9p \u0111\u1ec3 tr\u1ef1c quan h\u00f3a h\u1ec7 th\u1ed1ng container Kubernetes \u0111\u01b0\u1ee3c c\u00e2n b\u1eb1ng t\u1ea3i t\u01b0\u01a1ng t\u00e1c v\u1edbi c\u00e1c c\u01a1 s\u1edf d\u1eef li\u1ec7u \u0111\u00e1m m\u00e2y \u0111\u1ed9c l\u1eadp.<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:dPDVIyCm5CNV2_qEbxwe3qNqIVQqhYeEHSiw6FWoRfhh36R9k4aLbNrtqtQk4_-WbXAQz7VkuUGcG-UHVRtKSLHfMqj8iYM-M0Cp4b0IFwgA7Endi_8WWTSuWl1qex6I0Zqh8LkjjAhGgo2xiYXXX1fDHPm0Ea0jTcLtZCj6zuXAer1Q-MUujOO6KBkKqFdq2BTElSzPVWmpom_4SDqij4FM6b1rFCTTHQ-wF75GM3beqvopDPwCR4KhA-TF9ERue-o6PJ3CYl5MWokrgrbtd-i_9XI_JJZQ9XJ_JIZ-aL3ydD1voxXuxtxDOTQU5M9Dpa6kQ-U9tOUG4ZqAT46KXxzs6LnFDqkjDKitbs9h5juuseE9hJs1Cc5FdUUwyZKJMAxkAKox4wUL8HT7uPX1clPzXG4a5zDfqPGmCfrOeKpo2HFVO77K5zhWRUSRV1psc0rgM4oAFEb9iKkAhyYExGe5jelSW6LvTJZDYwG7n7V0CFGtNDSt\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:hPJFQjHG5CRtWRp38Hjr4OfToQmQ1wbIAM5cQ9V3_MSIpDmxv2OLb2vSkNMMHSIE8iM5g22Kvk8gGz_ZleddJieae2rK326v8R_ld9mlNxAZIrAKrIptFPQhYaCGpSXB9U5GK1YBuYXZGiFTw71yBu1NlWUujKUfk81Ws7oKG6tzGoPGslfJ1jPymJMtvZEUK1S0qK1osjS-AyWCnGVD1JBFKzHT2GPGwL0GNORtoQPVrss_gKjWpKzK7MNMl67mQBWD--vUjEuZsFQKz7MTDbOSzXxe0UncH05tSWalSCfvsdmbK1QNtwrvnzPbvefFyTQKt5WeYf_0wgsjpqj8crEPRAHadlMbn-to-BOEqDivy73Z0Fr_3j1_Tu3Ux80kLK4I5o6SUmPHLU3rEdAYo8NMmAmv8ss2UkDmKX9AjDDTBa5Ryy4PzmroDqu5UscpP6dlQGgkfvnk-kFkUtVWmDQ_qCObWzN2JVqU_LmjiCJh2jsmPf41lfEbY_IPJ7mFymjXsEK21X0ydanY6AbAyd2aQ2Q3Fp1w3UPxNQ4hV1qPXoUZU0ZIcfCCFojp4dGixRFqxsnBjyMGReTtw7ZyT6ioZ8CEeDS1Eq9o_27y1W00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\ncloud \"Amazon Web Services (AWS)\" {\r\n    \r\n    node \"C\u00e2n b\u1eb1ng t\u1ea3i \u1ee9ng d\u1ee5ng AWS\" as alb\r\n    \r\n    frame \"V\u00f9ng kh\u1ea3 d\u1ee5ng: us-east-1a\" {\r\n        node \"N\u00fat c\u00f4ng vi\u1ec7c EC2 Node A\" as ec2_a {\r\n            node \"Pod K8s: Giao di\u1ec7n web ph\u00eda tr\u01b0\u1edbc\" as pod_web_a\r\n            node \"Pod K8s: API \u0110\u1eb7t h\u00e0ng\" as pod_api_a\r\n        }\r\n    }\r\n    \r\n    frame \"V\u00f9ng kh\u1ea3 d\u1ee5ng: us-east-1b\" {\r\n        node \"N\u00fat c\u00f4ng vi\u1ec7c EC2 Node B\" as ec2_b {\r\n            node \"Pod K8s: Giao di\u1ec7n web ph\u00eda tr\u01b0\u1edbc\" as pod_web_b\r\n            node \"Pod K8s: API \u0110\u1eb7t h\u00e0ng\" as pod_api_b\r\n        }\r\n    }\r\n    \r\n    storage \"C\u1ee5m Aurora Serverless c\u1ee7a AWS\" {\r\n        database \"C\u01a1 s\u1edf d\u1eef li\u1ec7u Kh\u00e1ch h\u00e0ng\" as rds_db\r\n    }\r\n}\r\n\r\n' V\u1ebd c\u00e1c \u0111\u01b0\u1eddng \u0111i\u1ec1u ph\u1ed1i h\u1ea1 t\u1ea7ng\r\nalb -- pod_web_a : \"HTTP Round-Robin\"\r\nalb -- pod_web_b : \"HTTP Round-Robin\"\r\n\r\npod_web_a -- pod_api_a : \"gRPC n\u1ed9i b\u1ed9\"\r\npod_web_b -- pod_api_b : \"gRPC n\u1ed9i b\u1ed9\"\r\n\r\npod_api_a -- rds_db : \"SSL\/TCP\"\r\npod_api_b -- rds_db : \"SSL\/TCP\"\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:hPJFQjHG5CRtWRp38Hjr4OfToQmQ1wbIAM5cQ9V3_MSIpDmxv2OLb2vSkNMMHSIE8iM5g22Kvk8gGz_ZleddJieae2rK326v8R_ld9mlNxAZIrAKrIptFPQhYaCGpSXB9U5GK1YBuYXZGiFTw71yBu1NlWUujKUfk81Ws7oKG6tzGoPGslfJ1jPymJMtvZEUK1S0qK1osjS-AyWCnGVD1JBFKzHT2GPGwL0GNORtoQPVrss_gKjWpKzK7MNMl67mQBWD--vUjEuZsFQKz7MTDbOSzXxe0UncH05tSWalSCfvsdmbK1QNtwrvnzPbvefFyTQKt5WeYf_0wgsjpqj8crEPRAHadlMbn-to-BOEqDivy73Z0Fr_3j1_Tu3Ux80kLK4I5o6SUmPHLU3rEdAYo8NMmAmv8ss2UkDmKX9AjDDTBa5Ryy4PzmroDqu5UscpP6dlQGgkfvnk-kFkUtVWmDQ_qCObWzN2JVqU_LmjiCJh2jsmPf41lfEbY_IPJ7mFymjXsEK21X0ydanY6AbAyd2aQ2Q3Fp1w3UPxNQ4hV1qPXoUZU0ZIcfCCFojp4dGixRFqxsnBjyMGReTtw7ZyT6ioZ8CEeDS1Eq9o_27y1W00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:dPDVIyCm5CNV2_qEbxwe3qNqIVQqhYeEHSiw6FWoRfhh36R9k4aLbNrtqtQk4_-WbXAQz7VkuUGcG-UHVRtKSLHfMqj8iYM-M0Cp4b0IFwgA7Endi_8WWTSuWl1qex6I0Zqh8LkjjAhGgo2xiYXXX1fDHPm0Ea0jTcLtZCj6zuXAer1Q-MUujOO6KBkKqFdq2BTElSzPVWmpom_4SDqij4FM6b1rFCTTHQ-wF75GM3beqvopDPwCR4KhA-TF9ERue-o6PJ3CYl5MWokrgrbtd-i_9XI_JJZQ9XJ_JIZ-aL3ydD1voxXuxtxDOTQU5M9Dpa6kQ-U9tOUG4ZqAT46KXxzs6LnFDqkjDKitbs9h5juuseE9hJs1Cc5FdUUwyZKJMAxkAKox4wUL8HT7uPX1clPzXG4a5zDfqPGmCfrOeKpo2HFVO77K5zhWRUSRV1psc0rgM4oAFEb9iKkAhyYExGe5jelSW6LvTJZDYwG7n7V0CFGtNDSt\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda Plantuml trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"wFGZNrc\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-595\" decoding=\"async\" height=\"642\" loading=\"lazy\" sizes=\"auto, (max-width: 752px) 100vw, 752px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1900abe8cbe.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1900abe8cbe.png 752w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1900abe8cbe-300x256.png 300w\" width=\"752\"\/><\/p>\n<p><strong>Ph\u00e2n t\u00edch c\u00fa ph\u00e1p:<\/strong> B\u1eb1ng c\u00e1ch l\u1ed3ng gh\u00e9p <code>n\u00fat<\/code> c\u00e1c m\u1ee5c ti\u00eau v\u00e0o b\u00ean trong c\u00e1c <code>n\u00fat<\/code>c\u1ea5u tr\u00fac, m\u1eabu n\u00e0y m\u00f4 ph\u1ecfng ch\u00ednh x\u00e1c b\u1ed1 c\u1ee5c \u0111\u01b0\u1ee3c \u0111\u00f3ng g\u00f3i (Pods \u0111ang ch\u1ea1y b\u00ean trong m\u00e1y \u1ea3o EC2). B\u1ed9 c\u00e2n b\u1eb1ng t\u1ea3i \u1ee9ng d\u1ee5ng ph\u00e2n ph\u1ed1i tr\u01a1n tru c\u00e1c y\u00eau c\u1ea7u \u0111\u1ebfn qua c\u00e1c v\u00f9ng kh\u1ea3 d\u1ee5ng, trong khi c\u00e1c th\u00e0nh ph\u1ea7n c\u1ee5m \u0111\u1ecbnh tuy\u1ebfn c\u00e1c l\u1eddi g\u1ecdi c\u01a1 s\u1edf d\u1eef li\u1ec7u tr\u1edf l\u1ea1i m\u1ed9t kho l\u01b0u tr\u1eef chung.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>S\u01a1 \u0111\u1ed3 tri\u1ec3n khai l\u00e0 g\u00ec? M\u1ed9t S\u01a1 \u0111\u1ed3 tri\u1ec3n khai l\u00e0 m\u1ed9t s\u01a1 \u0111\u1ed3 c\u1ea5u tr\u00fac s\u01a1 \u0111\u1ed3 UML m\u00f4 h\u00ecnh h\u00f3a ki\u1ebfn tr\u00fac th\u1ef1c thi v\u1eadt l\u00fd c\u1ee7a m\u1ed9t h\u1ec7 th\u1ed1ng ph\u1ea7n m\u1ec1m. L\u00e0 m\u1ed9t ti\u00eau chu\u1ea9n c\u1ed1t&#8230;<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":8,"template":"","meta":{"inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}}},"ld_collection":[14],"class_list":["post-2113","ld_docs","type-ld_docs","status-publish","hentry","ld_collection-vpascode-docs"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PlantUML Deployment Diagram | VPasCode Text to Diagram Guide<\/title>\n<meta name=\"description\" content=\"Map physical hardware environments and cloud nodes using PlantUML deployment diagrams in VPasCode, a text to diagram tool.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-deployment-diagram-syntax-guide\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PlantUML Deployment Diagram | VPasCode Text to Diagram Guide\" \/>\n<meta property=\"og:description\" content=\"Map physical hardware environments and cloud nodes using PlantUML deployment diagrams in VPasCode, a text to diagram tool.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-deployment-diagram-syntax-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"VPasCode\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19005832ad6.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-deployment-diagram-syntax-guide\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-deployment-diagram-syntax-guide\\\/\",\"name\":\"PlantUML Deployment Diagram | VPasCode Text to Diagram Guide\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-deployment-diagram-syntax-guide\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-deployment-diagram-syntax-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a19005832ad6.png\",\"datePublished\":\"2026-05-26T07:24:05+00:00\",\"description\":\"Map physical hardware environments and cloud nodes using PlantUML deployment diagrams in VPasCode, a text to diagram tool.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-deployment-diagram-syntax-guide\\\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-deployment-diagram-syntax-guide\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-deployment-diagram-syntax-guide\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a19005832ad6.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a19005832ad6.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-deployment-diagram-syntax-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lean Docs\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/%ld_collection%\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"H\u01b0\u1edbng d\u1eabn c\u00fa ph\u00e1p s\u01a1 \u0111\u1ed3 tri\u1ec3n khai PlantUML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#website\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\",\"name\":\"VPasCode\",\"description\":\"by Visual Paradigm\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#organization\",\"name\":\"VPasCode\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"width\":128,\"height\":138,\"caption\":\"VPasCode\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PlantUML Deployment Diagram | VPasCode Text to Diagram Guide","description":"Map physical hardware environments and cloud nodes using PlantUML deployment diagrams in VPasCode, a text to diagram tool.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-deployment-diagram-syntax-guide\/","og_locale":"vi_VN","og_type":"article","og_title":"PlantUML Deployment Diagram | VPasCode Text to Diagram Guide","og_description":"Map physical hardware environments and cloud nodes using PlantUML deployment diagrams in VPasCode, a text to diagram tool.","og_url":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-deployment-diagram-syntax-guide\/","og_site_name":"VPasCode","og_image":[{"url":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19005832ad6.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"4 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-deployment-diagram-syntax-guide\/","url":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-deployment-diagram-syntax-guide\/","name":"PlantUML Deployment Diagram | VPasCode Text to Diagram Guide","isPartOf":{"@id":"https:\/\/www.vpascode.com\/vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-deployment-diagram-syntax-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-deployment-diagram-syntax-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19005832ad6.png","datePublished":"2026-05-26T07:24:05+00:00","description":"Map physical hardware environments and cloud nodes using PlantUML deployment diagrams in VPasCode, a text to diagram tool.","breadcrumb":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-deployment-diagram-syntax-guide\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-deployment-diagram-syntax-guide\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-deployment-diagram-syntax-guide\/#primaryimage","url":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19005832ad6.png","contentUrl":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19005832ad6.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-deployment-diagram-syntax-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vpascode.com\/vn\/"},{"@type":"ListItem","position":2,"name":"Lean Docs","item":"https:\/\/www.vpascode.com\/vn\/docs\/%ld_collection%\/"},{"@type":"ListItem","position":3,"name":"H\u01b0\u1edbng d\u1eabn c\u00fa ph\u00e1p s\u01a1 \u0111\u1ed3 tri\u1ec3n khai PlantUML"}]},{"@type":"WebSite","@id":"https:\/\/www.vpascode.com\/vn\/#website","url":"https:\/\/www.vpascode.com\/vn\/","name":"VPasCode","description":"by Visual Paradigm","publisher":{"@id":"https:\/\/www.vpascode.com\/vn\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vpascode.com\/vn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/www.vpascode.com\/vn\/#organization","name":"VPasCode","url":"https:\/\/www.vpascode.com\/vn\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.vpascode.com\/vn\/#\/schema\/logo\/image\/","url":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/06\/cropped-vp-online-logo-v1.png","contentUrl":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/06\/cropped-vp-online-logo-v1.png","width":128,"height":138,"caption":"VPasCode"},"image":{"@id":"https:\/\/www.vpascode.com\/vn\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_docs\/2113","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_docs"}],"about":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/types\/ld_docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/users\/4"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/media?parent=2113"}],"wp:term":[{"taxonomy":"ld_collection","embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_collection?post=2113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}