【争取双刀流能力】在Google Cloud上尝试进行AWS实践
首先
你好。
在获得12项AWS认证后,我也获取了8个Google Cloud证书,但是我一直都在重视学习证书的内容,却没有实践动手…
※有关获得Google Cloud证书的话题,请参考这里。
我觉得这样也太过于偏重,所以决定慢慢开始实践一些实际操作。
GoogleCloud的Hands-on材料是通过Skills Boost等途径提供的,但是内容并不有趣。为了成为一名双栖工程师,我想在学习过程中了解AWS和GoogleCloud之间的差异,所以决定尝试在GoogleCloud上进行AWS Hands-on。
在这次挑战中,我打算整理一下实操步骤和所注意到的点。
Hands-on教材怎么样?
我选择了一份名为《初学者实践》的AWS学习教材中关于使用EC2和RDS构建网站的实践内容。通过这个教材,我可以在学习的过程中将IaaS的基础与AWS进行比较。
我试着画了一张构成图。
我尝试将Hands-on的AWS架构图转换并写成了Google Cloud的架构图。整体上相似,但主要区别在于网络方面。

相違点① ネットワーク構造
下記のようにネットワーク構造に大きな違いがあります。
リージョンがVPCの配下なので、後々マルチリージョン構成拡張も簡単に設定できそうです。
AWS:リージョン>VPC>AZ>サブネット
GoogleCloud:VPC>リージョン>ゾーン>サブネット
相違点② サブネット
AWSがパブリック/プライベートの区別があるのに対して、GoogleCloudではサブネットに区別がありません。さらにゾーンを跨いで定義することができます。調べてみるとGoogleCloudはサブネットでの制御ではなく、インスタンスに外部IP有無、ネットワークファイアーウォールで制御をするとのことです。
他にも相違点はあるでしょうが初学者のためこれぐらいでご勘弁ください
开始亲自动手操作

准备事先好(5分)

如果您还没有创建帐户,请参考GoogleCloud的实操指南来创建一个帐户。您可以在不到10分钟的时间内完成帐户创建。我们还将提供300美元价值的信用(有效期3个月)作为初次特别奖励。
网络建设(0分钟)
我們將立即開始實作。首先是從網絡開始,將設置AWS的VPC、子網、ACL。雖然有了VPC向導後變得更輕鬆,但這仍然是一項繁瑣的工作呢。

据说在Google Cloud上,初始状态下会提供默认的网络配置。预先定义的区域、可用区和子网将在虚拟专用云(VPC)下提供。
在实际业务中,可能会有个别要求,如地址范围、安全性等,因此不应该使用默认配置,因为可能会导致意外行为。但是,在一些操作指南或概念验证等场景下,使用默认配置非常方便。
由于我们希望快速体验Google Cloud,所以我们决定使用默认配置。
因此,网络配置无需进行任何工作。
建立虚拟机实例(5分钟)
我们将创建一个用于安装WordPress的VM实例。
从导航菜单中选择“Compute Engine”>“VM实例”,然后点击“创建实例”。
本次使用单实例构建,准备在东京地区的asia-northeast1-a部署虚拟机实例。
由于这是一个实践操作,我们会选择最小配置的e2-micro,操作系统选择CentOS 7。
因为是Web服务器,所以我们将在防火墙中允许HTTP和HTTPS流量。

建立CloudSQL实例(10分钟)

接下来,我们将设置连接信息。
数据库应该选择私有IP,不要外部连接(取消公共IP的选择!),在网络中选择“默认”。在要求设置私有服务访问时,点击“设置连接”按钮,设置界面将在右侧显示。使用自动分配的IP范围创建连接。

点击“创建实例”后,CloudSQL将构建完成。
WordPress安装需要40分钟。
到目前为止,Google Cloud建设工作坊的内容已经完成。
接下来的工作将涉及在VM实例和CloudSQL上安装WordPress,但是步骤繁多且耗时,非常费力。由于它不是核心内容的工作,我会在最后总结并写下详细步骤。
请确认连接。

概括。
使用默认网络导致Google Cloud的操作仅需约20分钟就完成了。相比AWS,操作时间要短得多。AWS即使在试用或POC中,也需要创建VPC和子网,而Google Cloud在易于使用方面非常具有优势。此外,控制台的设计整洁简明,使得操作更加顺利。我认为这是一个能够体会到与AWS不同之处的良好尝试。
为了初学者,我在不断尝试中进行着工作。我将详细记录那些困惑的地方,并将其整理成文章,以供将来学习的人参考。
下一步我们将在该地区内尝试冗余备份。
请点击此处阅读第二篇文章。
额外附赠:WordPress安装步骤。

> sudo yum update -y
- 外部リポジトリ追加
> sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
我用 Vim 编辑 remi-php74.repo 文件。
> sudo vim /etc/yum.repos.d/remi-php74.repo

- php7.4インストール
> sudo yum install -y php php-gd php-mysql
- Apacheインストール
> sudo yum install -y httpd
> sudo systemctl start httpd
> sudo systemctl enable httpd
- MySQLインストール
> sudo yum install mysql -y
- DB設定
> mysql -u root -p -h <Cloud SQLの内部IPアドレス>
パスワード入力(CloudSQL作成時のrootユーザパスワード)
DB作成
CREATE DATABASE wordpress;
ユーザ作成
CREATE USER 'wp-user' IDENTIFIED BY '<任意のパスワード>';
権限設定
GRANT ALL ON wordpress.* TO 'wp-user';
- WordPressインストール
wordpressをダウンロード
> curl -OL https://ja.wordpress.org/latest-ja.tar.gz
圧縮ファイル展開
> tar xzf latest-ja.tar.gz
ドキュメントルート配下へコピー
> sudo cp -r wordpress/* /var/www/html
- SELinuxの設定
ネットワーク経由のDB接続を許可
sudo setsebool -P httpd_can_network_connect_db 1
-
- WordPress初期設定
-
- PCブラウザからWordPressへアクセス
-
- ブラウザに「http://」+<VMインスタンスの外部IPアドレス>を入力してアクセス
- 以下の画面が表示されたら「さあ、始めましょう!」をクリック

当输入初始参数并点击“发送”按钮时,将显示将写入指令发送到wp-config.php。然后返回CloudShell并追加指定的配置规则到wp-config.php中。
sudo vim /var/www/html/wp-config.php
在按下「i」键进入插入模式后,将指定的配置规则复制粘贴。若要返回正常模式,请按下「Esc」键。若要保存,请输入「:w」,若要退出,请输入「:q」。



当你能够访问「http://」加上虚拟机实例的外部IP地址,并成功显示WordPress初始界面时,表示你取得了成功。
请看一下
-
- AWS Hands-on for Beginners 〜 スケーラブルウェブサイト構築編 〜
- 【GCP】GCE+Cloud SQLでWordPressを立ち上げてみた