<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Cloud &amp; Infra &#8211; KAZth/Log</title>
	<atom:link href="https://kazth.com/log/category/cloud-infra/feed/" rel="self" type="application/rss+xml" />
	<link>https://kazth.com/log</link>
	<description>Cloud Infrastructure, Ham Radio, and Life on Air.</description>
	<lastBuildDate>Mon, 15 Dec 2025 17:26:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.2</generator>

<image>
	<url>https://kazth.com/log/wp-content/uploads/2025/11/cropped-favicon-32x32.png</url>
	<title>Cloud &amp; Infra &#8211; KAZth/Log</title>
	<link>https://kazth.com/log</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>สร้าง &#8220;HF Live Monitor&#8221; แดชบอร์ด HF ตามดูใครออกอากาศแบบ Real-time!</title>
		<link>https://kazth.com/log/ham-radio/%e0%b8%aa%e0%b8%a3%e0%b9%89%e0%b8%b2%e0%b8%87-hf-live-monitor-%e0%b9%81%e0%b8%94%e0%b8%8a%e0%b8%9a%e0%b8%ad%e0%b8%a3%e0%b9%8c%e0%b8%94-hf-%e0%b8%95%e0%b8%b2%e0%b8%a1%e0%b8%94%e0%b8%b9%e0%b9%83/</link>
		
		<dc:creator><![CDATA[hs9xkg]]></dc:creator>
		<pubDate>Mon, 15 Dec 2025 17:22:27 +0000</pubDate>
				<category><![CDATA[Ham Radio]]></category>
		<category><![CDATA[Cloud & Infra]]></category>
		<guid isPermaLink="false">https://kazth.com/log/?p=962</guid>

					<description><![CDATA[ปกติเวลาผมเฝ้าฟังย่านความถี่ HF หรือรอดูว่าช่วงนี้ Band ไหนเปิด การเปิดเว็บ PSKReporter ค้างไว้ดูแผนที่โลกมันก็ดีครับ แต่บางทีข้อมูลมันเยอะจนดูลำบาก จะหาสถานีที่สนใจ หรือโหมดที่ต้องการฟังเป็นพิเศษ (โดยเฉพาะ CW) ก็ต้องคอยนั่งจ้องหน้าจอตลอดเวลา พลาดนิดเดียวก็หลุดไปแล้ว ด้วยความที่พอจะเขียนโค้ดได้บ้าง เลยเกิดไอเดียสนุกๆ ว่า &#8220;ทำไมเราไม่ดึงข้อมูลดิบมาแสดงผลในแบบที่เราต้องการซะเลยล่ะ?&#8221; หลังจากนั่งปั่นโค้ดอยู่พักใหญ่ (โดยมี AI เป็นผู้ช่วยคู่ใจ) วันนี้ผมภูมิใจเสนอผลงานโปรเจกต์เล็กๆ ที่ใช้งานได้จริง ชื่อว่า &#8220;HF Live Monitor&#8221; ครับ HF Live Monitor คืออะไร? มันคือหน้า Dashboard บนเว็บที่ออกแบบมาเพื่อนักวิทยุสมัครเล่นโดยเฉพาะครับ ทำหน้าที่ดึงข้อมูลการรับสัญญาณจากทั่วโลก (ผ่าน PSKReporter) มาสรุปให้ดูง่ายๆ สบายตา และที่สำคัญคือ &#8220;มีระบบแจ้งเตือน&#8221; ครับ หน้าตาเวอร์ชั่นล่าสุดเป็นแบบนี้ครับ: https://kazth.com/onair/ ฟีเจอร์เด็ดที่ผมภูมิใจเสนอ โปรเจกต์นี้ผมตั้งใจทำมาแก้ปัญหาที่ตัวเองเจอตอนใช้งานจริง เลยใส่ฟีเจอร์ที่คิดว่า &#8220;ของมันต้องมี&#8221; มาให้ครบครับ 1. แยกแบนด์อัตโนมัติ ไม่ต้องเลื่อนหายาวๆ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>ปกติเวลาผมเฝ้าฟังย่านความถี่ HF หรือรอดูว่าช่วงนี้ Band ไหนเปิด การเปิดเว็บ PSKReporter ค้างไว้ดูแผนที่โลกมันก็ดีครับ แต่บางทีข้อมูลมันเยอะจนดูลำบาก จะหาสถานีที่สนใจ หรือโหมดที่ต้องการฟังเป็นพิเศษ (โดยเฉพาะ CW) ก็ต้องคอยนั่งจ้องหน้าจอตลอดเวลา พลาดนิดเดียวก็หลุดไปแล้ว</p>



<p>ด้วยความที่พอจะเขียนโค้ดได้บ้าง เลยเกิดไอเดียสนุกๆ ว่า <strong>&#8220;ทำไมเราไม่ดึงข้อมูลดิบมาแสดงผลในแบบที่เราต้องการซะเลยล่ะ?&#8221;</strong></p>



<p>หลังจากนั่งปั่นโค้ดอยู่พักใหญ่ (โดยมี AI เป็นผู้ช่วยคู่ใจ) วันนี้ผมภูมิใจเสนอผลงานโปรเจกต์เล็กๆ ที่ใช้งานได้จริง ชื่อว่า <strong>&#8220;HF Live Monitor&#8221;</strong> ครับ</p>



<h3 class="wp-block-heading">HF Live Monitor คืออะไร?</h3>



<p>มันคือหน้า Dashboard บนเว็บที่ออกแบบมาเพื่อนักวิทยุสมัครเล่นโดยเฉพาะครับ ทำหน้าที่ดึงข้อมูลการรับสัญญาณจากทั่วโลก (ผ่าน PSKReporter) มาสรุปให้ดูง่ายๆ สบายตา และที่สำคัญคือ &#8220;มีระบบแจ้งเตือน&#8221; ครับ</p>



<p>หน้าตาเวอร์ชั่นล่าสุดเป็นแบบนี้ครับ: <a href="https://kazth.com/onair/">https://kazth.com/onair/</a><br></p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="476" src="https://kazth.com/log/wp-content/uploads/2025/12/image-31-1024x476.png" alt="" class="wp-image-963" srcset="https://kazth.com/log/wp-content/uploads/2025/12/image-31-1024x476.png 1024w, https://kazth.com/log/wp-content/uploads/2025/12/image-31-300x139.png 300w, https://kazth.com/log/wp-content/uploads/2025/12/image-31-768x357.png 768w, https://kazth.com/log/wp-content/uploads/2025/12/image-31.png 1360w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">ฟีเจอร์เด็ดที่ผมภูมิใจเสนอ</h3>



<p>โปรเจกต์นี้ผมตั้งใจทำมาแก้ปัญหาที่ตัวเองเจอตอนใช้งานจริง เลยใส่ฟีเจอร์ที่คิดว่า &#8220;ของมันต้องมี&#8221; มาให้ครบครับ</p>



<h4 class="wp-block-heading">1. แยกแบนด์อัตโนมัติ ไม่ต้องเลื่อนหายาวๆ</h4>



<p>ข้อมูลที่เข้ามาจะถูกจัดระเบียบใหม่หมดครับ โดยจะสร้างเป็น &#8220;Tabs&#8221; แยกตามย่านความถี่ (เช่น 80m, 40m, 20m) ให้เองอัตโนมัติ แบนด์ไหนเงียบ แท็บก็จะไม่โผล่มาให้รกตา อยากดูแบนด์ไหนก็กดแท็บนั้น ข้อมูลกระชับ ดูง่ายกว่าเดิมเยอะ</p>



<h4 class="wp-block-heading">2. CW Alert System: ไม่พลาดทุกเสียงติ๊ด-ติ๊ด 🚨</h4>



<p>นี่คือทีเด็ดสุดครับ! ผมเป็นคนชอบเฝ้าฟัง CW แต่ไม่อยากนั่งจ้องตลอด ผมเลยใส่ระบบแจ้งเตือนด้วยเสียงเข้าไป</p>



<p>ถ้าเปิดลำโพงไว้ เมื่อไหร่ก็ตามที่มีสัญญาณ CW ใหม่เข้ามา ระบบจะส่งเสียง &#8220;ติ๊ด-ติ๊ด&#8221; (750Hz Tone) เตือนทันที พร้อมมีป้ายข้อความเด้งขึ้นมาที่มุมขวาล่างแบบนี้ครับ:</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="405" height="203" src="https://kazth.com/log/wp-content/uploads/2025/12/image-33.png" alt="" class="wp-image-965" style="width:455px;height:auto" srcset="https://kazth.com/log/wp-content/uploads/2025/12/image-33.png 405w, https://kazth.com/log/wp-content/uploads/2025/12/image-33-300x150.png 300w" sizes="(max-width: 405px) 100vw, 405px" /></figure>



<h4 class="wp-block-heading">3. นาฬิกา UTC คู่ขนาน</h4>



<p>สำหรับนักวิทยุฯ เวลา UTC คือสิ่งสำคัญในการลง Logbook ผมเลยจับใส่นาฬิกาดิจิทัลเดินแบบวินาทีต่อวินาทีไว้ให้ที่มุมขวาบน โดยแสดงทั้งเวลา UTC (สีฟ้า) และเวลาท้องถิ่น (สีส้ม) คู่กันไปเลย ไม่ต้องคอยบวกลบเลขในหัวครับ</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="294" height="100" src="https://kazth.com/log/wp-content/uploads/2025/12/image-32.png" alt="" class="wp-image-964" style="width:432px;height:auto"/></figure>



<h4 class="wp-block-heading">4. ค้นหาและกรองข้อมูลได้ดั่งใจ</h4>



<ul class="wp-block-list">
<li><strong>Smart Search:</strong> อยากรู้ว่าเพื่อนสมาชิกคนไหน หรือประเทศไหนออกอากาศอยู่ พิมพ์ Callsign หรือ Prefix ลงในช่องค้นหาได้เลย ระบบจะไฮไลท์สีเหลืองให้เห็นชัดๆ ทันที</li>



<li><strong>Mode Filter:</strong> อยากดูเฉพาะ FT8 หรืออยากดูแค่ CW ก็เลือกกรองได้จากเมนู Dropdown ครับ</li>
</ul>



<p>โปรเจกต์นี้ช่วยให้การเฝ้าหาสถานี HF ของผมสะดวกขึ้นมากครับ เปิดทิ้งไว้จอรอง หรือเปิดบนมือถือก็ได้  หวังว่าโปรเจกต์นี้จะเป็นประโยชน์ให้เพื่อนสมาชิกท่านอื่นลองนำไปประยุกต์ใช้กันดูนะครับ</p>



<p>73, <strong>HS9XKG</strong></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>IT Survival Guide: รู้ให้ทัน ล่มจริงหรือแค่เน็ตหลุด? พร้อมวิธีตอบคำถาม &#8220;พี่ๆ HR-บัญชี&#8221; แบบมือโปรฯ</title>
		<link>https://kazth.com/log/cloud-infra/it-survival-guide-%e0%b8%a3%e0%b8%b9%e0%b9%89%e0%b9%83%e0%b8%ab%e0%b9%89%e0%b8%97%e0%b8%b1%e0%b8%99-%e0%b8%a5%e0%b9%88%e0%b8%a1%e0%b8%88%e0%b8%a3%e0%b8%b4%e0%b8%87%e0%b8%ab%e0%b8%a3%e0%b8%b7%e0%b8%ad/</link>
		
		<dc:creator><![CDATA[hs9xkg]]></dc:creator>
		<pubDate>Wed, 10 Dec 2025 05:14:21 +0000</pubDate>
				<category><![CDATA[Cloud & Infra]]></category>
		<guid isPermaLink="false">https://kazth.com/log/?p=951</guid>

					<description><![CDATA[เคยไหม? นั่งทำงานอยู่ดีๆ โทรศัพท์ดัง ไลน์เด้งรัวๆ พร้อมประโยคคลาสสิก &#8220;น้องไอที! เน็ตพังอีกแล้ว ทำไมส่งเมลไม่ได้!&#8221; &#8230; ทั้งที่ความจริงแล้ว Microsoft 365 ล่ม หรือ Facebook ล่มทั่วโลก ไม่ใช่ความผิดเราสักหน่อย!บทความนี้จะพาชาว IT ไปติดอาวุธ ให้คุณรู้สถานการณ์ก่อนใคร พร้อมสคริปต์ตอบคำถามที่จะเปลี่ยนจาก &#8220;จำเลย&#8221; ให้กลายเป็น &#8220;คนดี&#8221; ในสายตา User หรือบางทีอาจแค่เสมอตัว ซึงดีกว่าโดนบ่นแน่นอน 1: The Toolkit – อาวุธลับ เช็คให้ชัวร์ก่อนตัวจะชา จะตอบได้ต้องรู้จริง อย่าเดา! นี่คือเครื่องมือที่ IT Pro ต้อง Bookmark ไว้ 2: Diagnosis – วิเคราะห์สาเหตุใน 1 นาที ก่อนจะลุกไปตอบคำถาม เช็ค 3 สเต็ปนี้เพื่อความมั่นใจ 3: Communication Arts [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>เคยไหม? นั่งทำงานอยู่ดีๆ โทรศัพท์ดัง ไลน์เด้งรัวๆ พร้อมประโยคคลาสสิก <em>&#8220;น้องไอที! เน็ตพังอีกแล้ว ทำไมส่งเมลไม่ได้!&#8221;</em> &#8230; ทั้งที่ความจริงแล้ว Microsoft 365 ล่ม หรือ Facebook ล่มทั่วโลก ไม่ใช่ความผิดเราสักหน่อย!<br>บทความนี้จะพาชาว IT ไปติดอาวุธ ให้คุณรู้สถานการณ์ก่อนใคร พร้อมสคริปต์ตอบคำถามที่จะเปลี่ยนจาก &#8220;จำเลย&#8221; ให้กลายเป็น &#8220;คนดี&#8221; ในสายตา User หรือบางทีอาจแค่เสมอตัว ซึงดีกว่าโดนบ่นแน่นอน</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="559" src="https://kazth.com/log/wp-content/uploads/2025/12/image-25.png" alt="" class="wp-image-953" srcset="https://kazth.com/log/wp-content/uploads/2025/12/image-25.png 1024w, https://kazth.com/log/wp-content/uploads/2025/12/image-25-300x164.png 300w, https://kazth.com/log/wp-content/uploads/2025/12/image-25-768x419.png 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading"><strong>1: The Toolkit – อาวุธลับ เช็คให้ชัวร์ก่อนตัวจะชา</strong></h3>



<p><em>จะตอบได้ต้องรู้จริง อย่าเดา! นี่คือเครื่องมือที่ IT Pro ต้อง Bookmark ไว้</em></p>



<ol start="1" class="wp-block-list">
<li><strong>Downdetector (.com/.th):</strong>
<ul class="wp-block-list">
<li><em>Concept:</em> เครื่องมือสามัญประจำบ้าน เช็ค Real-time จากผู้ใช้ทั่วโลก</li>



<li><em>Tip:</em> ถ้ากราฟพุ่งเป็นแนวตั้งสีแดง แปลว่า &#8220;ล่มยับ&#8221; (Massive Outage) แคปหน้าจอนี้ไว้ คือหลักฐานชั้นดีที่สุด</li>
</ul>
</li>



<li><strong>Official Status Pages (Dashboard ของเทพเจ้า):</strong>
<ul class="wp-block-list">
<li>อย่าเชื่อข่าวลือ ให้ดูที่ต้นทาง</li>



<li><strong>Microsoft/Azure:</strong> <code>status.azure.com</code> หรือ Service Health ใน Admin Center</li>



<li><strong>Google:</strong> <code>google.com/appsstatus</code></li>



<li><strong>AWS:</strong> <code>health.aws.amazon.com</code></li>
</ul>
</li>



<li><strong>Third-Eye Tools (สำหรับสาย Network):</strong>
<ul class="wp-block-list">
<li><em>ThousandEyes Internet Outages Map:</em> ดูแผนที่โลกเลยว่าท่อเน็ตตรงไหนแดง</li>



<li><em>Looking Glass:</em> เอาไว้ Ping จากข้างนอกเข้ามา ดูว่า Routing มีปัญหาไหม</li>
</ul>
</li>
</ol>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="559" src="https://kazth.com/log/wp-content/uploads/2025/12/image-26.png" alt="" class="wp-image-954" srcset="https://kazth.com/log/wp-content/uploads/2025/12/image-26.png 1024w, https://kazth.com/log/wp-content/uploads/2025/12/image-26-300x164.png 300w, https://kazth.com/log/wp-content/uploads/2025/12/image-26-768x419.png 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading"><strong>2: Diagnosis – วิเคราะห์สาเหตุใน 1 นาที</strong></h3>



<p><em>ก่อนจะลุกไปตอบคำถาม เช็ค 3 สเต็ปนี้เพื่อความมั่นใจ</em></p>



<ul class="wp-block-list">
<li><strong>Step 1: Scope (วงกว้างแค่ไหน?)</strong> -> ลองเข้าเว็บอื่นดู ถ้าเข้า Google ได้ แต่เข้า Outlook ไม่ได้ = เป็นที่ Microsoft (ไม่ใช่เน็ตบริษัท)</li>



<li><strong>Step 2: Compare (เปรียบเทียบ)</strong> -> ปิด WiFi ใช้ 5G มือถือเข้าดู ถ้ามือถือก็เข้าไม่ได้ = ล่มระดับประเทศ/โลก</li>



<li><strong>Step 3: Verification (หาเพื่อนร่วมชะตากรรม)</strong> -> ดู Twitter (X) หรือ Downdetector ถ้าคนบ่นกันตรึม = สบายใจได้ ไม่ใช่เราคนเดียว</li>
</ul>



<h3 class="wp-block-heading"><strong>3: Communication Arts – ศาสตร์แห่งการแปลภาษาเทพ เป็นภาษาคน</strong></h3>



<p><em>จุดตายของ IT คือพูดจาเทคนิคเกินไป User ไม่เข้าใจ = User โมโห</em></p>



<p><strong>❌ อย่าพูดว่า:</strong> &#8220;ตอนนี้ Latency ไปสิงคโปร์สูงมากครับ มี Packet Loss ที่ Node ปลายทาง&#8221; <em>(พี่บัญชีจะฟังแล้วรู้สึกว่า: ข้ออ้าง! แก้ให้ฉันเดี๋ยวนี้)</em></p>



<p><strong>✅ ให้พูดว่า (ใช้ Metaphor):</strong></p>



<ul class="wp-block-list">
<li><strong>กรณี Server ล่ม:</strong> &#8220;ตอนนี้ <strong>&#8216;ถนนเส้นหลัก&#8217; ของระบบปิดซ่อมทั่วโลกครับ</strong> รถวิ่งไม่ได้เลย ไม่ใช่แค่บริษัทเราที่เป็นครับ เดี๋ยวเขาซ่อมถนนเสร็จรถก็วิ่งได้ปกติครับ&#8221;</li>



<li><strong>กรณีเน็ตช้า/หน่วง:</strong> &#8220;ช่วงนี้ <strong>&#8216;รถติดหนักมาก&#8217;</strong> บนเซิร์ฟเวอร์เขาครับ ข้อมูลเลยวิ่งช้าหน่อย เหมือนเราขับรถช่วงเทศกาลครับ รอระบายรถสักพักจะดีขึ้นครับ&#8221;</li>



<li><strong>กรณีท่อเน็ต (ISP) ขาด:</strong> &#8220;ตอนนี้ <strong>&#8216;ท่อประปาหน้าหมู่บ้านแตก&#8217;</strong> ครับ (ISP ล่ม) ช่างกำลังซ่อมอยู่ น้ำเลยไม่ไหลเข้าบ้านเราครับ&#8221;</li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="559" src="https://kazth.com/log/wp-content/uploads/2025/12/image-27.png" alt="" class="wp-image-955" srcset="https://kazth.com/log/wp-content/uploads/2025/12/image-27.png 1024w, https://kazth.com/log/wp-content/uploads/2025/12/image-27-300x164.png 300w, https://kazth.com/log/wp-content/uploads/2025/12/image-27-768x419.png 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading"><strong>4: The Proactive Move – รุกฆาตก่อนโดนด่า</strong></h3>



<p><em>อย่ารอให้เขาเดินมาถาม ให้เราบอกก่อน</em></p>



<p><strong>Template ข้อความประกาศลง Line กลุ่มบริษัท:</strong></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>📢 <strong>แจ้งเพื่อทราบครับ</strong> ขณะนี้ระบบ [ชื่อบริการ เช่น Facebook / Outlook] มีปัญหาขัดข้อง <strong>&#8220;ทั่วโลก&#8221;</strong> นะครับ</p>



<p>📉 <strong>อาการ:</strong> จะเข้าใช้งานไม่ได้ หรือโหลดช้าชั่วคราว ✅ <strong>การแก้ไข:</strong> ทางผมตรวจสอบแล้ว ไม่ใช่ปัญหาที่คอมพิวเตอร์ หรือไวรัสครับ เป็นที่ทางผู้ให้บริการหลักกำลังแก้ไขอยู่</p>



<p>หากระบบกลับมาใช้งานได้ปกติ ผมจะรีบแจ้งให้ทราบทันทีครับ ระหว่างนี้พักจิบกาแฟรอสักครู่นะครับ ☕️</p>
</blockquote>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="559" src="https://kazth.com/log/wp-content/uploads/2025/12/image-28.png" alt="" class="wp-image-956" srcset="https://kazth.com/log/wp-content/uploads/2025/12/image-28.png 1024w, https://kazth.com/log/wp-content/uploads/2025/12/image-28-300x164.png 300w, https://kazth.com/log/wp-content/uploads/2025/12/image-28-768x419.png 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading"><strong>Conclusion: บทสรุป</strong></h3>



<p>การเป็น IT Support ที่ดี ไม่ใช่แค่ซ่อมคอมเก่ง แต่คือการ <strong>&#8220;Manage Expectation&#8221; (บริหารความคาดหวัง)</strong> ของ User ให้เป็น เมื่อเรารู้เร็ว บอกไว และอธิบายให้เห็นภาพ ความวีนจะหายไป เหลือแต่ความเข้าใจและความเป็นมืออาชีพครับ</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Guide: การตั้งค่า Hybrid Identity เชื่อมต่อ On-Premise AD ไปยัง Microsoft Entra ID (Step-by-Step)</title>
		<link>https://kazth.com/log/cloud-infra/guide-%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87%e0%b8%84%e0%b9%88%e0%b8%b2-hybrid-identity-%e0%b9%80%e0%b8%8a%e0%b8%b7%e0%b9%88%e0%b8%ad%e0%b8%a1%e0%b8%95%e0%b9%88%e0%b8%ad-on-p/</link>
		
		<dc:creator><![CDATA[hs9xkg]]></dc:creator>
		<pubDate>Tue, 02 Dec 2025 03:44:10 +0000</pubDate>
				<category><![CDATA[Cloud & Infra]]></category>
		<guid isPermaLink="false">https://kazth.com/log/?p=873</guid>

					<description><![CDATA[ในยุคที่องค์กรใช้งาน Microsoft 365 และ Azure การทำ Hybrid Identity คือหัวใจสำคัญที่ช่วยให้พนักงานใช้ &#8220;บัญชีเดียว&#8221; (Single Sign-On) เข้าได้ทั้งคอมพิวเตอร์ในออฟฟิศและระบบ Cloud บทความนี้จะสรุปขั้นตอนการทำ Sync จาก Active Directory Domain Services (AD DS) ไปยัง Microsoft Entra ID (ชื่อเดิม Azure AD) ตามหลัก Best Practices 📋 Phase 1: Pre-flight Check (เตรียมความพร้อมก่อนเริ่ม) สิ่งที่ System Engineer มักพลาดคือการข้ามขั้นตอนนี้ ซึ่งอาจนำไปสู่ปัญหา User Sync ผิดพลาด หรือ Authentication ไม่ผ่าน 🛠️ Phase 2: Installation &#38; [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>ในยุคที่องค์กรใช้งาน Microsoft 365 และ Azure การทำ <strong>Hybrid Identity</strong> คือหัวใจสำคัญที่ช่วยให้พนักงานใช้ &#8220;บัญชีเดียว&#8221; (Single Sign-On) เข้าได้ทั้งคอมพิวเตอร์ในออฟฟิศและระบบ Cloud บทความนี้จะสรุปขั้นตอนการทำ Sync จาก <strong>Active Directory Domain Services (AD DS)</strong> ไปยัง <strong>Microsoft Entra ID</strong> (ชื่อเดิม Azure AD) ตามหลัก Best Practices<br></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://kazth.com/log/wp-content/uploads/2025/12/image-7-1024x576.png" alt="" class="wp-image-878" srcset="https://kazth.com/log/wp-content/uploads/2025/12/image-7-1024x576.png 1024w, https://kazth.com/log/wp-content/uploads/2025/12/image-7-300x169.png 300w, https://kazth.com/log/wp-content/uploads/2025/12/image-7-768x432.png 768w, https://kazth.com/log/wp-content/uploads/2025/12/image-7.png 1030w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">📋 Phase 1: Pre-flight Check (เตรียมความพร้อมก่อนเริ่ม)</h3>



<p>สิ่งที่ System Engineer มักพลาดคือการข้ามขั้นตอนนี้ ซึ่งอาจนำไปสู่ปัญหา User Sync ผิดพลาด หรือ Authentication ไม่ผ่าน</p>



<ol start="1" class="wp-block-list">
<li><strong>Prepare Server:</strong> เตรียมเครื่อง Windows Server (แนะนำให้ Join Domain แล้ว) เพื่อติดตั้ง <strong>Microsoft Entra Connect</strong></li>



<li><strong>Infrastructure Health:</strong>
<ul class="wp-block-list">
<li><strong>Time Sync (NTP):</strong> ตรวจสอบเวลาของ Server ทุกเครื่องต้องตรงกับมาตรฐานสากล (สำคัญมากสำหรับ Kerberos Auth)</li>



<li><strong>DNS:</strong> Server ต้องสามารถ Resolve DNS ออก Internet ได้ (โดยเฉพาะ <code><span style="color: var(--theme-palette-color-2, #1559ed);" class="stk-highlight">login.microsoftonline.com</span></code>)</li>
</ul>
</li>



<li><strong>Data Preparation (สำคัญที่สุด ⭐):</strong>
<ul class="wp-block-list">
<li><strong>Add UPN Suffix:</strong> ใน <em>Active Directory Domains and Trusts</em> ให้เพิ่มชื่อ Domain จริง (เช่น <code><span style="color: var(--theme-palette-color-2, #1559ed);" class="stk-highlight">company.com</span></code>) เข้าไป</li>



<li><strong>Update Users:</strong> เปลี่ยน User Logon Name ของพนักงานจาก <code><span style="color: var(--theme-palette-color-2, #1559ed);" class="stk-highlight">.local</span></code> ให้เป็น <code><span style="color: var(--theme-palette-color-2, #1559ed);" class="stk-highlight">.com</span></code> เพื่อให้ตรงกับ Email Address จริง</li>
</ul>
</li>



<li><strong>Cloud Preparation:</strong>
<ul class="wp-block-list">
<li>สร้างบัญชี <strong>Global Administrator</strong> บน Entra ID (แนะนำให้เป็น <code><span style="color: var(--theme-palette-color-2, #1559ed);" class="stk-highlight">admin@tenant.onmicrosoft.com</span></code> เพื่อกันการถูก Lockout)</li>



<li>ยืนยัน Domain (Verify Domain) บน Entra Portal ให้เรียบร้อย</li>
</ul>
</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">🛠️ Phase 2: Installation &amp; Configuration (ขั้นตอนการติดตั้ง)</h3>



<h4 class="wp-block-heading">Step 1: Download &amp; Install</h4>



<p>ดาวน์โหลด <strong>Microsoft Entra Connect V2</strong> จาก Microsoft Download Center และรันไฟล์ <code><span style="color: var(--theme-palette-color-2, #1559ed);" class="stk-highlight">.msi</span></code> บน Server ที่เตรียมไว้</p>



<h4 class="wp-block-heading">Step 2: Choose Installation Settings</h4>



<p>เมื่อเปิดโปรแกรม แนะนำให้เลือก <strong>&#8220;Customize&#8221;</strong> แทน Express Settings เพื่อความยืดหยุ่นในการจัดการ (โดยเฉพาะเรื่อง Filtering)</p>



<ul class="wp-block-list">
<li>กด <strong>Install</strong> (สำหรับส่วนประกอบพื้นฐาน)</li>
</ul>



<h4 class="wp-block-heading">Step 3: Connect to Microsoft Entra ID</h4>



<ul class="wp-block-list">
<li>ใส่ Username/Password ของบัญชี <strong>Global Administrator</strong> ของฝั่ง Cloud</li>
</ul>



<h4 class="wp-block-heading">Step 4: Connect to Your Directories (AD DS)</h4>



<ul class="wp-block-list">
<li>เลือก Active Directory Forest ที่ต้องการ</li>



<li>กด <strong>Add Directory</strong></li>



<li>ใส่ Username/Password ของ <strong>Enterprise Admin</strong> ของฝั่ง On-Premise</li>
</ul>



<h4 class="wp-block-heading">Step 5: Domain &amp; OU Filtering (จุดที่ต้องระวัง)</h4>



<ol start="1" class="wp-block-list">
<li><strong>Azure AD Sign-in configuration:</strong> ตรวจสอบว่า Domain ฝั่ง Local กับ Cloud ตรงกัน (Verified)</li>



<li><strong>Domain and OU filtering:</strong> เลือก <strong>&#8220;Sync selected domains and OUs&#8221;</strong>
<ul class="wp-block-list">
<li>✅ <strong>เลือก:</strong> OU ที่เก็บ Users พนักงานจริง</li>



<li>❌ <strong>ไม่เลือก:</strong> OU ของ Admin, Service Accounts หรือเครื่อง Server ที่ไม่จำเป็นต้องขึ้น Cloud เพื่อความปลอดภัยและประหยัด License</li>
</ul>
</li>
</ol>



<h4 class="wp-block-heading">Step 6: Sign-in Method Selection</h4>



<p>เลือกวิธีการ Authentication ให้ User แนะนำตามความเหมาะสม:</p>



<ul class="wp-block-list">
<li><strong>Password Hash Synchronization (PHS):</strong> (แนะนำสำหรับทั่วไป) ง่ายที่สุด User ล็อกอินได้แม้ Link เชื่อมต่อ Office ตัดขาด</li>



<li><strong>Enable Single Sign-on (SSO):</strong> ติ๊กถูกเลือกข้อนี้ เพื่อให้ User ในวงแลนไม่ต้องกรอกรหัสผ่านซ้ำเวลาเข้าเว็บ Microsoft 365</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">✅ Phase 3: Verification (ตรวจสอบความถูกต้อง)</h3>



<p>หลังจากกด <strong>Install</strong> และรอจนระบบแจ้งว่าเสร็จสิ้น ให้ตรวจสอบดังนี้:</p>



<ol start="1" class="wp-block-list">
<li><strong>Check on Server:</strong>
<ul class="wp-block-list">
<li>เปิดโปรแกรม <strong>Synchronization Service Manager</strong></li>



<li>ไปที่แท็บ <em>Operations</em> ดูสถานะล่าสุดต้องเป็น <strong>Success</strong></li>
</ul>
</li>



<li><strong>Check on Entra Portal:</strong>
<ul class="wp-block-list">
<li>ไปที่เมนู <strong>Users</strong></li>



<li>ตรวจสอบ User ที่ Sync ขึ้นมา ในคอลัมน์ <em>On-premises sync enabled</em> ต้องเป็น <strong>&#8220;Yes&#8221;</strong></li>



<li>ทดสอบ Login ด้วยบัญชีนั้นบน Office.com หรือ Azure Portal</li>
</ul>
</li>
</ol>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="559" src="https://kazth.com/log/wp-content/uploads/2025/12/image-5.png" alt="" class="wp-image-876" srcset="https://kazth.com/log/wp-content/uploads/2025/12/image-5.png 1024w, https://kazth.com/log/wp-content/uploads/2025/12/image-5-300x164.png 300w, https://kazth.com/log/wp-content/uploads/2025/12/image-5-768x419.png 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">💡 Pro Tips for System Engineers</h3>



<ul class="wp-block-list">
<li><strong>Soft Match:</strong> หากบน Cloud มี User <code><span style="color: var(--theme-palette-color-2, #1559ed);" class="stk-highlight">somchai@company.com</span></code> อยู่แล้ว และเรา Sync User ชื่อเดียวกันขึ้นไป ระบบจะพยายามจับคู่กัน (Soft Match) แต่อาจเกิดปัญหาข้อมูลทับซ้อนได้ ทางที่ดีควรเคลียร์ User บน Cloud (ที่เป็น Cloud-only) หรือระวังเรื่อง ProxyAddress ให้ดี</li>



<li><strong>Staging Mode:</strong> หากติดตั้งในระบบใหญ่ที่มีความเสี่ยงสูง ตอนติดตั้งหน้าสุดท้ายให้เลือก <strong>&#8220;Enable staging mode&#8221;</strong> ไว้ก่อน เพื่อดูผลลัพธ์การ Sync โดยที่ยังไม่ส่งข้อมูลไปที่ Entra ID จริงๆ เมื่อมั่นใจแล้วค่อยปิด Staging mode</li>



<li><strong>Admin Account Separation:</strong> อย่า Sync บัญชี Domain Admin ขึ้นไปใช้บน Cloud ควรแยก Account สำหรับบริหารจัดการ Cloud โดยเฉพาะ</li>
</ul>



<p>อ้างอิง  :<a href="https://learn.microsoft.com/pdf?url=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fentra%2Fidentity%2Fhybrid%2Ftoc.json" data-type="link" data-id="https://learn.microsoft.com/pdf?url=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fentra%2Fidentity%2Fhybrid%2Ftoc.json" target="_blank" rel="noopener"> Microsoft Doc</a> </p>



<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How VPN work // VPN ทำงานอย่างไร? แบบเข้าใจง่ายๆ</title>
		<link>https://kazth.com/log/cloud-infra/vpn-%e0%b8%97%e0%b8%b3%e0%b8%87%e0%b8%b2%e0%b8%99%e0%b8%ad%e0%b8%a2%e0%b9%88%e0%b8%b2%e0%b8%87%e0%b9%84%e0%b8%a3/</link>
		
		<dc:creator><![CDATA[hs9xkg]]></dc:creator>
		<pubDate>Mon, 01 Dec 2025 02:26:20 +0000</pubDate>
				<category><![CDATA[Cloud & Infra]]></category>
		<guid isPermaLink="false">https://kazth.com/log/?p=839</guid>

					<description><![CDATA[ 1️⃣ เริ่มต้นจากผู้ใช้งาน (Browser / Application) &#160;• เมื่อคุณเปิดเว็บหรือส่งข้อมูล &#160;• ข้อมูลเดิม (Original Packet) ยังไม่ถูกเข้ารหัส ประกอบด้วย: &#160;• IP Header &#160;• TCP Header &#160;• HTTP Payload (ข้อมูลจริง) 2️⃣ ระบบปฏิบัติการจะส่งแพ็กเกจไปยัง Virtual Interface (tun0) &#160;• tun0 เป็น “ช่องทางเสมือน” ที่ใช้สำหรับส่งข้อมูลเข้า VPN &#160;• Routing จะบังคับให้ทราฟฟิกทั้งหมดวิ่งผ่าน VPN client 3️⃣ VPN Client เข้ารหัสข้อมูล &#160;• VPN Client รับแพ็กเกจที่ยังไม่เข้ารหัส &#160;• ทำการ “เข้ารหัส payload” ให้ปลอดภัย &#160;• จากนั้น “ห่อซ้ำอีกชั้น” [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p> 1️⃣ เริ่มต้นจากผู้ใช้งาน (Browser / Application)</p>



<p>&nbsp;• เมื่อคุณเปิดเว็บหรือส่งข้อมูล</p>



<p>&nbsp;• ข้อมูลเดิม (Original Packet) ยังไม่ถูกเข้ารหัส</p>



<p>ประกอบด้วย:</p>



<p>&nbsp;• IP Header</p>



<p>&nbsp;• TCP Header</p>



<p>&nbsp;• HTTP Payload (ข้อมูลจริง)</p>



<p>2️⃣ ระบบปฏิบัติการจะส่งแพ็กเกจไปยัง Virtual Interface (tun0)</p>



<p>&nbsp;• tun0 เป็น “ช่องทางเสมือน” ที่ใช้สำหรับส่งข้อมูลเข้า VPN</p>



<p>&nbsp;• Routing จะบังคับให้ทราฟฟิกทั้งหมดวิ่งผ่าน VPN client</p>



<p>3️⃣ VPN Client เข้ารหัสข้อมูล</p>



<p>&nbsp;• VPN Client รับแพ็กเกจที่ยังไม่เข้ารหัส</p>



<p>&nbsp;• ทำการ “เข้ารหัส payload” ให้ปลอดภัย</p>



<p>&nbsp;• จากนั้น “ห่อซ้ำอีกชั้น” (Encapsulation) ด้วย</p>



<p>&nbsp;• New IP Header</p>



<p>&nbsp;• New UDP/TCP Header</p>



<p>&nbsp;• ข้อมูลจึงกลายเป็น Encrypted VPN Packet</p>



<p>4️⃣ ส่งแพ็กเกจลง Physical Network (เช่น eth0 / wlan0)</p>



<p>&nbsp;• ตอนนี้ข้อมูลที่ส่งออกอินเทอร์เน็ตถูกเข้ารหัสแล้ว</p>



<p>&nbsp;• คนภายนอกหรือเครือข่ายสาธารณะจะเห็นเป็นข้อมูลที่อ่านไม่ออก</p>



<p>5️⃣ เดินทางผ่านอินเทอร์เน็ต (Public Internet)</p>



<p>&nbsp;• ผู้ดักฟัง (ISP, แฮกเกอร์, WiFi สาธารณะ) ไม่รู้ว่าคุณเข้าดูเว็บอะไร</p>



<p>&nbsp;• เห็นแค่ “ก้อนข้อมูลเข้ารหัส”</p>



<p>6️⃣ ถึง VPN Server → ถอดรหัส (Decapsulation &amp; Decryption)</p>



<p>&nbsp;• VPN Server ทำหน้าที่:</p>



<p>&nbsp;• ถอดการห่อข้อมูล</p>



<p>&nbsp;• ถอดรหัสให้กลับเป็น original packet</p>



<p>7️⃣ ส่งต่อไปยังเว็บที่คุณต้องการเข้า</p>



<p>&nbsp;• เช่น Google, Facebook, หรือระบบภายในบริษัท</p>



<p>&nbsp;• ปลายทางเห็นข้อมูลเหมือนมาจาก VPN server ไม่ใช่เครื่องคุณ</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="950" height="1024" src="https://kazth.com/log/wp-content/uploads/2025/12/vpn-950x1024.png" alt="" class="wp-image-841" srcset="https://kazth.com/log/wp-content/uploads/2025/12/vpn-950x1024.png 950w, https://kazth.com/log/wp-content/uploads/2025/12/vpn-278x300.png 278w, https://kazth.com/log/wp-content/uploads/2025/12/vpn-768x828.png 768w, https://kazth.com/log/wp-content/uploads/2025/12/vpn.png 1113w" sizes="auto, (max-width: 950px) 100vw, 950px" /></figure>



<h4 class="wp-block-heading">👥 ใครจะต้องใช้?</h4>



<p>&nbsp;• ผู้ใช้ทั่วไปที่ต้องการความเป็นส่วนตัว</p>



<p>&nbsp;• คนที่ทำงานผ่าน WiFi สาธารณะ</p>



<p>&nbsp;• องค์กรที่ต้องการเข้าถึงระบบภายในแบบปลอดภัย</p>



<p>&nbsp;• นักพัฒนาและผู้ดูแลระบบที่ต้องการเข้าใจโครงสร้างเครือข่าย</p>



<p></p>



<h4 class="wp-block-heading">VPN คือการ “เข้ารหัสและห่อข้อมูล” ก่อนส่งผ่านอินเทอร์เน็ต ทำให้ปลอดภัยและซ่อนตัวตน โดยข้อมูลจะถูกถอดรหัสที่ VPN Server ก่อนส่งถึงปลายทาง</h4>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How does Docker Work? ฉบับเข้าใจง่ายใน 3 นาที</title>
		<link>https://kazth.com/log/cloud-infra/how-does-docker-work-%e0%b8%89%e0%b8%9a%e0%b8%b1%e0%b8%9a%e0%b9%80%e0%b8%82%e0%b9%89%e0%b8%b2%e0%b9%83%e0%b8%88%e0%b8%87%e0%b9%88%e0%b8%b2%e0%b8%a2%e0%b9%83%e0%b8%99-3-%e0%b8%99%e0%b8%b2%e0%b8%97/</link>
		
		<dc:creator><![CDATA[hs9xkg]]></dc:creator>
		<pubDate>Sun, 30 Nov 2025 15:22:27 +0000</pubDate>
				<category><![CDATA[Cloud & Infra]]></category>
		<guid isPermaLink="false">https://kazth.com/log/?p=832</guid>

					<description><![CDATA[สำหรับใครที่สงสัยว่า Docker ทำงานยังไง? วันนี้ผมสรุป Architecture ของมันมาให้เห็นภาพง่ายๆ ครับ 1. Docker Client 💻 (ส่วนสั่งการ) เปรียบเสมือน &#8220;รีโมตคอนโทรล&#8221; ที่เราใช้สั่งงาน นี่คือจุดที่เราพิมพ์คำสั่งต่างๆ ลงใน Terminal เช่น: 2. Docker Host 🧠 (สมองและพื้นที่ทำงาน) นี่คือเครื่อง Server หรือ Computer ที่ Docker ติดตั้งอยู่ ประกอบด้วย 2 ส่วนหลัก: 3. Docker Registry ☁️ (คลังเก็บของ) เปรียบเสมือน &#8220;App Store&#8221; สำหรับ Docker Images 🖼️ ภาพรวมการทำงาน (The Big Picture) ข้อมูลโค้ด 🎯 สรุปสั้นที่สุด Docker คือระบบที่ช่วยให้เราสร้างและรันแอปในรูปแบบ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>สำหรับใครที่สงสัยว่า Docker ทำงานยังไง? วันนี้ผมสรุป Architecture ของมันมาให้เห็นภาพง่ายๆ ครับ</p>



<h2 class="wp-block-heading">1. Docker Client 💻 (ส่วนสั่งการ)</h2>



<p>เปรียบเสมือน <strong>&#8220;รีโมตคอนโทรล&#8221;</strong> ที่เราใช้สั่งงาน นี่คือจุดที่เราพิมพ์คำสั่งต่างๆ ลงใน Terminal เช่น:</p>



<ul class="wp-block-list">
<li><code><strong><span style="color: #0f0e17;" class="stk-highlight">docker build</span></strong></code> ➜ สั่งให้สร้าง Image</li>



<li><code><strong><span style="color: #0f0e17;" class="stk-highlight">docker pull</span></strong></code> ➜ สั่งให้ไปดึง Image มาจาก Registry</li>



<li><code><strong><span style="color: #0f0e17;" class="stk-highlight">docker run</span></strong></code> ➜ สั่งให้สร้างและรัน Container จาก Image</li>
</ul>



<h2 class="wp-block-heading">2. Docker Host 🧠 (สมองและพื้นที่ทำงาน)</h2>



<p>นี่คือเครื่อง Server หรือ Computer ที่ Docker ติดตั้งอยู่ ประกอบด้วย 2 ส่วนหลัก:</p>



<ul class="wp-block-list">
<li><strong>Docker Daemon (</strong><code><span style="color: #0f0e17;" class="stk-highlight"><strong>dockerd</strong></span></code><strong>):</strong> คือ &#8220;สมอง&#8221; ที่คอยรับคำสั่งจาก Client มาประมวลผล และจัดการทุกอย่างเบื้องหลัง</li>



<li><strong>Images &amp; Containers:</strong>
<ul class="wp-block-list">
<li>📄 <strong>Images:</strong> คือ &#8220;แม่แบบ&#8221; (Template) หรือไฟล์ต้นฉบับ (เช่น Ubuntu, Nginx) เป็นเหมือนไฟล์ Read-only</li>



<li>📦 <strong>Containers:</strong> คือ Image ที่ถูกปลุกให้ <strong>&#8220;มีชีวิต&#8221;</strong> ทำงานได้จริง เปรียบเสมือนเครื่องเสมือนขนาดเล็ก</li>
</ul>
</li>
</ul>



<h2 class="wp-block-heading">3. Docker Registry ☁️ (คลังเก็บของ)</h2>



<p>เปรียบเสมือน <strong>&#8220;App Store&#8221;</strong> สำหรับ Docker Images</p>



<ul class="wp-block-list">
<li><strong>Docker Hub / GitHub Container Registry:</strong> เป็นที่ที่เราไปดึง <span style="color: #0f0e17;" class="stk-highlight">(<code>pull</code></span>) Image มาใช้งาน หรือส่ง (<code><span style="color: #0f0e17;" class="stk-highlight">push</span></code>) Image ที่เราสร้างขึ้นไปเก็บไว้</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="970" height="1024" src="https://kazth.com/log/wp-content/uploads/2025/11/589820014_1328686909272652_8820930083874476298_n-970x1024.jpg" alt="" class="wp-image-833" srcset="https://kazth.com/log/wp-content/uploads/2025/11/589820014_1328686909272652_8820930083874476298_n-970x1024.jpg 970w, https://kazth.com/log/wp-content/uploads/2025/11/589820014_1328686909272652_8820930083874476298_n-284x300.jpg 284w, https://kazth.com/log/wp-content/uploads/2025/11/589820014_1328686909272652_8820930083874476298_n-768x811.jpg 768w, https://kazth.com/log/wp-content/uploads/2025/11/589820014_1328686909272652_8820930083874476298_n-1455x1536.jpg 1455w, https://kazth.com/log/wp-content/uploads/2025/11/589820014_1328686909272652_8820930083874476298_n-500x528.jpg 500w, https://kazth.com/log/wp-content/uploads/2025/11/589820014_1328686909272652_8820930083874476298_n-600x633.jpg 600w, https://kazth.com/log/wp-content/uploads/2025/11/589820014_1328686909272652_8820930083874476298_n.jpg 1940w" sizes="auto, (max-width: 970px) 100vw, 970px" /></figure>



<h3 class="wp-block-heading">🖼️ ภาพรวมการทำงาน (The Big Picture)</h3>



<p>ข้อมูลโค้ด</p>



<pre class="wp-block-code"><code><span style="color: #272424;" class="stk-highlight">graph LR
User((User)) -- คำสั่ง --&gt; Client&#91;Docker Client]
Client -- ส่ง API --&gt; Daemon&#91;Docker Daemon]</span>

<span style="color: #292626;" class="stk-highlight">subgraph Host &#91;Docker Host]
    Daemon
    Images&#91;Images]
    Containers&#91;Running Containers]
end

subgraph Registry &#91;Docker Registry]
    Hub&#91;Docker Hub / Cloud Registry]
end

Daemon -- Pull/Push --&gt; Hub
Daemon -- สร้าง --&gt; Containers
Images -- ต้นแบบ --&gt; Containers</span></code></pre>



<h3 class="wp-block-heading">🎯 สรุปสั้นที่สุด</h3>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Docker</strong> คือระบบที่ช่วยให้เราสร้างและรันแอปในรูปแบบ <strong>&#8220;Container&#8221;</strong> ได้สะดวกขึ้น โดยใช้ <strong>Client</strong> ส่งคำสั่งไปให้ <strong>Daemon</strong> จัดการภาพรวม และดึง <strong>Images</strong> จาก <strong>Registry</strong> มารันใช้งานจริง</p>
</blockquote>



<p><strong>💡 Engineer&#8217;s Note:</strong> ในการทำงานจริงบน Cloud (เช่น Azure) เราอาจจะไม่ได้ใช้ Docker Host เดี่ยวๆ แต่จะใช้ผ่าน <strong>Container Orchestration</strong> อย่าง <strong>Kubernetes (K8s)</strong> หรือ <strong>Azure Container Apps</strong> ซึ่งเบื้องหลังก็ใช้หลักการ Container Runtime แบบเดียวกันนี้แหละครับ!</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Docker Container Lifecycle : วงจรชีวิตของ Container</title>
		<link>https://kazth.com/log/cloud-infra/docker-container-lifecycle/</link>
		
		<dc:creator><![CDATA[hs9xkg]]></dc:creator>
		<pubDate>Sun, 30 Nov 2025 13:26:48 +0000</pubDate>
				<category><![CDATA[Cloud & Infra]]></category>
		<guid isPermaLink="false">https://kazth.com/log/?p=808</guid>

					<description><![CDATA[การใช้งาน Docker ให้มีประสิทธิภาพ ไม่ได้มีแค่การสร้างและรัน Container เท่านั้น แต่การรู้จัก วงจรชีวิตของ Container (Container Lifecycle) จะช่วยให้เราบริหารจัดการระบบได้อย่างมืออาชีพยิ่งขึ้น โพสต์นี้จะสรุปทุกขั้นตอนสำคัญจากภาพให้เข้าใจง่าย พร้อมคำสั่งหลักที่ควรรู้ วงจรชีวิตของ Docker Container 1) Created คำสั่ง: docker create สร้าง Container ใหม่จาก Image แต่ ยังไม่เริ่มทำงาน เหมาะสำหรับเตรียมการตั้งค่า หรือต้องการรันภายหลัง 2) Running คำสั่ง: docker run สร้างและเริ่มต้น Container ทันที — เป็นคำสั่งที่ใช้บ่อยที่สุด เทียบง่าย ๆ: docker run = docker create + docker start 3) Paused คำสั่ง: docker pause [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><a></a>การใช้งาน Docker ให้มีประสิทธิภาพ ไม่ได้มีแค่การสร้างและรัน Container เท่านั้น แต่การรู้จัก วงจรชีวิตของ Container (Container Lifecycle) จะช่วยให้เราบริหารจัดการระบบได้อย่างมืออาชีพยิ่งขึ้น <img loading="lazy" decoding="async" height="16" width="16" alt="✨" src="https://static.xx.fbcdn.net/images/emoji.php/v9/tf4/1/16/2728.png"></p>



<p>โพสต์นี้จะสรุปทุกขั้นตอนสำคัญจากภาพให้เข้าใจง่าย พร้อมคำสั่งหลักที่ควรรู้ </p>



<h3 class="wp-block-heading">วงจรชีวิตของ Docker Container</h3>



<p><img loading="lazy" decoding="async" height="16" width="16" alt="🧪" src="https://static.xx.fbcdn.net/images/emoji.php/v9/t2d/1/16/1f9ea.png"> 1) Created</p>



<p>คำสั่ง: docker create</p>



<p>สร้าง Container ใหม่จาก Image แต่ ยังไม่เริ่มทำงาน</p>



<p>เหมาะสำหรับเตรียมการตั้งค่า หรือต้องการรันภายหลัง</p>



<p><img loading="lazy" decoding="async" height="16" width="16" alt="🔥" src="https://static.xx.fbcdn.net/images/emoji.php/v9/t50/1/16/1f525.png"> 2) Running</p>



<p>คำสั่ง: docker run</p>



<p>สร้างและเริ่มต้น Container ทันที — เป็นคำสั่งที่ใช้บ่อยที่สุด</p>



<p>เทียบง่าย ๆ: docker run = docker create + docker start</p>



<p><img loading="lazy" decoding="async" height="16" width="16" alt="🧊" src="https://static.xx.fbcdn.net/images/emoji.php/v9/tef/1/16/1f9ca.png"> 3) Paused</p>



<p>คำสั่ง: docker pause</p>



<p>หยุดการทำงานของ process ชั่วคราว (แขวนไว้ใน RAM)</p>



<p>กรณีใช้งาน เช่น ต้องการหยุดชั่วคราวโดยไม่ปิดแอป</p>



<p><img loading="lazy" decoding="async" height="16" width="16" alt="🛑" src="https://static.xx.fbcdn.net/images/emoji.php/v9/t9b/1/16/1f6d1.png"> 4) Stopped</p>



<p>คำสั่ง: docker stop</p>



<p>หยุด Container แบบมีระเบียบ โดยส่งสัญญาณ SIGTERM</p>



<p>ให้โปรแกรมภายในปิดตัวเองอย่างปลอดภัย</p>



<p><img loading="lazy" decoding="async" height="16" width="16" alt="🗑" src="https://static.xx.fbcdn.net/images/emoji.php/v9/t5a/1/16/1f5d1.png"> 5) Deleted</p>



<p>คำสั่ง: docker rm</p>



<p>ลบ Container ออกจากระบบ (ต้อง stop ก่อนถึงจะลบได้)</p>



<p><img loading="lazy" decoding="async" height="16" width="16" alt="🧠" src="https://static.xx.fbcdn.net/images/emoji.php/v9/t7c/1/16/1f9e0.png"> สรุปสั้น ๆ จำง่าย</p>



<p>create → run → pause → stop → rm คือวงจรชีวิตหลักของ Container</p>



<p>การเข้าใจ lifecycle ช่วยให้:</p>



<p>บริหารทรัพยากร server ได้ดีขึ้น</p>



<p>หลีกเลี่ยงการ kill container โดยไม่จำเป็น</p>



<p>Debug และควบคุม environment ได้ง่ายขึ้น</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="590" height="548" data-id="809" src="https://kazth.com/log/wp-content/uploads/2025/11/591717378_1368187495093682_748834794698200855_n.jpg" alt="" class="wp-image-809" srcset="https://kazth.com/log/wp-content/uploads/2025/11/591717378_1368187495093682_748834794698200855_n.jpg 590w, https://kazth.com/log/wp-content/uploads/2025/11/591717378_1368187495093682_748834794698200855_n-300x279.jpg 300w, https://kazth.com/log/wp-content/uploads/2025/11/591717378_1368187495093682_748834794698200855_n-500x464.jpg 500w" sizes="auto, (max-width: 590px) 100vw, 590px" /></figure>
</figure>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="590" height="272" src="https://kazth.com/log/wp-content/uploads/2025/11/591299851_1368187658426999_5733642732284258539_n.jpg" alt="" class="wp-image-810" style="width:883px;height:auto" srcset="https://kazth.com/log/wp-content/uploads/2025/11/591299851_1368187658426999_5733642732284258539_n.jpg 590w, https://kazth.com/log/wp-content/uploads/2025/11/591299851_1368187658426999_5733642732284258539_n-300x138.jpg 300w, https://kazth.com/log/wp-content/uploads/2025/11/591299851_1368187658426999_5733642732284258539_n-500x231.jpg 500w" sizes="auto, (max-width: 590px) 100vw, 590px" /></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Container vs. Virtual Machine: เหมือนจะคล้าย แต่ &#8220;ไส้ใน&#8221; คนละเรื่อง</title>
		<link>https://kazth.com/log/cloud-infra/container-vs-virtual-machine-%e0%b9%80%e0%b8%ab%e0%b8%a1%e0%b8%b7%e0%b8%ad%e0%b8%99%e0%b8%88%e0%b8%b0%e0%b8%84%e0%b8%a5%e0%b9%89%e0%b8%b2%e0%b8%a2-%e0%b9%81%e0%b8%95%e0%b9%88-%e0%b9%84%e0%b8%aa/</link>
					<comments>https://kazth.com/log/cloud-infra/container-vs-virtual-machine-%e0%b9%80%e0%b8%ab%e0%b8%a1%e0%b8%b7%e0%b8%ad%e0%b8%99%e0%b8%88%e0%b8%b0%e0%b8%84%e0%b8%a5%e0%b9%89%e0%b8%b2%e0%b8%a2-%e0%b9%81%e0%b8%95%e0%b9%88-%e0%b9%84%e0%b8%aa/#respond</comments>
		
		<dc:creator><![CDATA[hs9xkg]]></dc:creator>
		<pubDate>Fri, 28 Nov 2025 14:40:08 +0000</pubDate>
				<category><![CDATA[Cloud & Infra]]></category>
		<guid isPermaLink="false">https://kazth.com/log/?p=757</guid>

					<description><![CDATA[ในยุคที่ผมเริ่มทำงาน System Admin ใหม่ๆ โลกของเราหมุนรอบ Virtual Machine (VM) ครับ การเสก Server ขึ้นมาหนึ่งตัวโดยไม่ต้องรอซื้อ Hardware จริงๆ ถือว่าเป็นเวทมนตร์แล้วในตอนนั้น แต่พอผมขยับมาทำ Cloud และเริ่มจับพวก Docker หรือ Kubernetes ก็เริ่มมีคำถามว่า &#8220;อ้าว แล้วมันต่างจาก VM ยังไง? ในเมื่อมันก็ได้ OS ก้อนๆ หนึ่งมาใช้งานเหมือนกัน?&#8221; วันนี้ผมจะมาแชร์ความแตกต่างนี้ให้ฟัง ในแบบฉบับที่เข้าใจง่ายและเห็นภาพครับ 1. Virtual Machine (VM): บ้านเดี่ยวที่มีทุกอย่างเป็นของตัวเอง ให้จินตนาการว่า VM คือ &#8220;บ้านเดี่ยว&#8221; ครับ เวลาเราสร้าง VM หนึ่งตัว (ผ่าน Hypervisor อย่าง VMware, Hyper-V หรือบน Cloud) สิ่งที่เราได้คือการจำลอง Hardware ขึ้นมาใหม่หมด [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>ในยุคที่ผมเริ่มทำงาน System Admin ใหม่ๆ โลกของเราหมุนรอบ <strong>Virtual Machine (VM)</strong> ครับ การเสก Server ขึ้นมาหนึ่งตัวโดยไม่ต้องรอซื้อ Hardware จริงๆ ถือว่าเป็นเวทมนตร์แล้วในตอนนั้น</p>



<p>แต่พอผมขยับมาทำ Cloud และเริ่มจับพวก Docker หรือ Kubernetes ก็เริ่มมีคำถามว่า <em>&#8220;อ้าว แล้วมันต่างจาก VM ยังไง? ในเมื่อมันก็ได้ OS ก้อนๆ หนึ่งมาใช้งานเหมือนกัน?&#8221;</em></p>



<p>วันนี้ผมจะมาแชร์ความแตกต่างนี้ให้ฟัง ในแบบฉบับที่เข้าใจง่ายและเห็นภาพครับ</p>



<h4 class="wp-block-heading"><strong>1. Virtual Machine (VM): บ้านเดี่ยวที่มีทุกอย่างเป็นของตัวเอง</strong></h4>



<p>ให้จินตนาการว่า <strong>VM</strong> คือ <strong>&#8220;บ้านเดี่ยว&#8221;</strong> ครับ เวลาเราสร้าง VM หนึ่งตัว (ผ่าน Hypervisor อย่าง VMware, Hyper-V หรือบน Cloud) สิ่งที่เราได้คือการจำลอง Hardware ขึ้นมาใหม่หมด</p>



<ul class="wp-block-list">
<li><strong>Guest OS:</strong> แต่ละ VM ต้องแบก Windows หรือ Linux ของตัวเองไปด้วย</li>



<li><strong>Resources:</strong> มี CPU, RAM, Disk ที่จองไว้เฉพาะ</li>



<li><strong>Isolation:</strong> แยกจากกันชัดเจน ถ้าบ้านข้างๆ ไฟไหม้ (Crash) บ้านเราก็ยังอยู่รอดปลอดภัย</li>
</ul>



<p><strong>ข้อดี:</strong> ความปลอดภัยสูง แยกกันเด็ดขาด รัน OS อะไรก็ได้ <strong>ข้อเสีย:</strong> &#8220;อ้วนและอุ้ยอ้าย&#8221; เพราะต้องแบก OS ทั้งก้อน จะเปิดเครื่องทีก็ต้องรอ Boot นาน กินทรัพยากรเครื่องเยอะ</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="585" src="https://kazth.com/log/wp-content/uploads/2025/11/licensed-image-2-1024x585.jpg" alt="" class="wp-image-760" srcset="https://kazth.com/log/wp-content/uploads/2025/11/licensed-image-2-1024x585.jpg 1024w, https://kazth.com/log/wp-content/uploads/2025/11/licensed-image-2-300x171.jpg 300w, https://kazth.com/log/wp-content/uploads/2025/11/licensed-image-2-768x438.jpg 768w, https://kazth.com/log/wp-content/uploads/2025/11/licensed-image-2-1536x877.jpg 1536w, https://kazth.com/log/wp-content/uploads/2025/11/licensed-image-2-2048x1169.jpg 2048w, https://kazth.com/log/wp-content/uploads/2025/11/licensed-image-2-500x285.jpg 500w, https://kazth.com/log/wp-content/uploads/2025/11/licensed-image-2-600x343.jpg 600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h4 class="wp-block-heading"><strong>2. Container: คอนโดมิเนียมที่แชร์ส่วนกลางร่วมกัน</strong></h4>



<p>ตัดภาพมาที่ <strong>Container</strong> (เช่น Docker) ให้มองว่ามันคือ <strong>&#8220;ห้องพักในคอนโด&#8221;</strong> ครับ Container ไม่ได้จำลอง Hardware ใหม่ แต่มันใช้วิธี <strong>&#8220;แชร์ OS Kernel&#8221;</strong> ร่วมกับเครื่องแม่ (Host OS)</p>



<ul class="wp-block-list">
<li><strong>No Guest OS:</strong> ใน Container มีแค่ Code, Runtime และ Library ที่จำเป็นจริงๆ เท่านั้น ไม่มี Kernel เป็นของตัวเอง</li>



<li><strong>Lightweight:</strong> เพราะไม่ต้องแบก OS ขนาดมันเลยเล็กมาก (หลัก MB)</li>



<li><strong>Fast:</strong> เปิดปุ๊บติดปั๊บ (หลักวินาที) เพราะไม่ต้องรอ Boot OS ใหม่</li>
</ul>



<p><strong>ข้อดี:</strong> เล็ก เร็ว เบา เคลื่อนย้ายง่าย (Portable) เหมาะมากกับยุค Microservices <strong>ข้อเสีย:</strong> ความปลอดภัย (Isolation) อาจไม่เท่า VM เพราะยังแชร์ Kernel กันอยู่ และเลือก OS ได้จำกัดกว่า (เช่น Container Linux ก็ต้องรันบน Linux Kernel)</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="960" data-id="761" src="https://kazth.com/log/wp-content/uploads/2025/11/licensed-image2-1024x960.jpg" alt="" class="wp-image-761" srcset="https://kazth.com/log/wp-content/uploads/2025/11/licensed-image2-1024x960.jpg 1024w, https://kazth.com/log/wp-content/uploads/2025/11/licensed-image2-300x281.jpg 300w, https://kazth.com/log/wp-content/uploads/2025/11/licensed-image2-768x720.jpg 768w, https://kazth.com/log/wp-content/uploads/2025/11/licensed-image2-1536x1440.jpg 1536w, https://kazth.com/log/wp-content/uploads/2025/11/licensed-image2-500x469.jpg 500w, https://kazth.com/log/wp-content/uploads/2025/11/licensed-image2-600x563.jpg 600w, https://kazth.com/log/wp-content/uploads/2025/11/licensed-image2.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h4 class="wp-block-heading"><strong>ตารางเปรียบเทียบให้เห็นภาพ (ฉบับ System Engineer)</strong></h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td>คุณสมบัติ</td><td>Virtual Machine (VM)</td><td>Container</td></tr></thead><tbody><tr><td><strong>โครงสร้าง</strong></td><td>Hardware Virtualization (มี Guest OS เอง)</td><td>OS Virtualization (แชร์ Kernel)</td></tr><tr><td><strong>ขนาด (Size)</strong></td><td>ใหญ่ (หลัก GB)</td><td>เล็ก (หลัก MB)</td></tr><tr><td><strong>ความเร็ว (Startup)</strong></td><td>ช้า (นาที) &#8211; ต้องรอ Boot OS</td><td>เร็วมาก (วินาที) &#8211; start app ได้เลย</td></tr><tr><td><strong>ความปลอดภัย (Isolation)</strong></td><td>สูงมาก (แยกกันสมบูรณ์)</td><td>ปานกลาง (Process Isolation)</td></tr><tr><td><strong>ความยืดหยุ่น (Portability)</strong></td><td>ย้ายยากกว่า (ติดเรื่อง Format, Driver)</td><td>เขียนครั้งเดียว รันได้ทุกที่ (Write Once, Run Anywhere)</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="585" data-id="765" src="https://kazth.com/log/wp-content/uploads/2025/11/1_KvZJyYBsS31G7XW_u25jwA-1024x585.png" alt="" class="wp-image-765" srcset="https://kazth.com/log/wp-content/uploads/2025/11/1_KvZJyYBsS31G7XW_u25jwA-1024x585.png 1024w, https://kazth.com/log/wp-content/uploads/2025/11/1_KvZJyYBsS31G7XW_u25jwA-300x171.png 300w, https://kazth.com/log/wp-content/uploads/2025/11/1_KvZJyYBsS31G7XW_u25jwA-768x439.png 768w, https://kazth.com/log/wp-content/uploads/2025/11/1_KvZJyYBsS31G7XW_u25jwA-500x286.png 500w, https://kazth.com/log/wp-content/uploads/2025/11/1_KvZJyYBsS31G7XW_u25jwA-600x343.png 600w, https://kazth.com/log/wp-content/uploads/2025/11/1_KvZJyYBsS31G7XW_u25jwA.png 1400w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</figure>



<h4 class="wp-block-heading"><strong>สรุป: แล้วเราควรใช้อะไร?</strong></h4>



<p>คำตอบคือ <strong>&#8220;ใช้ทั้งคู่ครับ&#8221;</strong> (It depends)</p>



<ul class="wp-block-list">
<li><strong>ใช้ VM เมื่อ:</strong> คุณต้องการความปลอดภัยสูงสุด, ต้องการรันแอปพลิเคชันแบบ Legacy ที่ต้องการ OS เฉพาะ หรือต้องการทรัพยากรที่นิ่งและแน่นอน</li>



<li><strong>ใช้ Container เมื่อ:</strong> คุณต้องการทำ App สมัยใหม่ (Cloud Native), ต้องการ Deploy บ่อยๆ, อยากประหยัดทรัพยากร และต้องการสภาพแวดล้อมที่เหมือนกันเป๊ะๆ ตั้งแต่เครื่อง Dev ยัน Production</li>
</ul>



<p>ในโลกความเป็นจริง โดยเฉพาะบน Cloud (AWS/Azure) เรามักจะรัน <strong>Container ซ้อนอยู่บน VM</strong> อีกทีครับ เพื่อเอาข้อดีของทั้งสองฝั่งมารวมกัน คือได้ความง่ายในการจัดการแอปแบบ Container และได้ความปลอดภัยแบบ VM</p>



<p>หวังว่าบทความนี้จะช่วยให้เพื่อนๆ สาย Infra แยกแยะความแตกต่างและเลือกใช้งานเครื่องมือได้เหมาะกับงานมากขึ้นนะครับ</p>
]]></content:encoded>
					
					<wfw:commentRss>https://kazth.com/log/cloud-infra/container-vs-virtual-machine-%e0%b9%80%e0%b8%ab%e0%b8%a1%e0%b8%b7%e0%b8%ad%e0%b8%99%e0%b8%88%e0%b8%b0%e0%b8%84%e0%b8%a5%e0%b9%89%e0%b8%b2%e0%b8%a2-%e0%b9%81%e0%b8%95%e0%b9%88-%e0%b9%84%e0%b8%aa/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Azure VNet: กระดูกสันหลังของ Cloud Service</title>
		<link>https://kazth.com/log/cloud-infra/azure-vnet-%e0%b8%81%e0%b8%a3%e0%b8%b0%e0%b8%94%e0%b8%b9%e0%b8%81%e0%b8%aa%e0%b8%b1%e0%b8%99%e0%b8%ab%e0%b8%a5%e0%b8%b1%e0%b8%87%e0%b8%82%e0%b8%ad%e0%b8%87-cloud-service/</link>
					<comments>https://kazth.com/log/cloud-infra/azure-vnet-%e0%b8%81%e0%b8%a3%e0%b8%b0%e0%b8%94%e0%b8%b9%e0%b8%81%e0%b8%aa%e0%b8%b1%e0%b8%99%e0%b8%ab%e0%b8%a5%e0%b8%b1%e0%b8%87%e0%b8%82%e0%b8%ad%e0%b8%87-cloud-service/#respond</comments>
		
		<dc:creator><![CDATA[hs9xkg]]></dc:creator>
		<pubDate>Fri, 28 Nov 2025 14:21:51 +0000</pubDate>
				<category><![CDATA[Cloud & Infra]]></category>
		<guid isPermaLink="false">https://kazth.com/log/?p=752</guid>

					<description><![CDATA[ถ้าถามผมว่าจุดเริ่มต้นของการย้ายขึ้น Cloud หรือทำ Cloud Migration คืออะไร? คำตอบแรกๆ ที่ผมจะนึกถึงเสมอคือ &#8220;Networking&#8221; ครับ เพราะไม่ว่า Compute จะแรงแค่ไหน หรือ Storage จะเยอะเท่าไหร่ ถ้า Network ออกแบบมาไม่ดี ระบบก็พังได้ง่ายๆ วันนี้ผมเลยอยากมาสรุปเรื่อง Azure Virtual Network (VNet) ให้เห็นภาพกันชัดๆ ว่ามันคืออะไร และทำไมผมถึงมองว่ามันคือหัวใจสำคัญของการวาง Infrastructure บน Azure ครับ Azure VNet คืออะไร? (ในมุมมองของผม) ถ้าเปรียบ Azure เหมือนตึกออฟฟิศขนาดยักษ์ที่มีคนเช่าอยู่เต็มไปหมด VNet ก็คือ &#8220;ออฟฟิศส่วนตัว&#8221; ที่เราเช่าแยกออกมาครับ มันเป็นพื้นที่ Private Network ที่เรามีสิทธิ์จัดการทุกอย่างได้เอง 100% เราสามารถกำหนดได้ว่า ใครจะเดินเข้า-ออกห้องไหนได้บ้าง จะวางเซิร์ฟเวอร์ตรงไหน หรือจะลากสายแลนเชื่อมต่อกันยังไง ทั้งหมดนี้ทำได้บน Cloud โดยที่เราไม่ต้องไปยุ่งกับ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="800" height="470" src="https://kazth.com/log/wp-content/uploads/2025/11/create-azure-vnet-using-terraform.png" alt="" class="wp-image-753" srcset="https://kazth.com/log/wp-content/uploads/2025/11/create-azure-vnet-using-terraform.png 800w, https://kazth.com/log/wp-content/uploads/2025/11/create-azure-vnet-using-terraform-300x176.png 300w, https://kazth.com/log/wp-content/uploads/2025/11/create-azure-vnet-using-terraform-768x451.png 768w, https://kazth.com/log/wp-content/uploads/2025/11/create-azure-vnet-using-terraform-500x294.png 500w, https://kazth.com/log/wp-content/uploads/2025/11/create-azure-vnet-using-terraform-600x353.png 600w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<p>ถ้าถามผมว่าจุดเริ่มต้นของการย้ายขึ้น Cloud หรือทำ Cloud Migration คืออะไร? คำตอบแรกๆ ที่ผมจะนึกถึงเสมอคือ <strong>&#8220;Networking&#8221;</strong> ครับ</p>



<p>เพราะไม่ว่า Compute จะแรงแค่ไหน หรือ Storage จะเยอะเท่าไหร่ ถ้า Network ออกแบบมาไม่ดี ระบบก็พังได้ง่ายๆ วันนี้ผมเลยอยากมาสรุปเรื่อง <strong>Azure Virtual Network (VNet)</strong> ให้เห็นภาพกันชัดๆ ว่ามันคืออะไร และทำไมผมถึงมองว่ามันคือหัวใจสำคัญของการวาง Infrastructure บน Azure ครับ</p>



<h4 class="wp-block-heading"><strong>Azure VNet คืออะไร? (ในมุมมองของผม)</strong></h4>



<p>ถ้าเปรียบ Azure เหมือนตึกออฟฟิศขนาดยักษ์ที่มีคนเช่าอยู่เต็มไปหมด <strong>VNet</strong> ก็คือ <strong>&#8220;ออฟฟิศส่วนตัว&#8221;</strong> ที่เราเช่าแยกออกมาครับ มันเป็นพื้นที่ Private Network ที่เรามีสิทธิ์จัดการทุกอย่างได้เอง 100%</p>



<p>เราสามารถกำหนดได้ว่า ใครจะเดินเข้า-ออกห้องไหนได้บ้าง จะวางเซิร์ฟเวอร์ตรงไหน หรือจะลากสายแลนเชื่อมต่อกันยังไง ทั้งหมดนี้ทำได้บน Cloud โดยที่เราไม่ต้องไปยุ่งกับ Hardware จริงๆ เลยครับ</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="849" height="436" src="https://kazth.com/log/wp-content/uploads/2025/11/v-net.png" alt="" class="wp-image-754" srcset="https://kazth.com/log/wp-content/uploads/2025/11/v-net.png 849w, https://kazth.com/log/wp-content/uploads/2025/11/v-net-300x154.png 300w, https://kazth.com/log/wp-content/uploads/2025/11/v-net-768x394.png 768w, https://kazth.com/log/wp-content/uploads/2025/11/v-net-500x257.png 500w, https://kazth.com/log/wp-content/uploads/2025/11/v-net-600x308.png 600w" sizes="auto, (max-width: 849px) 100vw, 849px" /></figure>



<h4 class="wp-block-heading"><strong>ทำไมเราถึงขาด VNet ไม่ได้?</strong></h4>



<p>จากประสบการณ์ที่ดูแลระบบมา ผมสรุปข้อดีหลักๆ ที่ทำให้ VNet เป็นสิ่งที่ขาดไม่ได้ ดังนี้ครับ:</p>



<p><strong>1. Resource Isolation (ความเป็นส่วนตัวต้องมาก่อน)</strong> สิ่งแรกที่ VNet ให้เราคือ &#8220;ความปลอดภัย&#8221; ครับ เพราะทรัพยากรทุกอย่าง (VM, Database) ที่อยู่ใน VNet ของเรา จะถูกแยกออกจาก VNet ของคนอื่น (Tenant อื่น) อย่างสมบูรณ์ มั่นใจได้เลยว่าข้อมูลไม่รั่วไหลไปปนกับใครแน่นอน</p>



<p><strong>2. Segmentation: จัดบ้านให้เป็นระเบียบด้วย Subnet</strong> การเททุกอย่างรวมกันใน Network วงเดียวคือฝันร้ายของ Admin ครับ ใน VNet เราสามารถซอยย่อยเป็น <strong>Subnet</strong> เพื่อแบ่งโซนตามหน้าที่ได้ เช่น:</p>



<ul class="wp-block-list">
<li><strong>Web Subnet:</strong> หน้าด่านสำหรับรับแขก (Public)</li>



<li><strong>App Subnet:</strong> โซนทำงาน ประมวลผล Logic</li>



<li><strong>Database Subnet:</strong> ห้องเก็บสมบัติ (Data) ที่ต้องล็อกกุญแจหนาแน่น</li>
</ul>



<p><strong>3. Security Control: เราคือกฎ</strong> เราสามารถควบคุม Traffic ได้ละเอียดสุดๆ ผ่านเครื่องมืออย่าง:</p>



<ul class="wp-block-list">
<li><strong>NSG (Network Security Groups):</strong> เหมือนยามหน้าประตู คอยตรวจ Packet เข้า-ออก</li>



<li><strong>Azure Firewall:</strong> สำหรับ Policy ที่ซับซ้อนขึ้น</li>



<li><strong>Private Endpoints:</strong> การเชื่อมต่อ Service แบบไม่ต้องวิ่งผ่าน Public Internet (อันนี้สำคัญมากสำหรับความปลอดภัยยุคนี้)</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h4 class="wp-block-heading"><strong>การเชื่อมต่อ (Connectivity)</strong></h4>



<p>เรื่องการเชื่อมต่อบน VNet ผมแบ่งเป็น 3 กรณีที่เจอบ่อยครับ:</p>



<ol start="1" class="wp-block-list">
<li><strong>ใน VNet เดียวกัน:</strong> อันนี้ง่ายสุด VM คุยกันได้เลยโดยอัตโนมัติ</li>



<li><strong>ข้าม VNet (Peering):</strong> ถ้ามีหลาย VNet เราใช้ฟีเจอร์ <strong>VNet Peering</strong> เชื่อมหากันได้ วิ่งบน Backbone ของ Microsoft เร็วและปลอดภัย</li>



<li><strong>Hybrid Cloud:</strong> สำหรับองค์กรที่ยังมี Server อยู่ที่ออฟฟิศ (On-Premises) เราสามารถใช้ <strong>VPN Gateway</strong> หรือ <strong>ExpressRoute</strong> เชื่อมต่อ Network ของออฟฟิศเข้ากับ VNet บน Azure ได้เสมือนเป็นวงเดียวกันเลยครับ</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h4 class="wp-block-heading"><strong>สรุป</strong></h4>



<p>สำหรับผม <strong>VNet</strong> ไม่ใช่แค่เรื่องของการต่อสายแลนบน Cloud แต่มันคือ <strong>&#8220;รากฐานของ Security Boundary&#8221;</strong> ทั้งหมดครับ ถ้าเราออกแบบ VNet ได้ดีตั้งแต่แรก (จัด Subnet ดี, วาง NSG แม่น) การจัดการในระยะยาวจะง่ายขึ้นมหาศาล และที่สำคัญคือระบบของเราจะปลอดภัยและ Scalable ครับ</p>



<p>หวังว่าบทความนี้จะช่วยให้เห็นภาพ Azure VNet ชัดเจนขึ้นนะครับ ใครมีคำถามหรืออยากแชร์เคสการใช้งาน VNet แบบไหน คอมเมนต์คุยกันได้เลยครับ</p>
]]></content:encoded>
					
					<wfw:commentRss>https://kazth.com/log/cloud-infra/azure-vnet-%e0%b8%81%e0%b8%a3%e0%b8%b0%e0%b8%94%e0%b8%b9%e0%b8%81%e0%b8%aa%e0%b8%b1%e0%b8%99%e0%b8%ab%e0%b8%a5%e0%b8%b1%e0%b8%87%e0%b8%82%e0%b8%ad%e0%b8%87-cloud-service/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
