ITの勉強にAWS Cloud9を使ってみては?
IT の世界では意識の高い人達が蔓延っており、日々勉強されていることだと思います。
ただモチベーションがあったとしても、いざやってみると自分が勉強したいところと全然関係ないところで躓いてしまった経験はありませんか?私はたくさんあります。
同じような経験をしたことある人を集めてクラウドファンディングしたらさぞかし立派な家を建てられるんじゃないかと思っています。
この世界は、初学者に厳しく、この負担を少し減らしてくれる私の推しメン AWS Cloud9 を紹介したいと思います。
目次
AWS Cloud9 とはなにか
AWS Cloud9 とは、一言で言ってしまえば、 AWS 仕様の IDE (統合開発環境)になります。
IDE (統合開発環境)とは、アプリケーション開発などで必要なものやあったら便利なものを全て揃えている環境のことです。この IDE (統合開発環境)がクラウド上で実行できます。つまり、 AWS アカウントとブラウザさえあれば、 IDE (統合開発環境)を簡単に利用することができます。
AWS Cloud9 のおすすめポイント
私が特に Cloud9 の利用を勧めたい人は、自主的に開発環境を作って遊んだり、勉強したい人です。
なぜかというと、最初にも述べましたが、余計なことに悩むリスクを少なくできるからです。
例えば、なにかアプリケーションを作りたいとかプログラミングの勉強したいとなったときの私自身が一番面倒だと感じるのがこの開発環境づくりだからです。私自身は元々ネットワークを扱う人間であり、アプリケーション側のことに疎く、私と同じようにアプリケーション開発についてヒヨコレベルの人たちに立ちはだかるのがこの開発環境づくりです。
ネットで検索して、それっぽい記事を見つけて、指示通りに手順を行ったにもかかわらず、「残念だったな。おまえの環境で同じようにうまくいくとは限らないんだぜ!」とコンピュータ側にあざ笑われ、涙した人は数しれないと思っています。
経験がない人向けに例えると、ゼルダの伝説をやりたいのに、ニンテンドースイッチを作れと言われ、試行錯誤して、ニンテンドースイッチを作ろうと努力するも、ゼルダの伝説を遊ぶことすらできずに、ニンテンドースイッチの作り方がわからなくて悩むというカオスが発生しています。本来悩みたいところは、ゼルダの伝説で目的地わからんとか、ボスを倒せないとかのはずなんです・・・・・こうやって心の折れた戦士は私だけではないはずです。
なので、そういう何が原因で開発環境作れないかがわからないというリスクを減らすために、このCloud9を勧めたいです。ローカル環境に開発環境を作ることも可能ですが、いろいろやっているうちに何が入っているかわからなかったりします。時間が経つとなおさらそうなります。ローカル環境を初期化するわけにもいかなかったりします。ただ、クラウド上で作成してしまえば、簡単に初期化してしまうこともできます。また環境ごとに Cloud9 を分けるといった使い方もできると思います。
その他にも、 AWS 上に存在しているため、 AWS のサービスに直接アクセスすることもでき、ついでに AWS の勉強もしやすい環境となっています。ただ、あくまでもリスクを減らすということなので、全ての開発環境に cloud9 がマッチするとは限らないので、その点はご理解くださいませ。
AWS Cloud9 利用方法
それでは実際に Cloud9 を利用するまでの手順を説明します。
※ AWS アカウントを所持している前提でお話しします。
お持ちでない方は、 公式ドキュメント の手順を参考に作成をお願いします。
また作成と同時に 簡単なセキュリティ対策 を行うとよいです。
マネジメントコンソールにログインできる状態になったら、まずは VPC を作成します。マネジメントコンソールの検索窓から「 vpc 」と検索し、 VPC を選択します。
画面が遷移したら、 VPC を作成を選択します。
下記の図のように設定し、VPCと関連項目を作成します。
作成できたら、 VPC でフィルタリングで前述記載した vpc-id でフィルタリングしましょう。
サブネットを選択して、 1 つサブネットのチェックボックスを選択して、アクションからサブネットの設定を編集を選択します。(チェックしたサブネット ID を覚えておきます)
遷移した画面に、パブリック IPv4 の自動割り当てを有効化にチェックを入れて設定を保存します。
下準備ができたところで、続いて Cloud9 の作成になります。
マネジメントコンソールの検索窓にて、「 cloud9 」と検索して、 Cloud9 を選択します。
画面が遷移したら、環境を作成を選択します。
名前を適当に入力し、新しい EC2 インスタンスを選択します。
新しいインスタンスは、デフォルトのままで問題ないです。下記のようになっているはずです。
※ 利用したサービスなどによっては、 t2.micro だとスペック不足になる場合がございます。
その場合は、インスタンスタイプを変更して作成してみてください。
ネットワーク設定では、接続方法は、 SSM を選択して、 VPC 設定を選択します。
前述の手順で作成した VPC と設定変更を行ったサブネットを選択して、作成ボタンにて作成してください。
作成まで少し時間がかかりますが、作成完了後は、下記のような画面になります。
Cloud9 IDE 配下にあるリンクをクリックすると IDE 環境に画面が遷移して、 Cloud9 環境を利用することができます。
これで Cloud9 の環境構築は完了となります。
気になる利用料金については、 公式ドキュメント をご確認ください。
新規で AWS アカウントを作成してる方は、インスタンスタイプは限定的になってしまいますが、無料利用枠などはございます。
AWS Cloud9 ( Amazon Linux2 )にデフォルトでインストールされているもの
最後に執筆時点で Cloud9 ( Amazon Linux2)にインストールされているパッケージとサービスを一覧にします。
パッケージ
- GeoIP.x86_64
- PyYAML.x86_64
- acl.x86_64
- acpid.x86_64
- amazon-linux-extras.noarch
- amazon-linux-extras-yum-plugin.noarch
- amazon-ssm-agent.x86_64
- apr.x86_64
- apr-util.x86_64
- apr-util-bdb.x86_64
- at.x86_64
- attr.x86_64
- audit.x86_64
- audit-libs.x86_64
- authconfig.x86_64
- autoconf.noarch
- automake.noarch
- avahi-libs.x86_64
- aws-cfn-bootstrap.noarch
- awscli.noarch
- basesystem.noarch
- bash.x86_64
- bash-completion.noarch
- bc.x86_64
- bind-export-libs.x86_64
- bind-libs.x86_64
- bind-libs-lite.x86_64
- bind-license.noarch
- bind-utils.x86_64
- binutils.x86_64
- bison.x86_64
- blktrace.x86_64
- boost-date-time.x86_64
- boost-system.x86_64
- boost-thread.x86_64
- bridge-utils.x86_64
- byacc.x86_64
- bzip2.x86_64
- bzip2-libs.x86_64
- ca-certificates.noarch
- chkconfig.x86_64
- chrony.x86_64
- cloud-init.noarch
- cloud-utils-growpart.noarch
- containerd.x86_64
- coreutils.x86_64
- cpio.x86_64
- cpp.x86_64
- cracklib.x86_64
- cracklib-dicts.x86_64
- cronie.x86_64
- cronie-anacron.x86_64
- crontabs.noarch
- cryptsetup.x86_64
- cryptsetup-libs.x86_64
- cscope.x86_64
- ctags.x86_64
- curl.x86_64
- cyrus-sasl-lib.x86_64
- cyrus-sasl-plain.x86_64
- dbus.x86_64
- dbus-libs.x86_64
- dejavu-fonts-common.noarch
- dejavu-sans-fonts.noarch
- device-mapper.x86_64
- device-mapper-event.x86_64
- device-mapper-event-libs.x86_64
- device-mapper-libs.x86_64
- device-mapper-persistent-data.x86_64
- dhclient.x86_64
- dhcp-common.x86_64
- dhcp-libs.x86_64
- diffstat.x86_64
- diffutils.x86_64
- dmidecode.x86_64
- dmraid.x86_64
- dmraid-events.x86_64
- docker.x86_64
- dosfstools.x86_64
- doxygen.x86_64
- dracut.x86_64
- dracut-config-ec2.noarch
- dracut-config-generic.x86_64
- dwz.x86_64
- dyninst.x86_64
- e2fsprogs.x86_64
- e2fsprogs-libs.x86_64
- ec2-hibinit-agent.noarch
- ec2-instance-connect.noarch
- ec2-instance-connect-selinux.noarch
- ec2-net-utils.noarch
- ec2-utils.noarch
- ed.x86_64
- efivar-libs.x86_64
- elfutils.x86_64
- elfutils-default-yama-scope.noarch
- elfutils-libelf.x86_64
- elfutils-libelf-devel.x86_64
- elfutils-libs.x86_64
- emacs-filesystem.noarch
- epel-release.noarch
- ethtool.x86_64
- expat.x86_64
- file.x86_64
- file-libs.x86_64
- filesystem.x86_64
- findutils.x86_64
- fipscheck.x86_64
- fipscheck-lib.x86_64
- flex.x86_64
- fontconfig.x86_64
- fontpackages-filesystem.noarch
- freetype.x86_64
- fuse-libs.x86_64
- gawk.x86_64
- gcc.x86_64
- gcc-c++.x86_64
- gcc-gfortran.x86_64
- gdb.x86_64
- gdb-gdbserver.x86_64
- gdbm.x86_64
- gdisk.x86_64
- generic-logos.noarch
- generic-logos-httpd.noarch
- gettext.x86_64
- gettext-common-devel.noarch
- gettext-devel.x86_64
- gettext-libs.x86_64
- git.x86_64
- git-core.x86_64
- git-core-doc.noarch
- glib2.x86_64
- glibc.x86_64
- glibc-all-langpacks.x86_64
- glibc-common.x86_64
- glibc-devel.x86_64
- glibc-headers.x86_64
- glibc-locale-source.x86_64
- glibc-minimal-langpack.x86_64
- gmp.x86_64
- gnupg2.x86_64
- gnutls.x86_64
- go-srpm-macros.noarch
- golang.x86_64
- golang-bin.x86_64
- golang-src.noarch
- gpgme.x86_64
- gpm-libs.x86_64
- grep.x86_64
- groff-base.x86_64
- grub2.x86_64
- grub2-common.noarch
- grub2-efi-x64-ec2.x86_64
- grub2-pc.x86_64
- grub2-pc-modules.noarch
- grub2-tools.x86_64
- grub2-tools-efi.x86_64
- grub2-tools-extra.x86_64
- grub2-tools-minimal.x86_64
- grubby.x86_64
- gssproxy.x86_64
- gzip.x86_64
- hardlink.x86_64
- hibagent.noarch
- hostname.x86_64
- httpd.x86_64
- httpd-filesystem.noarch
- httpd-tools.x86_64
- hunspell.x86_64
- hunspell-en.noarch
- hunspell-en-GB.noarch
- hunspell-en-US.noarch
- hwdata.x86_64
- indent.x86_64
- info.x86_64
- initscripts.x86_64
- intltool.noarch
- iproute.x86_64
- iptables.x86_64
- iptables-libs.x86_64
- iputils.x86_64
- irqbalance.x86_64
- jansson.x86_64
- java-11-amazon-corretto-headless.x86_64
- 1:11.0.19+7-1.amzn2
- jbigkit-libs.x86_64
- json-c.x86_64
- kbd.x86_64
- kbd-legacy.noarch
- kbd-misc.noarch
- kernel.x86_64
- kernel.x86_64
- kernel-devel.x86_64
- kernel-headers.x86_64
- kernel-tools.x86_64
- keyutils.x86_64
- keyutils-libs.x86_64
- keyutils-libs-devel.x86_64
- kmod.x86_64
- kmod-libs.x86_64
- kpartx.x86_64
- kpatch-runtime.noarch
- krb5-devel.x86_64
- krb5-libs.x86_64
- langtable.noarch
- langtable-data.noarch
- langtable-python.noarch
- less.x86_64
- libacl.x86_64
- libaio.x86_64
- libassuan.x86_64
- libatomic.x86_64
- libattr.x86_64
- libbasicobjects.x86_64
- libblkid.x86_64
- libbrotli.x86_64
- libcap.x86_64
- libcap-ng.x86_64
- libcgroup.x86_64
- libcilkrts.x86_64
- libcollection.x86_64
- libcom_err.x86_64
- libcom_err-devel.x86_64
- libconfig.x86_64
- libcroco.x86_64
- libcrypt.x86_64
- libcurl.x86_64
- libdaemon.x86_64
- libdb.x86_64
- libdb-utils.x86_64
- libdrm.x86_64
- libdwarf.x86_64
- libedit.x86_64
- libestr.x86_64
- libevent.x86_64
- libfastjson.x86_64
- libfdisk.x86_64
- libffi.x86_64
- libffi-devel.x86_64
- libgcc.x86_64
- libgcrypt.x86_64
- libgfortran.x86_64
- libgomp.x86_64
- libgpg-error.x86_64
- libicu.x86_64
- libidn.x86_64
- libidn2.x86_64
- libini_config.x86_64
- libitm.x86_64
- libjpeg-turbo.x86_64
- libkadm5.x86_64
- libmetalink.x86_64
- libmnl.x86_64
- libmodman.x86_64
- libmount.x86_64
- libmpc.x86_64
- libmpx.x86_64
- libnetfilter_conntrack.x86_64
- libnfnetlink.x86_64
- libnfsidmap.x86_64
- libnghttp2.x86_64
- libnl3.x86_64
- libnl3-cli.x86_64
- libpath_utils.x86_64
- libpcap.x86_64
- libpciaccess.x86_64
- libpipeline.x86_64
- libpng.x86_64
- libproxy.x86_64
- libpwquality.x86_64
- libquadmath.x86_64
- libref_array.x86_64
- libsanitizer.x86_64
- libseccomp.x86_64
- libselinux.x86_64
- libselinux-devel.x86_64
- libselinux-utils.x86_64
- libsemanage.x86_64
- libsepol.x86_64
- libsepol-devel.x86_64
- libsmartcols.x86_64
- libss.x86_64
- libssh2.x86_64
- libsss_idmap.x86_64
- libsss_nss_idmap.x86_64
- libstdc++.x86_64
- libstoragemgmt.x86_64
- libstoragemgmt-python.noarch
- libstoragemgmt-python-clibs.x86_64
- libsysfs.x86_64
- libtasn1.x86_64
- libteam.x86_64
- libtiff.x86_64
- libtirpc.x86_64
- libtool.x86_64
- libunistring.x86_64
- libuser.x86_64
- libutempter.x86_64
- libuuid.x86_64
- libuv.x86_64
- libverto.x86_64
- libverto-devel.x86_64
- libverto-libevent.x86_64
- libwebp.x86_64
- libxml2.x86_64
- libxml2-python.x86_64
- libxslt.x86_64
- libyaml.x86_64
- libyaml-devel.x86_64
- lm_sensors-libs.x86_64
- installed
- log4j-cve-2021-44228-hotpatch.noarch
- logrotate.x86_64
- lsof.x86_64
- lua.x86_64
- lvm2.x86_64
- lvm2-libs.x86_64
- lz4.x86_64
- m4.x86_64
- mailcap.noarch
- make.x86_64
- man-db.x86_64
- man-pages.noarch
- man-pages-overrides.x86_64
- mariadb.x86_64
- mariadb-common.x86_64
- mariadb-config.x86_64
- mariadb-libs.x86_64
- mdadm.x86_64
- mercurial.x86_64
- microcode_ctl.x86_64
- mlocate.x86_64
- mod_http2.x86_64
- mokutil.x86_64
- mpfr.x86_64
- mtr.x86_64
- nano.x86_64
- ncurses.x86_64
- ncurses-base.noarch
- ncurses-c++-libs.x86_64
- ncurses-devel.x86_64
- ncurses-libs.x86_64
- neon.x86_64
- net-tools.x86_64
- nettle.x86_64
- newt.x86_64
- newt-python.x86_64
- nfs-utils.x86_64
- nodejs.x86_64
- nodejs-libs.x86_64
- nspr.x86_64
- nss.x86_64
- nss-pem.x86_64
- nss-softokn.x86_64
- nss-softokn-freebl.x86_64
- nss-sysinit.x86_64
- nss-tools.x86_64
- nss-util.x86_64
- ntsysv.x86_64
- numactl-libs.x86_64
- openldap.x86_64
- openssh.x86_64
- openssh-clients.x86_64
- openssh-server.x86_64
- openssl.x86_64
- openssl-devel.x86_64
- openssl-libs.x86_64
- openssl11.x86_64
- openssl11-libs.x86_64
- openssl11-pkcs11.x86_64
- os-prober.x86_64
- p11-kit.x86_64
- p11-kit-trust.x86_64
- pakchois.x86_64
- pam.x86_64
- parted.x86_64
- passwd.x86_64
- patch.x86_64
- patchutils.x86_64
- pciutils.x86_64
- pciutils-libs.x86_64
- pcre.x86_64
- pcre-devel.x86_64
- pcre2.x86_64
- perl.x86_64
- perl-Carp.noarch
- perl-Data-Dumper.x86_64
- perl-Encode.x86_64
- perl-Error.noarch
- perl-Exporter.noarch
- perl-File-Path.noarch
- perl-File-Temp.noarch
- perl-Filter.x86_64
- perl-Getopt-Long.noarch
- perl-Git.noarch
- perl-HTTP-Tiny.noarch
- perl-PathTools.x86_64
- perl-Pod-Escapes.noarch
- perl-Pod-Perldoc.noarch
- perl-Pod-Simple.noarch
- perl-Pod-Usage.noarch
- perl-Scalar-List-Utils.x86_64
- perl-Socket.x86_64
- perl-Storable.x86_64
- perl-TermReadKey.x86_64
- perl-Test-Harness.noarch
- perl-Text-ParseWords.noarch
- perl-Thread-Queue.noarch
- perl-Time-HiRes.x86_64
- perl-Time-Local.noarch
- perl-XML-Parser.x86_64
- perl-constant.noarch
- perl-libs.x86_64
- perl-macros.x86_64
- perl-parent.noarch
- perl-podlators.noarch
- perl-srpm-macros.noarch
- perl-threads.x86_64
- perl-threads-shared.x86_64
- php-cli.x86_64
- php-common.x86_64
- php-devel.x86_64
- php-fpm.x86_64
- php-json.x86_64
- php-mysqlnd.x86_64
- php-pdo.x86_64
- php-pear.noarch
- php-process.x86_64
- php-xml.x86_64
- pigz.x86_64
- pinentry.x86_64
- pkgconfig.x86_64
- plymouth.x86_64
- plymouth-core-libs.x86_64
- plymouth-scripts.x86_64
- pm-utils.x86_64
- policycoreutils.x86_64
- popt.x86_64
- postfix.x86_64
- procps-ng.x86_64
- psacct.x86_64
- psmisc.x86_64
- pth.x86_64
- pygpgme.x86_64
- pyliblzma.x86_64
- pystache.noarch
- python.x86_64
- python-babel.noarch
- python-backports.x86_64
- python-backports-ssl_match_hostname.noarch
- 3.5.0.1-1.amzn2
- python-cffi.x86_64
- python-chardet.noarch
- python-configobj.noarch
- python-daemon.noarch
- python-devel.x86_64
- python-docutils.noarch
- python-enum34.noarch
- python-idna.noarch
- python-iniparse.noarch
- python-ipaddress.noarch
- python-jinja2.noarch
- python-jsonpatch.noarch
- python-jsonpointer.noarch
- python-jwcrypto.noarch
- python-kitchen.noarch
- python-libs.x86_64
- python-markupsafe.x86_64
- python-pillow.x86_64
- python-ply.noarch
- python-pycparser.noarch
- python-pycurl.x86_64
- python-repoze-lru.noarch
- python-requests.noarch
- python-rpm-macros.noarch
- python-srpm-macros.noarch
- python-urlgrabber.noarch
- python-urllib3.noarch
- python2-botocore.noarch
- python2-colorama.noarch
- python2-cryptography.x86_64
- python2-dateutil.noarch
- python2-futures.noarch
- python2-jmespath.noarch
- python2-jsonschema.noarch
- python2-lockfile.noarch
- python2-oauthlib.noarch
- python2-pip.noarch
- python2-pyasn1.noarch
- python2-rpm.x86_64
- python2-rsa.noarch
- python2-s3transfer.noarch
- python2-setuptools.noarch
- python2-simplejson.x86_64
- python2-six.noarch
- python3.x86_64
- python3-daemon.noarch
- python3-devel.x86_64
- python3-docutils.noarch
- python3-libs.x86_64
- python3-lockfile.noarch
- python3-pip.noarch
- python3-pystache.noarch
- python3-rpm-macros.noarch
- python3-setuptools.noarch
- python3-simplejson.x86_64
- pyxattr.x86_64
- qrencode-libs.x86_64
- quota.x86_64
- quota-nls.noarch
- rcs.x86_64
- rdate.x86_64
- readline.x86_64
- readline-devel.x86_64
- rng-tools.x86_64
- rootfiles.noarch
- rpcbind.x86_64
- rpm.x86_64
- rpm-build.x86_64
- rpm-build-libs.x86_64
- rpm-libs.x86_64
- rpm-plugin-systemd-inhibit.x86_64
- rpm-sign.x86_64
- rsync.x86_64
- rsyslog.x86_64
- ruby.x86_64
- ruby-irb.noarch
- ruby-libs.x86_64
- rubygem-bigdecimal.x86_64
- rubygem-io-console.x86_64
- rubygem-json.x86_64
- rubygem-psych.x86_64
- rubygem-rdoc.noarch
- rubygems.noarch
- runc.x86_64
- scl-utils.x86_64
- screen.x86_64
- installed
- sed.x86_64
- selinux-policy.noarch
- selinux-policy-targeted.noarch
- setserial.x86_64
- setup.noarch
- setuptool.x86_64
- sgpio.x86_64
- shadow-utils.x86_64
- shared-mime-info.x86_64
- slang.x86_64
- sqlite.x86_64
- sqlite-devel.x86_64
- sssd-client.x86_64
- strace.x86_64
- subversion.x86_64
- subversion-libs.x86_64
- sudo.x86_64
- swig.x86_64
- sysctl-defaults.noarch
- sysstat.x86_64
- system-release.x86_64
- system-rpm-config.noarch
- systemd.x86_64
- systemd-libs.x86_64
- systemd-sysv.x86_64
- systemtap.x86_64
- systemtap-client.x86_64
- systemtap-devel.x86_64
- systemtap-runtime.x86_64
- sysvinit-tools.x86_64
- tar.x86_64
- tcp_wrappers.x86_64
- tcp_wrappers-libs.x86_64
- tcpdump.x86_64
- tcsh.x86_64
- teamd.x86_64
- terraform.x86_64
- time.x86_64
- traceroute.x86_64
- trousers.x86_64
- tzdata.noarch
- unzip.x86_64
- update-motd.noarch
- usermode.x86_64
- ustr.x86_64
- util-linux.x86_64
- vim-common.x86_64
- vim-data.noarch
- vim-enhanced.x86_64
- vim-filesystem.noarch
- vim-minimal.x86_64
- virt-what.x86_64
- wget.x86_64
- which.x86_64
- words.noarch
- xfsdump.x86_64
- xfsprogs.x86_64
- xz.x86_64
- xz-libs.x86_64
- yajl.x86_64
- yum.noarch
- yum-cron.noarch
- yum-langpacks.noarch
- yum-metadata-parser.x86_64
- yum-plugin-priorities.noarch
- yum-utils.noarch
- zip.x86_64
- zlib.x86_64
- zlib-devel.x86_64
サービス
- acpid.service
- amazon-ssm-agent.service
- atd.service
- auditd.service
- chronyd.service
- cloud-config.service
- cloud-final.service
- cloud-init-local.service
- cloud-init.service
- containerd.service
- crond.service
- dbus.service
- docker.service
- getty@tty1.service
- gssproxy.service
- kmod-static-nodes.service
- libstoragemgmt.service
- log4j-cve-2021-44228-hotpatch.service
- lvm2-lvmetad.service
- lvm2-monitor.service
- network.service
- postfix.service
- rhel-dmesg.service
- rhel-domainname.service
- rhel-readonly.service
- rngd-wake-threshold.service
- rngd.service
- rpcbind.service
- rsyslog.service
- serial-getty@ttyS0.service
- sshd-keygen.service
- sshd.service
- sysstat.service
- systemd-fsck-root.service
- systemd-journal-flush.service
- systemd-journald.service
- systemd-logind.service
- systemd-modules-load.service
- systemd-random-seed.service
- systemd-remount-fs.service
- systemd-sysctl.service
- systemd-tmpfiles-setup-dev.service
- systemd-tmpfiles-setup.service
- systemd-udev-settle.service
- systemd-udev-trigger.service
- systemd-udevd.service
- systemd-update-utmp.service
- systemd-user-sessions.service
- systemd-vconsole-setup.service
- update-motd.service
- yum-cron.service
最後に
いかがだったでしょうか?
Cloud9 ですが、デフォルトでこれだけのパッケージとサービスがインストール、起動されています。とりあえず、 IDE (統合開発環境)をどこに構築するか悩んだ方は一度 Cloud9 を検討してみてはいかがでしょうか。
環境がゴチャゴチャになってしまったとしても、再構築してキレイにもできます。皆様の IT のお勉強のお役に立てていただければと思います。
以上となります。
元記事発行日: 2023年07月10日、最終更新日: 2024年02月28日