なにかお手伝いできることがあればご連絡ください。
お問い合わせはこちらから
※Googleフォームが表示されます
ローカルのdocker-composeファイルを利用して、AWS上にEC2とコンテナを立ててみる為のメモです。
ECS-CLIをインストール。
$ brew install amazon-ecs-cli
AWS環境にアクセスする為のアクセスキーはecs-cli configureで設定する。
AWS Access Key IDとAWS Secret Access KeyはIAMの認証情報を利用する。
$aws configure
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]:
Default output format [None]:
設定を確認する。
$ aws configure list
ECSクラスタの作成。
$ ecs-cli configure --region ap-northeast-1 --cluster my-ecs-cluster
確認する。
$ cat ~/.ecs/config
version: v1
default: default
clusters:
default:
cluster: my-ecs-cluster
region: ap-northeast-1
default_launch_type: ""
ECSインスタンスコンテナを起動する。
$ ecs-cli up --keypair {EC2でのkeypair名} --capability-iam --size 2 --instance-type t2.micro
—keypairオプションに間違ってローカルのkeypairのパスを指定してしまった為に、以下のエラーが発生しました。
EC2上のkeypair名を指定します。
$ ecs-cli up --keypair /.ssh/keyPair.pem --capability-iam --size 2 --instance-type t2.micro
INFO[0002] Created cluster cluster=ecs-cli-test ap-northeast-1
INFO[0003] Waiting for your CloudFormation stack resources to be deleted...
INFO[0003] Cloudformation stack status stackStatus="DELETE_IN_PROGRESS"
INFO[0038] Waiting for your cluster resources to be created...
INFO[0038] Cloudformation stack status stackStatus="CREATE_IN_PROGRESS"
INFO[0101] Cloudformation stack status stackStatus="CREATE_IN_PROGRESS"
INFO[0164] Cloudformation stack status stackStatus="CREATE_IN_PROGRESS"
ERRO[0197] Failure event reason="The key pair 'my-key-pair' does not exist" resourceType="AWS::AutoScaling::LaunchConfiguration"
FATA[0197] Error executing 'up': Cloudformation failure waiting for 'CREATE_COMPLETE'. State is 'ROLLBACK_IN_PROGRESS'
エラーになって再度実行するときは --force
オプションをつけて上書きする。
$ ecs-cli up --keypair keyPair --capability-iam --size 2 --instance-type t2.micro --force
EC2にインスタンスが作成される。
docker-compose.ymlを作成。
wordpress:
image: wordpress
mem_limit: 268435456
ports:
- "80:80"
links:
- mysql
mysql:
image: mysql
mem_limit: 268435456
environment:
MYSQL_ROOT_PASSWORD: password
起動。
ecs-cli compose -f docker-compose.yml up
起動を確認。
$ ecs-cli ps
Name State Ports TaskDefinition Health
7eb2a903-3ee5-47ed-a539-f5b3863c04a7/wordpress RUNNING 54.199.113.4:80->80/tcp Desktop:6 UNKNOWN
7eb2a903-3ee5-47ed-a539-f5b3863c04a7/mysql RUNNING Desktop:6 UNKNOWN
コンテナが起動しなかった場合や、停止してしまった場合はservice up
で再起動してみる。
$ ecs-cli compose -f docker-compose.yml service up
サービスを削除。 作成されたEC2も削除される。
$ ecs-cli compose -f ./docker-compose.yml service rm
コンテナを表示。
$ ecs-cli ps
コンテナをすべて削除。
$ ecs-cli down --force
なにかお手伝いできることがあればご連絡ください。
※Googleフォームが表示されます