Alibaba Cloud
Cloud Platform
Alibaba Cloud(阿里云)
概要
Alibaba Cloud(阿里云)は、Alibaba Group(阿里巴巴集団)が提供するクラウドコンピューティングプラットフォームです。中国最大のクラウドプロバイダーであり、アジア太平洋地域でも主要なシェアを持ちます。特に中国国内市場での圧倒的な存在感と、AI・機械学習、ビッグデータ処理において革新的なサービスを提供しており、グローバル展開も加速しています。
詳細
Alibaba Cloudは2009年にサービスを開始し、現在では29リージョン87のアベイラビリティゾーンでグローバルにサービスを展開しています。ECS(Elastic Compute Service)、Object Storage Service、CDN、AI Platformなどを中核とし、特に中国でのEコマース、フィンテック、IoT分野で強力な実績を持ちます。2025年の主要な新機能として、Spring Launch 2025での大規模AI強化、Qwenモデルシリーズの拡張(QwQ-Plus推論モデル、QVQ-Max視覚推論モデル)、Platform for AI(PAI)の分散推論機能、AI Doc・Smart Studio等のSaaS AI製品群、3年間で530億ドルのAI・クラウドインフラ投資計画などが含まれます。
主要な特徴
- ECS(Elastic Compute Service): 高性能で柔軟性のある仮想クラウドサーバー
- AI・機械学習: Qwenモデルシリーズとwideな AI Platform による包括的なAIソリューション
- ビッグデータ処理: MaxCompute、DataWorksによる大規模データ分析プラットフォーム
- 中国市場への優位性: 中国国内での法規制対応と最適化されたネットワーク
- グローバル展開: アジア太平洋、欧州、北米での強力なプレゼンス
2025年最新機能
- Qwenモデル強化: QwQ-Plus推論モデル、QVQ-Max視覚推論モデル、Qwen2.5-Omni-7b
- Platform for AI(PAI)アップグレード: 分散推論機能、92%の並行性向上、91%のTPS改善
- SaaS AI製品: AI Doc(文書処理)、Smart Studio(コンテンツ作成)
- 大規模投資: 3年間で530億ドルのAI・クラウドインフラ投資
- グローバル拡張: 韓国第2データセンター(2025年6月末開設予定)
メリット・デメリット
メリット
- 中国市場でのナンバーワンのマーケットシェアと実績
- 中国の法規制(データ保護法、サイバーセキュリティ法)への完全対応
- Alibaba GroupのEコマース・フィンテック技術を活用した高度なソリューション
- アジア太平洋地域での優れたネットワーク接続性とレイテンシ
- AI・機械学習分野での革新的な技術とサービス群
- コストパフォーマンスに優れた価格設定
- 多言語サポート(中国語、英語、日本語等)
デメリット
- 中国企業という特性により、一部の国・地域での利用制限や懸念
- グローバル展開がAWS・Azure・GCPに比べて限定的
- 英語・日本語での技術文書やサポートが中国語に比べて不足
- 欧米市場での企業採用事例が他の主要クラウドより少ない
- 一部のサービスが中国国内限定で提供されている
- データ主権やコンプライアンス要件への対応が地域によって異なる
参考ページ
- Alibaba Cloud公式サイト
- Alibaba Cloud ドキュメント
- Alibaba Cloud 料金計算ツール
- Alibaba Cloud ECS(Elastic Compute Service)
- Alibaba Cloud 無料利用枠
- Alibaba Cloud 認定・トレーニング
書き方の例
基本セットアップとアカウント設定
# Alibaba Cloud CLI のインストール
wget https://aliyuncli.alicdn.com/aliyun-cli-linux-latest-amd64.tgz
tar -xzf aliyun-cli-linux-latest-amd64.tgz
sudo mv aliyun /usr/local/bin/
# CLI設定の初期化
aliyun configure set \
--profile default \
--mode AK \
--region cn-hangzhou \
--access-key-id <your-access-key-id> \
--access-key-secret <your-access-key-secret>
# 設定の確認
aliyun configure list
# 地域の一覧表示
aliyun ecs DescribeRegions
# リソースグループの確認
aliyun resourcemanager ListResourceGroups
# API呼び出しテスト
aliyun ecs DescribeInstances --PageSize 10
# CLIのヘルプ確認
aliyun ecs --help
コンピュートサービス(VM、コンテナ)
package main
import (
"context"
"fmt"
"log"
"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
)
func main() {
// Alibaba Cloud認証設定
provider := credentials.NewEnvironmentVariableCredentialsProvider()
cfg := oss.LoadDefaultConfig().
WithCredentialsProvider(provider).
WithRegion("cn-hangzhou")
// ECS インスタンス作成(CLI使用)
// aliyun ecs RunInstances \
// --ImageId ubuntu_20_04_x64_20G_alibase_20210420.vhd \
// --InstanceType ecs.t6-c1m2.large \
// --SecurityGroupId sg-xxxxxxxxx \
// --VSwitchId vsw-xxxxxxxxx \
// --InstanceName "my-ecs-instance" \
// --InternetMaxBandwidthOut 5
// Container Service for Kubernetes (ACK) クラスター作成
// aliyun cs CreateCluster \
// --name "my-k8s-cluster" \
// --cluster-type "ManagedKubernetes" \
// --region-id "cn-hangzhou" \
// --kubernetes-version "1.28.3-aliyun.1" \
// --runtime "containerd" \
// --vpcid "vpc-xxxxxxxxx" \
// --container-cidr "172.16.0.0/16" \
// --service-cidr "172.17.0.0/16" \
// --worker-instance-types "ecs.g6.xlarge" \
// --num-of-nodes 3
// Function Compute(サーバーレス)サービス作成
// aliyun fc CreateService \
// --serviceName "my-fc-service" \
// --description "My serverless service"
// Function作成
// aliyun fc CreateFunction \
// --serviceName "my-fc-service" \
// --functionName "hello-world" \
// --runtime "python3.9" \
// --handler "index.handler" \
// --code '{"zipFile":"UEsDBAoAAAAAABcAQllFLMHrVwAAAFcAAAAIAAAAaW5kZXgucHmwAgo="}' \
// --timeout 60 \
// --memorySize 128
}
ストレージとデータベースサービス
package main
import (
"context"
"fmt"
"log"
"bytes"
"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
)
func main() {
// Object Storage Service (OSS) 設定
provider := credentials.NewEnvironmentVariableCredentialsProvider()
cfg := oss.LoadDefaultConfig().
WithCredentialsProvider(provider).
WithRegion("cn-hangzhou")
client := oss.NewClient(cfg)
// バケットの作成
result, err := client.PutBucket(context.TODO(), &oss.PutBucketRequest{
Bucket: oss.Ptr("my-alibaba-bucket"),
Acl: oss.BucketACLPrivate,
CreateBucketConfiguration: &oss.CreateBucketConfiguration{
StorageClass: oss.StorageClassStandard,
},
})
if err != nil {
log.Fatalf("failed to create bucket: %v", err)
}
fmt.Printf("Bucket created: %v\n", result)
// オブジェクトのアップロード
putResult, err := client.PutObject(context.TODO(), &oss.PutObjectRequest{
Bucket: oss.Ptr("my-alibaba-bucket"),
Key: oss.Ptr("sample.txt"),
Body: bytes.NewReader([]byte("Hello, Alibaba Cloud!")),
})
if err != nil {
log.Fatalf("failed to upload object: %v", err)
}
fmt.Printf("Object uploaded: %v\n", oss.ToString(putResult.ETag))
// オブジェクトのダウンロード
getResult, err := client.GetObject(context.TODO(), &oss.GetObjectRequest{
Bucket: oss.Ptr("my-alibaba-bucket"),
Key: oss.Ptr("sample.txt"),
})
if err != nil {
log.Fatalf("failed to download object: %v", err)
}
defer getResult.Body.Close()
// ApsaraDB for RDS(MySQL)インスタンス作成(CLI使用)
// aliyun rds CreateDBInstance \
// --Engine "MySQL" \
// --EngineVersion "8.0" \
// --DBInstanceClass "mysql.n2.medium.1" \
// --DBInstanceStorage "20" \
// --DBInstanceStorageType "cloud_essd" \
// --PayType "Postpaid" \
// --SecurityIPList "0.0.0.0/0" \
// --DBInstanceDescription "My MySQL Database"
// AnalyticDB for PostgreSQL作成
// aliyun gpdb CreateDBInstance \
// --RegionId "cn-hangzhou" \
// --ZoneId "cn-hangzhou-i" \
// --Engine "gpdb" \
// --EngineVersion "6.0" \
// --DBInstanceClass "gpdb.group.segsdx2" \
// --DBInstanceGroupCount "2" \
// --DBInstanceDescription "My AnalyticDB for PostgreSQL"
}
ネットワークとセキュリティ
# VPC(Virtual Private Cloud)の作成
aliyun vpc CreateVpc \
--RegionId "cn-hangzhou" \
--CidrBlock "192.168.0.0/16" \
--VpcName "my-vpc" \
--Description "My VPC for development"
# VSwitch(サブネット)の作成
aliyun vpc CreateVSwitch \
--VpcId "vpc-xxxxxxxxx" \
--ZoneId "cn-hangzhou-i" \
--CidrBlock "192.168.1.0/24" \
--VSwitchName "my-vswitch"
# セキュリティグループの作成
aliyun ecs CreateSecurityGroup \
--RegionId "cn-hangzhou" \
--GroupName "my-security-group" \
--Description "My security group" \
--VpcId "vpc-xxxxxxxxx"
# セキュリティグループルールの追加(SSH)
aliyun ecs AuthorizeSecurityGroup \
--SecurityGroupId "sg-xxxxxxxxx" \
--RegionId "cn-hangzhou" \
--IpProtocol "tcp" \
--PortRange "22/22" \
--SourceCidrIp "0.0.0.0/0" \
--Policy "accept"
# セキュリティグループルールの追加(HTTP)
aliyun ecs AuthorizeSecurityGroup \
--SecurityGroupId "sg-xxxxxxxxx" \
--RegionId "cn-hangzhou" \
--IpProtocol "tcp" \
--PortRange "80/80" \
--SourceCidrIp "0.0.0.0/0" \
--Policy "accept"
# CDN(Content Delivery Network)ドメイン追加
aliyun cdn AddCdnDomain \
--DomainName "example.com" \
--CdnType "web" \
--Sources '[{"content":"origin.example.com","type":"domain","priority":"20","port":80,"weight":"10"}]'
# WAF(Web Application Firewall)インスタンス作成
aliyun waf-openapi CreateInstance \
--SubscriptionType "Subscription" \
--Period "1" \
--RenewalStatus "ManualRenewal" \
--RenewPeriod "1"
サーバーレスとFunctions
# Function Compute サービスの作成
aliyun fc CreateService \
--serviceName "my-serverless-app" \
--description "My serverless application" \
--role "acs:ram::123456789:role/AliyunFCDefaultRole"
# Python関数の作成
cat > index.py << 'EOF'
def handler(event, context):
import json
return {
'statusCode': 200,
'body': json.dumps({
'message': 'Hello from Alibaba Cloud Function Compute!',
'event': event
})
}
EOF
# 関数コードのzipファイル作成
zip function.zip index.py
# 関数のデプロイ
aliyun fc CreateFunction \
--serviceName "my-serverless-app" \
--functionName "hello-function" \
--runtime "python3.9" \
--handler "index.handler" \
--codeZipFile "function.zip" \
--timeout 60 \
--memorySize 128
# 関数のテスト実行
aliyun fc InvokeFunction \
--serviceName "my-serverless-app" \
--functionName "hello-function" \
--Payload '{"test": "data"}'
# APIゲートウェイとの統合
aliyun apigateway CreateApi \
--GroupId "xxxxxxxxx" \
--ApiName "my-api" \
--Visibility "PRIVATE" \
--RequestConfig '{"RequestProtocol":"HTTP","RequestHttpMethod":"GET","RequestPath":"/hello","BodyFormat":"FORM"}' \
--ServiceConfig '{"ServiceProtocol":"FunctionCompute","ServiceAddress":"my-serverless-app.hello-function","ServiceTimeout":"3000","ServicePath":"","ServiceHttpMethod":"GET","ContentTypeCatagory":"DEFAULT","ContentTypeValue":"application/x-www-form-urlencoded; charset=UTF-8"}' \
--ResultType "JSON"
モニタリングとDevOps統合
# CloudMonitor アラーム設定
aliyun cms PutContactGroup \
--ContactGroupName "dev-team" \
--Describe "Development team contact group" \
--Contacts.1.Name "admin"
# CPU使用率監視アラームルール作成
aliyun cms PutResourceMetricRule \
--RuleId "cpu-usage-alarm" \
--RuleName "High CPU Usage" \
--MetricName "CPUUtilization" \
--Namespace "acs_ecs_dashboard" \
--Resources '[{"instanceId":"i-xxxxxxxxx"}]' \
--Escalations.Critical.Statistics "Average" \
--Escalations.Critical.Threshold "80" \
--Escalations.Critical.ComparisonOperator "GreaterThanThreshold" \
--ContactGroups "dev-team"
# Log Service プロジェクト作成
aliyun log CreateProject \
--project "my-log-project" \
--description "My application logs"
# ログストア作成
aliyun log CreateLogstore \
--project "my-log-project" \
--logstore "app-logs" \
--ttl "30" \
--shardCount "1"
# CodePipeline(CI/CD)パイプライン作成
aliyun devops CreatePipeline \
--organizationId "xxxxxxxxx" \
--name "my-ci-cd-pipeline" \
--content '{
"sources": [{
"type": "codeup",
"name": "source",
"data": {
"uri": "https://codeup.aliyun.com/my-repo.git",
"branch": "main"
}
}],
"stages": [{
"name": "build",
"jobs": [{
"name": "build-job",
"type": "build",
"steps": [{
"step": "multi_lang_build@1",
"inputs": {
"run": ["npm install", "npm run build"]
}
}]
}]
}]
}'
# Container Registry(ACR)リポジトリ作成
aliyun cr CreateRepository \
--RegionId "cn-hangzhou" \
--RepoNamespace "my-namespace" \
--RepoName "my-app" \
--Summary "My application container repository" \
--RepoType "PRIVATE"
# AI Platform PAI(2025年新機能)でのモデルトレーニング
aliyun pai CreateTrainingJob \
--DisplayName "my-model-training" \
--AlgorithmSpec.TrainingImage "registry.cn-hangzhou.aliyuncs.com/pai-dlc/tensorflow:2.8.0-gpu-py38-cu111-ubuntu18.04" \
--RoleArn "acs:ram::123456789:role/AliyunPAIDefaultRole" \
--InputChannels.1.Name "training" \
--InputChannels.1.DataSource.Type "OSS" \
--InputChannels.1.DataSource.Location "oss://my-bucket/training-data/" \
--OutputChannels.1.Name "model" \
--OutputChannels.1.DataSource.Type "OSS" \
--OutputChannels.1.DataSource.Location "oss://my-bucket/model-output/"