ecs-cliの導入
brew install ecs-cli
~/.ecs/credentialsの内容
version: v1 default: default region: ap-northeast-1 ecs_profiles: default: aws_access_key_id: xxx aws_secret_access_key: xxx
ECSクラスタ作成
手元の ecs-params.yml を参照している
ecs-cli up \ --cluster foobar-cluster \ --vpc vpc-xxx \ --subnets subnet-xxx \ --launch-type FARGATE
sonarqubeサーバ作成
ecs-cli compose \ -f docker-compose.yml service up \ --launch-type FARGATE \ --cluster foobar-cluster
ecs-params.yml
version: 1 task_definition: ecs_network_mode: awsvpc task_execution_role: ecsTaskExecutionRole task_size: cpu_limit: 1024 mem_limit: 8GB services: sonarqube: essential: true run_params: network_configuration: awsvpc_configuration: subnets: - subnet-xxx security_groups: - sg-xxx
docker-compose.yml
version: '2' services: # postgresql postgresql-sonarqube: container_name: postgresql-sonarqube image: postgres:11.2-alpine volumes: - /var/lib/postgresql - /var/lib/postgresql/data ports: - 5432:5432 networks: - sonarqube-server-network environment: POSTGRES_USER: sonar POSTGRES_PASSWORD: sonar POSTGRES_INITDB_ARGS: "--encoding=UTF-8" # SonarQube Server sonarqube-server: container_name: sonarqube-server image: sonarqube:7.5-community volumes: - ./data/sonarqube/extensions/plugin:/opt/sonarqube/extensions/plugins ports: - "9000:9000" - "9092:9092" networks: - sonarqube-server-network environment: - SONARQUBE_JDBC_USERNAME=xxx - SONARQUBE_JDBC_PASSWORD=xxx - "SONARQUBE_JDBC_URL=jdbc:postgresql://127.0.0.1:5432/sonar" volumes: - /opt/sonarqube/conf - /opt/sonarqube/data - /opt/sonarqube/extensions - /opt/sonarqube/lib/bundled-plugins networks: sonarqube-server-network: