Alibaba Cloud

Cloud PlatformAliCloudECSObject StorageAI PlatformBig DataChina

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 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/"