实验设置说明和要求
保护您的账号和进度。请务必在无痕浏览器窗口中,使用实验凭证运行此实验。

添加 Apigee X 环境和环境组

实验 35 分钟 universal_currency_alt 1 个点数 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
此内容尚未针对移动设备进行优化。
为获得最佳体验,请在桌面设备上访问通过电子邮件发送的链接。

GSP906

Google Cloud 自学实验的徽标

概览

在本实验中,您将学习如何向 Apigee X 组织添加新的环境和环境组

“环境”是 API 代理的运行时执行上下文API 代理必须先部署到环境中,然后它所公开的 API 才能通过网络进行访问。

“环境组”是对环境进行的逻辑分组主机名是在环境组层级上定义的,Apigee 会根据主机名将请求路由到该组中的具体环境。然后,该请求将由部署到环境组中的一个环境且具有匹配基本路径的 API 代理来处理。

本实验中的说明同样适用于向付费组织添加环境和环境组。

目标

在本实验中,您将学习如何执行以下任务:

  • 向 Apigee X 组织添加第二个环境
  • 向 Apigee X 组织添加第二个环境组,并为其分配环境和主机名
  • 将环境部署到运行时实例
  • 在每个环境中部署并调用 API 代理

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式(推荐)或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:请仅使用学生账号完成本实验。如果您使用其他 Google Cloud 账号,则可能会向该账号收取费用。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。左侧是“实验详细信息”窗格,其中包含以下各项:

    • “打开 Google Cloud 控制台”按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。

    该实验会启动资源并打开另一个标签页,显示“登录”页面。

    提示:将这些标签页安排在不同的窗口中,并排显示。

    注意:如果您看见选择账号对话框,请点击使用其他账号
  3. 如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。

    {{{user_0.username | "<用户名>"}}}

    您也可以在“实验详细信息”窗格中找到“用户名”。

  4. 点击下一步

  5. 复制下面的密码,然后将其粘贴到欢迎对话框中。

    {{{user_0.password | "<密码>"}}}

    您也可以在“实验详细信息”窗格中找到“密码”。

  6. 点击下一步

    重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。 注意:在本实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
  7. 继续在后续页面中点击以完成相应操作:

    • 接受条款及条件。
    • 由于这是临时账号,请勿添加账号恢复选项或双重验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Google Cloud 控制台。

注意:如需访问 Google Cloud 产品和服务,请点击导航菜单,或在搜索字段中输入服务或产品的名称。 “导航菜单”图标和“搜索”字段

激活 Cloud Shell

Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。

  1. 点击 Google Cloud 控制台顶部的激活 Cloud Shell “激活 Cloud Shell”图标

  2. 在弹出的窗口中执行以下操作:

    • 继续完成 Cloud Shell 信息窗口中的设置。
    • 授权 Cloud Shell 使用您的凭据进行 Google Cloud API 调用。

如果您连接成功,即表示您已通过身份验证,且项目 ID 会被设为您的 Project_ID 。输出内容中有一行说明了此会话的 Project_ID

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud 是 Google Cloud 的命令行工具。它已预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。

  1. (可选)您可以通过此命令列出活跃账号名称:
gcloud auth list
  1. 点击授权

输出:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (可选)您可以通过此命令列出项目 ID:
gcloud config list project

输出:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 注意:如需查看在 Google Cloud 中使用 gcloud 的完整文档,请参阅 gcloud CLI 概览指南

打开 Apigee 控制台

如需打开 Apigee 控制台,请执行以下操作:

  • 在 Google Cloud 控制台中,在搜索字段中输入 Apigee,然后点击搜索结果中的 Apigee API Management

Apigee 控制台会随即打开,着陆页会显示指向常用位置的快捷链接

  • 导航菜单 (导航菜单) 中,点击 Apigee 旁边的收藏 (收藏图标)。

Apigee 现在已作为收藏项添加到导航菜单中。

任务 1. 检查“eval”环境和环境组

在此任务中,您将使用 Apigee 控制台探索环境和环境组。

