Go言語の勉強をするなら、
いっそのこと、インスタンス上で勉強をしたいと思いhello goを出すまでできたので、
備忘録として記録しております。
環境
・MacOS
・Visual Studio Code
・Amazon linux2
・Go
1.インスタンスの作成
2.EC2にSSH接続する
3.golangインストール
4.vscodeでリモート接続する
5.参考
##1. EC2インスタンスの作成
AWSの画面は日々変わっていきますが、操作自体はそんなに変わらないと思います。
まず、オレンジボタンの**「インスタンスを起動」**をクリックします
次にAMI(インスタンスを起動するのに必要なOSなどのテンプレート)を選択します。
今回はAmazon Linux2を選択します。
※左のサイドバーから、自分で作ったAMIや最初からWordpressが一緒に貼っているAMIなどを選ぶこともできます。
ステップ2: インスタンスタイプの選択は、無料枠のt2.microを選択します。
※規模などにより、タイプが変わるかと思いますが、
勉強用やポートフォリオ用なら、無料枠で十分だと思います。
ステップ3: インスタンス詳細の設定
デフォルトでも問題はないかと思います。
今回は、サブネットをパブリックに、
自動割り当てパブリックIPをインターネットから接続ができるようにしたかったので、有効にします。
ステップ4: ストレージの追加
EBS ボリュームやインスタンスストアボリュームをアタッチをアタッチできるそうですが、
これは置いといて、サイズを部分を指定できます。今回はデフォルトの8GBにします。
※終了時に削除は、チェックが入っていればインスタンスを削除した際、このボリュームも一緒に削除されるのですが、
チェックが入っていないと存在したままになってしまい、無駄に課金が続いてしまうようです。
ステップ5: タグの追加
キーにName、値に任意の名前を入れると、
インスタンス一覧画面のNameに反映され管理しやすくなります。
Nameの変更は後からでもすることができます。
ステップ6: セキュリティグループの設定
Amazon EC2 セキュリティグループ
こちらの記事で詳しい説明がされております。
デフォルトでSSH接続はできるようになっているで、
今回はHTTPとHTTPSを追加しました。
ステップ7: インスタンス作成の確認
設定の確認画面です、問題なければ起動をクリックします。
起動をクリック後、キーペアの画面が表示されます。
とても大事なものになり、この画面からしかダウンロードができません。
その後、間違えて削除したら、キーペアの再発行はできるのですが、
手順が複雑なため大切に保管しましょう!
※.cerで保存されていた場合は、拡張子を.pemに変更します。
キーペアのダウンロードが終わりましたら、
インスタンスが起動してきます。
インスタンス一覧画面で、インスタンスの状態が**「実行中」**になったらインスタンスの作成は終了です。
##2. EC2にSSH接続する
ダウンロードしたキーペアがあるディレクトリに移動します。
// キーペアがちゃんと保存されているか確認する
$ ls -l キーペア名.pem
// ssh接続する
$ ssh -i キーペア名.pem ec2-user@パブリックID
Are you sure you want to continue connecting?(接続を続行してもよろしいですか?)
と効かれるのでyesを入力し、
EC2のロゴが表示されれば、接続完了です。
##3. golangインストール
EC2の中にgolangをインストールしていきます。
amazon-linux-extrasでもインストールできるのですが、
バージョンが古くなってしまうようで、wgetでインストールしていきます。
$ wget https://golang.org/dl/go1.16.2.linux-amd64.tar.gz
$ sudo tar -C /usr/local -xzf go1.16.2.linux-amd64.tar.gz
次にパスを通します。
$ sudo vi /etc/profile
# 下をコピペで貼り付けてください
PATH=$PATH:/usr/local/go/bin
$ source /etc/profile
$ go version
go version go1.16.2 linux/amd64
バージョンが表示されたら成功です。
##4. vscodeでリモート接続する
VsCodeの拡張機能から、**「Remote SSH」**をインストールします。
インストール後、左のメニューにパソコンマークの
リモート接続アイコンが表示されるので、それをクリックして開きます。
SSH TARGETSの+アイコンを押して、
出てきたダイアログに、先ほどEC2にSSH接続した時のコマンドを入力します。
ssh -i キーペア名.pem ec2-user@パブリックID
※ec2-userのところは選択したAMIによって変わります。
次にダイアログからどのconfigファイルを利用するか選択します。
どちらでも大丈夫です。
その後、右下にファイルを開くかどうかポップアップが出るので、
Open Configで開きます。
configファイルが開きますので、
UserはAMI、IndentityFileはキーペア.pemのディレクトリを書きます。
あとは、左のメニューのSSH TARGETSの下に今作成した
configファイルのHost名が表示されているので、
右クリックから、Connect to Host in Current Windowをクリックします。
上記のような画面が表示されるので、
goファイルを作成し、hello worldを書いて、
ターミナルにhello worldが表示されました。
よかったです(o'∀')ノ
##5. 参考
VSCodeを使ってAWS EC2のソースコードを編集する
[VSCodeを使ってAWS EC2のソースコードを編集する[(https://qiita.com/takao-takass/items/9f81d5095924280966ae)