오랜만에 블로그에 글을 작성해봅니다.
그동안 직장일이든, 개인적인일이든 바쁜 일이 많았습니다. ( 결혼도 하고, 신혼 여행도 다녀왔습니다 ^^ )
그래서 한동안 개인적인 공부를 미뤄왔던거 같아 다시 마음을 잡고, 글을 써보려 합니다.
물론 제 스스로가 필요에 따라 기록을 남겨, 이후에도 재활용할 수 있도록 작성하는 것이지만,
이 글을 보고 도움이 되시는 분들도 계시다는 것을 잊지 않고, 기록을 남겨 보려합니다.
부족한 부분, 잘못된 부분이 있다면, 지적 해주시고, 함께 성장할 수 있도록
힘이 되어주시면 좋겠습니다. 방문해주셔서 감사합니다.
클라우드 플랫폼 사용법
GCP 편(Google Cloud Platform) - 01
클라우드 플랫폼 구축하기 전에, 클라우드란 ?
클라우드는 사실 클라이언트 입장에서의 모습을 표현한 단어라고 보시면 될거같습니다.
여러 IT 회사에서 만든 구름들이 네트워크 망에 떠다니고 있습니다.
그런 구름들에게 회사들은 네이버 클라우드. 구글 클라우드, xx 메일 등의 구름(클라우드) 이름을 써둡니다.
클라이언트 (사용자)들은 구름의 내부 구조가 어떻게 생겼는지를 알 수 없습니다.
사용자에게 내부 구조는 중요하지 않습니다. 이 구름을 어떻게 이용해야 하는지만 알고 있으면 됩니다.
그리고, 클라이언트는 인터넷이 연결된 어디에서든 이 구름을 이용하여 원하는 작업을 할 수 있습니다.
한마디로, 사용자는 인터넷이 연결된 환경에서 언제 어디서든지 원하는 작업을 할 수 있다.
라는 것 입니다.
IT 관련 종사자와 개발자들은 그러면 클라우드에 대해서 어떻게 알고 있어야 할까요 ?
사실, 위처럼만 알고 있어도 충분합니다.
아무문제 없구요. 충분합니다. 클라우드가 뭐냐했을때, 위에 한마디만 알고 있어도 클라우드에 대해 알고 있는겁니다.
하지만, 내가 클라우드를 만들어야 한다 ? 클라우드를 이용한 서비스를 제공하여야 한다? 면 얘기가 달라지겠죠.
위에서 말한 내용은 밖에서 바라본 클라우드(구름) 입니다.
우리는 이제 그 구름 안을 만들어야 하거나, 혹은 그 구름을 만들어서 띄워야 하는 상황에 온겁니다.
그리고 그 구름안으로 들어가봅니다. 구름안에는 ' 클라우드 컴퓨팅 ' 이라 불리는 기술이 적용되어 있음을 알 수 있게 됩니다.
밖에서 바라보았던 구름은 하나의 커다란 네트워크 망에 연결된 자원들의 집합체 였습니다.
다양한 자원들이 연결되어 있습니다. 데이터를 저장하는 스토리지, 네트워크를 관리하는 네트워크 컴퓨팅 자원, 자원들을 컨트롤하는 컴퓨팅 자원,
그리고 이런 자원들을 모니터링하는 자원. 내부는 그렇게 클라우드 컴퓨팅 기술을 통해 구성되어 있습니다.
이번 기록에서 필요한 부분은 딱 여기까지입니다.
우리가 이제부터 이야기할 것은 클라우드 컴퓨팅을 제공하는 플랫폼 (GCP) 을 이용하는 방법이기 때문이지요.
추후에 제가 클라우드 컴퓨팅을 개발하게 되었을때, 그때 다시한번 포스팅을 해보도록 하겠습니다.
여기까지만 알고, 딱 그정도로만. 그렇게 알고만 갑시다. ( 미스터 션샤인 - 구중배 ver )
GCP ? 클라우드 플랫폼 너는 무엇이니?
Google Cloud Platform 구글 클라우드 플랫폼 . 문자 그대로, 구글에서 제공하는 클라우드 플랫폼 을 의미합니다.
그렇다면, 클라우드 플랫폼을 사용하는 이유는 무엇일까요 ?
기존의 시스템 제공방식은, 시스템이 설치되어 있는 물리적 서버를 클라이언트 업체에 판매한다거나, 클라이언트 업체에서 보유하고 있는 서버에 시스템을 설치하여 서비스를 제공하는 방식이였습니다. ( 혹은 본사 서버에서 서비스를 제공한다던지 등의 )
이러한 방식의 공통적인 문제점은, '물리적' 이라는 것입니다. 서버가 이전보다 더 많은 효율을 내기위해서는 결국 '물리적'으로 서버의 능력을 올려야 한다는 점이죠. 그 뿐만이 아니라, 해당 물리적인 서버는 영원하지 않습니다. 관리해주고 보수해 줄 관리하는 관리자가 필요합니다.
이런 문제점들을 보완해주고, 해결하기 위한 방법이 바로 '클라우드 플랫폼'을 활용하는 것입니다.
서버의 활용도에 따라, 서버 자원을 가상으로 늘려주고 줄여주어, 자원 낭비와 재구축 비용을 줄여줍니다. 또한, 물리적 서버가 존재하지 않기때문에, 하드웨어적인 부분의 비용이 필요없어지게 되는거죠. ( 이외에도 많은 장점과 단점이 존재하지만, 이 이상 쓰게되면, 사실 끝이 없기때문에... )
그리고 우리는, 이러한 이점을 이용해, 가상의 클라우드 서버를 제공받아 그에 따른 비용만 지불하여 사용하기만 하면 되기 때문에, 클라우드 플랫폼을 사용하는 것이지요.
제가 GCP를 이용한 클라우드 플랫폼을 활용한 이유 중 가장 큰 이유는, ' 300$ 크레딧을 1년동안 무료 제공한다는 점 '에서 이용하였습니다. 말 그대로 테스트 용이죠. 개인적인 공부, 테스트용으로는 굉장히 쓸만하고 좋더군요. 그리고 300$로 생각보다 오래 사용할 수 있습니다.
이외에도 아마존, 네이버 등 다양한 클라우드 플랫폼 제공 업체가 있으니 입맛따라서 사용하시면 될 것 같습니다.
* 실제로 서비스를 제공하기 위해서 개발하실때에는 고려해야할 부분은, 물리적인 네트워크 거리부분을 생각하셔야할 겁니다. 기록하는 기준으로, 구글 클라우드 경우 가장 가까운 구글 클라우드 서버가 일본 도쿄에 위치해있는 반면, 네이버, 아마존 등은 서울에 있기때문에, 물리적 통신 속도는 아마도 구글이 밀릴겁니다.
지금부터 우리가 사용할 플랫폼 서비스는,
컴퓨트엔진(ComputeEngine)
컴퓨트 엔진의 경우, 쉽게 생각해서, 가상서버라고 보시면 될 거 같습니다. 사용자가 원하는 OS를 설치하여, 해당 가상 서버를 어떤식으로 구성하던지, 이용하던지는 사용자 마음입니다. 이러한 컴퓨트엔진 한개를 VM인스턴스라고 합니다. 가상서버 1대라고 보시면 됩니다.
우리는 이 인스턴스들을 이용하여, 인스턴스 그룹도 만들어보고, 인스턴스간의 네트워크 구성도해보고, 네트워크 설정도 해보도록 하겠습니다.
Before building the cloud platform, what is cloud?
The cloud is actually a word for the client.
Clouds made by various IT companies are floating in the network.
For such clouds, companies are Naver Cloud. Google Cloud, xx mail, etc. Cloud (cloud) name is written.
Clients (users) do not know what the internal structure of the cloud looks like.
The internal structure is not important to the user. You only need to know how to use this cloud.
And clients can use this cloud to do whatever they want, wherever the Internet is connected.
Before building the cloud platform, what is cloud?
The cloud is actually a word for the client.
Clouds made by various IT companies are floating in the network.
For such clouds, companies are Naver Cloud. Google Cloud, xx mail, etc. Cloud (cloud) name is written.
Clients (users) do not know what the internal structure of the cloud looks like.
The internal structure is not important to the user. You only need to know how to use this cloud.
And clients can use this cloud to do whatever they want, wherever the Internet is connected.
In short, users can work anytime and anywhere in the connected environment.
It is called.
How should IT professionals and developers know about the cloud?
Actually, it is enough to know just like the above.
There is no problem. That's enough. When you know what a cloud is, you know a word above, but you know about the cloud.
But, should I create a cloud? Should we provide cloud-based services? It will be different.
The above is the cloud from the outside.
We are now in a situation where we have to make that cloud or make it up.
And I go into that cloud. Inside the cloud, you'll notice that a technology called "cloud computing" is applied.
The cloud we looked at from the outside was a collection of resources connected to one large network
Various resources are connected. Storage for storing data, network computing resources for managing the network, computing resources for controlling the resources,
And resources that monitor these resources. The inside is so configured through cloud computing technology.
The necessary part of this record is just here.
What we are talking about now is how to use the platform that provides cloud computing (GCP).
Later, when I develop cloud computing, I will try to post again.
I only know so far, just that. Let 's do it. (Korea joke)
GCP? What is your cloud platform?
Google Cloud Platform Google Cloud Platform. Literally means the cloud platform provided by Google.
So, why are you using the cloud platform?
In the existing system providing method, the physical server in which the system is installed is sold to the client company, or the system is installed on the server held by the client company and the service is provided. (Or providing services from the main office server)
A common problem with this approach is that it is 'physical'. In order for a server to be more efficient than before, it must eventually "physically" increase the server's capabilities. Not only that, but the physical server is not forever. You need a manager to manage and repair.
The solution to these problems is to utilize the "cloud platform".
Reduces resource waste and rebuild costs by virtually increasing and reducing server resources, depending on server utilization. Also, because there is no physical server, you do not have to spend the hardware cost. (There are many other advantages and disadvantages, but if you spend more than this, there is no end in fact ...)
And we use the cloud platform because we can take advantage of these advantages and only have to pay for the virtual cloud server and pay for it.
One of the reasons I took advantage of the cloud platform with GCP is that I am offering a $ 300 credit for one year free. Literally for testing purposes. It is very useful for personal study and testing purposes. And at $ 300 you can use longer than you think.
In addition, there are various cloud platform providers such as Amazon and Naver.
From now on, we will use platform services, ComputeEngine
For a compute engine, I think it's easy to think of it as a virtual server. It is the user's mind whether to install the desired OS, how to configure the virtual server, or to use it. One such compute engine is called a VM instance. It is a virtual server.
We will use these instances to create instance groups, configure the network between instances, and configure the network.