Apigee X 的评估组织最初只包含一个名为 eval 的环境,以及一个名为 eval-group 的环境组。“eval”环境是“eval-group”环境组的成员。

  1. 在 Cloud 控制台中前往 Apigee 界面
  2. 前往管理 > 环境
  3. 环境标签页中,点击 eval 环境。

“eval”环境已配置为“eval-group”环境组的成员。

“eval”环境标记为“Ready for deployment”(可以部署),表示可以将 API 代理部署到该环境中。

  1. 前往管理 > 环境 > 环境组
  2. eval-group 环境上,点击三点状图标,然后点击修改

“eval-group”环境组目前只列出了一个主机名 (eval.example.com),但可以使用多个主机名。

“eval-group”环境组目前只包含“eval”环境这唯一的成员,但一个环境组中可以包含多个环境。

  1. 点击取消

任务 2. 创建“prod”环境

在此任务中,您将创建一个新环境

  1. 前往管理 > 环境
  2. 环境标签页中,点击 + 创建环境
  3. 显示名称名称指定为 prod。其他字段应保持不变。
  4. 点击创建

您应该会收到一条消息,提示环境已完成定义。新的“prod”环境被标记为正在等待配置

稍后,您应该会看到一条消息,提示环境已经可以使用,并且该环境将不再被标记为“正在等待配置”。

点击“检查我的进度”以验证是否完成了以下目标: 创建“prod”环境

任务 3. 创建“prod-group”环境组

在此任务中,您将创建一个新环境组

  1. 在左侧导航窗格中,依次选择管理 > 环境
  2. 在“环境”窗格中,选择环境组,然后点击 + 创建环境组
  3. 将该环境组命名为 prod-group
  4. 对于主机名,请使用以下名称:
prod.example.com
  1. 对于环境(可选),请选择 prod,然后点击确定
  2. 点击创建

点击“检查我的进度”以验证是否完成了以下目标: 创建“prod-group”环境组

任务 4. 等待实例预配完成

在此任务中,您将等待 Apigee 评估组织预配完成。

Apigee 组织需要相当长的时间才能完成预配。可以使用 Apigee API 来监控组织的预配进度。

启动监控脚本

  1. 在右上角的工具栏中,点击激活 Cloud Shell (“激活 Cloud Shell”图标)。
  2. 在系统提示时点击继续

预配并连接到 Cloud Shell 需要一些时间。在连接成功后,您便通过了身份验证,并且项目已设置为您的“PROJECT_ID”

  1. 在 Cloud Shell 中,验证存储有您的 Apigee 组织名称的变量:
echo ${GOOGLE_CLOUD_PROJECT}

GOOGLE_CLOUD_PROJECT 变量应包含您的项目名称,该名称与您的 Apigee 组织名称相同。

  1. 如果未设置 GOOGLE_CLOUD_PROJECT 变量,请使用类似以下命令手动设置该变量:
export GOOGLE_CLOUD_PROJECT={{{project_0.project_id |Project ID}}}
  1. 在 Cloud Shell 中运行以下命令:
export INSTANCE_NAME=eval-instance; export ENV_NAME=eval; if [ -z "${GOOGLE_CLOUD_PROJECT}" ]; then echo "Error: GOOGLE_CLOUD_PROJECT environment variable is not set. Please set it to your project ID."; else export PREV_INSTANCE_STATE=; echo "waiting for runtime instance ${INSTANCE_NAME} to be active"; while : ; do export INSTANCE_STATE=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${GOOGLE_CLOUD_PROJECT}/instances/${INSTANCE_NAME}" | jq "select(.state != null) | .state" --raw-output); [[ "${INSTANCE_STATE}" == "${PREV_INSTANCE_STATE}" ]] || (echo; echo "INSTANCE_STATE=${INSTANCE_STATE}"); export PREV_INSTANCE_STATE=${INSTANCE_STATE}; [[ "${INSTANCE_STATE}" != "ACTIVE" ]] || break; echo -n "."; sleep 5; done; echo; echo "instance created, waiting for environment ${ENV_NAME} to be attached to instance"; while : ; do export ATTACHMENT_DONE=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${GOOGLE_CLOUD_PROJECT}/instances/${INSTANCE_NAME}/attachments" | jq "select(.attachments != null) | .attachments[] | select(.environment == \"${ENV_NAME}\" or (.environment | endswith(\"/${ENV_NAME}\"))) | .environment" --raw-output); [[ -n "${ATTACHMENT_DONE}" ]] && break; echo -n "."; sleep 5; done; echo; echo "${ENV_NAME} environment attached"; echo "***ORG IS READY TO USE***"; fi

这一系列命令会使用 Apigee API 来确定运行时实例何时完成创建,然后等待“eval”环境被附加到该实例。

  1. 在系统提示时点击授权

当屏幕上输出文本 ***ORG IS READY TO USE*** 后,部署到“eval”环境的代理便可以开始接收流量。

注意:在等待实例和环境完全创建完毕期间,请了解不同的 Apigee X 用户和角色。请注意实验剩余时间,并定期检查 Cloud Shell 输出,了解何时可以测试组织。

用户和角色

使用用户和角色可以授予对 Apigee 的访问权限。“用户”代表经过身份验证的账号,这些账号可访问 Apigee 组织以及组织内的实体,如环境和 API 代理。您可为用户授予的能力取决于为他们分配的*角色*类型。

如需向 Apigee 组织添加新用户,您需要先在 Cloud 项目中向该用户账号授予访问权限,然后自行选择在 Apigee 界面中授予访问权限。在 Google Cloud 资源层次结构中的资源层级上授予权限后,该资源下包含的资源将会继承这一权限。

如果在 Cloud 项目层级上向用户分配 Apigee 角色,则该用户可以通过这一角色访问该组织内的所有 Apigee 资源(包括所有环境)。在 Apigee 界面中,还可以向用户分配作用于特定环境的 Apigee 角色。此权限用于补充在项目层级设置的角色。

为了遵循最小权限原则,应在项目层级上为给定的用户指定最小权限,在环境层级上则授予扩展权限。

此图片展示了这种访问模型的权限继承原理:

显示 Google Cloud 和 Apigee 之间继承关系的继承流程图

Apigee 角色

下表汇总了各种预定义的 Apigee 角色

Apigee 角色 说明
Apigee Org Admin 对 Apigee 组织中的所有 Apigee 资源拥有完全访问权限。
Apigee Read Only Admin 对 Apigee 组织中的所有 Apigee 资源拥有只读权限。
Apigee Analytics Editor 创建和分析 Apigee 组织的 API 代理流量报告。可以修改查询和报告。
Apigee Analytics Viewer Apigee Analytics 的使用者。无法修改查询或报告。
Apigee API Admin 负责创建和测试 API 代理的开发者。
Apigee Environment Admin 在环境中部署和取消部署 API 代理。
Apigee Developer Admin 管理开发者对 API 的访问权限。

如需详细了解每个 Apigee 角色的 API 权限,请参阅 Apigee 角色指南

任务 5. 将“prod”环境添加到运行时实例

在此任务中,您会将“prod”环境添加到运行时实例,使部署到“prod”环境的代理能够开始运行。

将“prod”环境附加到实例

  1. 确认在 Cloud Shell 中运行的命令返回 ***ORG IS READY TO USE***
  2. 如需开始将“prod”环境附加到运行时这一过程,请运行以下命令:
export INSTANCE_NAME=eval-instance; curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -X POST "https://apigee.googleapis.com/v1/organizations/${GOOGLE_CLOUD_PROJECT}/instances/${INSTANCE_NAME}/attachments" -d '{ "environment": "prod" }' | jq

如果收到错误消息,请查看该消息的详细信息:

  • “NOT_FOUND”错误可能表明未成功创建“prod”环境。
  • 如果出现“FAILED_PRECONDITION”错误,并显示消息“the resource is locked by another operation”(资源被另一项操作锁定),表明“eval”环境尚未完全完成预配。

在成功开始将“prod”环境附加到运行时这一过程后,您应该会看到一条状态为“IN_PROGRESS”的返回消息,类似于以下内容:

{ "name": "organizations/qwiklabs-gcp-01-e12f9fd402f4/operations/c4e1a09f-05d2-4c46-95ed-559457507379", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/qwiklabs-gcp-01-e12f9fd402f4/instances/eval-instance/attachments/c2e04a79-15e6-4656-9d25-f618080b57fb", "state": "IN_PROGRESS" } }
  1. 使用以下命令检查 prod 环境的附加状态:
export ATTACHING_ENV=prod; export INSTANCE_NAME=eval-instance; echo "waiting for ${ATTACHING_ENV} attachment"; while : ; do export ATTACHMENT_DONE=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${GOOGLE_CLOUD_PROJECT}/instances/${INSTANCE_NAME}/attachments" | jq "select(.attachments != null) | .attachments[] | select(.environment == \"${ATTACHING_ENV}\") | .environment" --join-output); [[ "${ATTACHMENT_DONE}" != "${ATTACHING_ENV}" ]] || break; echo -n "."; sleep 5; done; echo; echo "***${ATTACHING_ENV} ENVIRONMENT ATTACHED***";

这一系列命令使用 Apigee API 来确定“prod”环境何时附加到实例,以及部署到“prod”环境的代理何时准备好接收流量。

当屏幕上输出文本 ***prod ENVIRONMENT ATTACHED*** 后,部署到“prod”环境的代理便可以开始接收流量。

让该命令继续运行,您可以接着处理下一个任务。

点击“检查我的进度”以验证是否完成了以下目标: 将“prod”环境附加到实例

任务 6. 创建 API 代理

在此任务中,您将创建一个 API 代理,该代理使用流变量来返回 API 调用的主机名和环境。

  1. 在 Cloud 控制台中前往 Apigee 界面
  2. 在左侧导航菜单中,依次选择代理开发 > API 代理
  3. 如需启动代理向导,请点击 + 创建
  4. 代理模板处,选择无目标
注意:请勿为 OpenAPI 规范模板选择“无目标”。
  1. 指定以下属性:

    属性
    代理名称 test-env
    基本路径 /test-env
  2. 点击下一步

  3. 其他设置保留默认值,然后点击创建

系统将生成您的 API 代理。您稍后将部署自己的代理。

  1. 点击开发标签页。

此标签页用于修改 API 代理。此时已选中代理端点“PreFlow”。

  1. 在导航菜单中,依次点击代理端点 > PreFlow

  2. 窗格中,点击响应部分中 PreFlow 旁边的 + 图标。 “流:PreFlow”页面,其中突出显示“代理端点 PreFlow”选项、“+ 步骤”按钮和代理 PreFlow 响应代码

您将向 PreFlow 响应添加一个政策步骤。政策用于实现一种特定、受限的管理功能。

  1. 选择创建新政策,然后点击中介部分中的分配消息,将名称显示名称指定为 AM-SetResponse,再点击添加

“添加步骤”页面,其中已填写“分配消息”和“显示名称”字段,并且“添加”按钮处于突出显示状态

  1. 政策部分中选择 AM-SetResponse。这会将新的 AssignMessage 政策附加到 API 代理。您应该会在“流”窗格下方看到 AssignMessage 代码:

显示 AssignMessage 代码的 AM-SetResponse 政策标签页

  1. 将 AssignMessage 代码替换为以下代码:
<AssignMessage continueOnError="false" enabled="true" name="AM-SetResponse"> <Set> <Payload contentType="application/json">{ "environment": "{environment.name}", "hostname": "{request.header.Host}" } </Payload> </Set> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="true" transport="http" type="response"/> </AssignMessage>

此政策会创建一个返回环境名称和主机名的响应。在代理流变量 environment.name 中,包含接收到流量的已部署代理的环境,而变量 request.header.Host 中则包含主机标头,该标头指示用于 API 调用的主机名。

  1. 点击保存

  2. 点击部署,然后在环境处选择 eval,再点击部署确认

这会将代理部署到“eval”环境中。

  1. 再次点击部署,然后在环境处选择 prod,再点击部署确认

“部署到 eval”下拉菜单,并突出显示“将修订版本 1 部署到 prod”选项

这会将代理部署到“prod”环境。

  1. 点击概览标签页。
  2. 等待两个部署完成。

在将代理部署到两个环境后,“概览”标签页的部署部分应如下所示:

“部署”部分,其中显示“eval”和“prod”两个环境的修订版本号均为 1,且状态均为“修订版本 1”

注意:如果几分钟后代理仍未部署到“prod”环境,可能表示“prod”环境尚未完成附加到运行时实例这一过程。您可以检查完成状态,为此请返回 Cloud Shell 并等待命令输出“***prod ENVIRONMENT ATTACHED***”。

点击“检查我的进度”以验证是否完成了以下目标: 创建 API 代理

任务 7. 测试“prod”环境和“eval”环境

在此任务中,您将对“text”环境和“prod”环境进行调用。

系统已自动创建一台名为 apigeex-test-vm 的虚拟机。请使用该虚拟机,通过专用 IP 地址调用 Apigee 运行时。

调用 Apigee 运行时

  1. 在 Cloud Shell 中运行以下命令,打开与虚拟机的 SSH 连接:
TEST_VM_ZONE=$(gcloud compute instances list --filter="name=('apigeex-test-vm')" --format "value(zone)") gcloud compute ssh apigeex-test-vm --zone=${TEST_VM_ZONE} --force-key-file-overwrite
  1. 对于出现的每个问题,按 Enter 键或 Return 键来指定默认输入。

您的登录身份是项目的所有者,因此可以通过 SSH 连接到此虚拟机。

您的 Cloud Shell 会话现在正在虚拟机内运行。

  1. 在虚拟机的 shell 中,设置所需的 shell 变量:
export PROJECT_NAME=$(gcloud config get-value project) export ORG=${PROJECT_NAME} export INSTANCE_NAME=eval-instance export INTERNAL_LB_IP=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${ORG}/instances/${INSTANCE_NAME}" | jq ".host" --raw-output) export EVAL_ENVGROUP_HOSTNAME=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${ORG}/envgroups/eval-group" | jq ".hostnames[0]" --raw-output) export PROD_ENVGROUP_HOSTNAME=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${ORG}/envgroups/prod-group" | jq ".hostnames[0]" --raw-output) echo "INTERNAL_LB_IP=${INTERNAL_LB_IP}" echo "EVAL_ENVGROUP_HOSTNAME=${EVAL_ENVGROUP_HOSTNAME}" echo "PROD_ENVGROUP_HOSTNAME=${PROD_ENVGROUP_HOSTNAME}"

PROD_ENVGROUP_HOSTNAME 是从您在上一个任务中创建的 prod-group 环境组中获取的。

  1. 调用 eval 环境中已部署的 test-env API 代理:
curl -i -k --resolve "${EVAL_ENVGROUP_HOSTNAME}:443:${INTERNAL_LB_IP}" \ "https://${EVAL_ENVGROUP_HOSTNAME}/test-env"

--resolve 设置会强制发送到环境组主机名的命令解析为内部负载均衡器的 IP 地址,而不是使用 DNS 来解析 IP 地址。-k 选项会跳过对内部负载均衡器 TLS 证书的验证,因为内部负载均衡器未托管与您使用的主机名相符的 TLS 证书。

您的 curl 命令应该会返回由 test-env 代理生成的响应,内容应如下所示:

HTTP/2 200 content-type: application/json content-length: 66 date: Tue, 10 Aug 2021 17:02:53 GMT server: apigee { "environment": "eval", "hostname": "eval.example.com" }
  1. 调用 prod 环境中已部署的 test-env API 代理:
curl -i -k --resolve "${PROD_ENVGROUP_HOSTNAME}:443:${INTERNAL_LB_IP}" \ "https://${PROD_ENVGROUP_HOSTNAME}/test-env"

这一次,环境和主机名应该都返回 prod,而不是 eval

恭喜!

在本实验中,您为组织创建了一个新环境和环境组,并将该环境附加到了运行时实例。然后,您创建并部署了一个 API 代理。最后,您使用 eval 和 prod 主机名调用了该代理,且该 API 代理能够检测出被调用的环境。

后续步骤/了解详情

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

上次更新手册的时间:2025 年 9 月 23 日

上次测试实验的时间:2025 年 9 月 23 日

版权所有 2026 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

Using an Incognito or private browser window is the best way to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.